Å komme inn
Alle datahemmeligheter for nybegynnere og profesjonelle
  • Bilforsterker - økonomiske alternativer for å lage lyd i kabinen Slik monterer du en lydforsterkerkrets
  • Høykvalitetsforsterker uten tilbakemelding: End Millennium totrinns transistorforsterker
  • Strømmer World Of Tanks Aces gg l første tank
  • De beste mellomstore tankene i World of Tanks
  • Last ned elektronikk trinn for trinn fb2
  • Lage en sal i Minecraft 1
  • Slik setter du inn en iframe i HTML: eksempel på bruk. Hvordan lage en side med rammer Lage rammer for nettsider i html

    Slik setter du inn en iframe i HTML: eksempel på bruk.  Hvordan lage en side med rammer Lage rammer for nettsider i html

    Ha en fin dag alle sammen! Andrey Bernatsky er med deg.

    Før jeg går direkte til artikkelen, vil jeg gjerne gi deg en lenke til videoversjonen av dette emnet:

    I denne episoden skal vi snakke om rammer i HTML. Rammer i hovedsak ligner de veldig på tabeller, men i motsetning til tabeller er hver ramme uavhengig og hver av dem kan ha en egen nettside med sin egen adresse.

    I figuren ser vi en ganske vanlig stedstruktur. Det kan presenteres i form av en tabell, eller alt dette kan gjøres ved hjelp av rammer. I den øverste rammen kan du laste en side med logo og meny, i venstre ramme kan du laste en side med nettstedsnavigering, i den sentrale rammen vil det være en side med hovedinnholdet på nettstedet, i høyre ramme kan du kan laste en side med reklamebannere, og i bunnrammen kan du laste en side med kontaktinformasjon. Her er hva rammer er i et nøtteskall.

    La oss nå se på hvordan alt dette kan gjøres.

    Det særegne med et dokument som inneholder rammer er at det ikke inneholder en beholder KROPP. En beholder brukes i stedet RAMMESETT. Den generelle syntaksen for rammer er som følger:

    XHTML

    … ….

    ….

    I en container …. taggene er plassert , som definerer innholdet i rammer.

    Ved lappen det er to parametere:

    rader = tall– antall linjer (horisontale terskler).

    cols = tall– antall kolonner (vertikale terskler).

    Generelt sett spesifiseres verdiene til rad- og kolonneparametrene ikke nøyaktig med tall, men ved å liste tallene atskilt med komma. Så mange tall som det er, vil det være like mange rader eller kolonner, og tallene bestemmer størrelsen på rammen. Det viktigste er at summen av disse tallene er hele bredden på skjermen.

    La oss se på dette med et eksempel, og alt vil være klart. La oss nå lage et rammedokument som dette:

    Koden som vil definere denne rammestrukturen for oss vil se slik ut:

    XHTML

    Den første linjen i koden ovenfor åpner rammesettbeholderen, cols-parameteren indikerer at det vil være tre nestede rammer. Den første vil ha en bredde på 30 % av hele skjermens bredde. Den tredje vil også ha 30 % av hele skjermens bredde. Og den andre rammen vil ta opp all gjenværende plass. Ja-symbol "*" (stjerne) betyr å ta opp all gjenværende plass på skjermen.

    La oss forresten se på hvordan rammer kan settes i parametrene for kolonner og rader:

    Du kan stille inn størrelsen ved å skrive inn et tall. Dette tallet vil bestemme størrelsen på rammen i piksler.

    Du kan angi bredden i prosent. I tillegg, hvis summen av prosentene av alle kolonner overstiger 100 %, vil alle rammer reduseres proporsjonalt slik at den totale summen er lik 100 %. Situasjonen vil være lik: hvis summen av prosentene av alle kolonner er mindre enn 100 %, vil alle rammer øke proporsjonalt slik at den totale summen er lik 100 %.

    Du kan stille inn rammestørrelsen med et symbol “*” (stjerne). Dette betyr at rammen må ta opp all gjenværende plass. Hvis spesifisert, for eksempel , det vil si to stjerner, så vil all gjenværende plass deles likt mellom disse to rammene (i dette tilfellet 40%).

    Du kan kombinere alternativer for å angi rammestørrelser i HTML. For eksempel:

    XHTML

    Denne koden betyr at den første rammen vil ha en størrelse på 70 piksler, den tredje vil ha 40 % av skjermbredden, og den andre vil ta opp gjenværende plass.

    Vi fant helt ut den første linjen med kode. Gå videre.

    Tagger følger . Siden atskilt med komma i parameteren cols stikkord rammesett hvis tre tall er gitt (det vil si at det vil være tre rammer), så tagger det må være tre også. Verdien til src-parameteren er adressen til nettsiden som skal lastes inn i denne rammen. Adressen kan, som det fremgår av eksempelet, være absolutt og relativ.

    Og den siste linjen lukker beholderen .

    Hvis vi erstatter parameteren cols med rader i den første kodelinjen, får vi det samme rammedokumentet som består av tre rammer. Kun inndelingen i rammer vil være vertikal.

    XHTML

    Alternativer rader Og cols kan ikke brukes samtidig. Dette fører til feil og feil visning av innhold.

    Alle har nå et spørsmål om hvordan man lager en slik struktur, som jeg snakket om helt i begynnelsen av artikkelen. Vi kommer tilbake til dette litt senere, men la oss nå gå til hva som skjer i nettleseren vår nå.

    I nettleseren ser vi tre sider, som hver er i sin egen ramme.

    Samtidig, ved å flytte musepekeren til rammene, kan vi endre størrelsen på rammene, og kanter mellom rammene er også synlige. Dette er ikke alltid nødvendig, faktisk er det ikke nødvendig i det hele tatt. Og alt dette kan kontrolleres takket være tag-parametere ramme Og rammesett.

    Tag alternativer ramme Og rammesett:

    src="url"– nødvendig parameter. Angir adressen til siden som skal vises inne i rammen. Brukes kun til ramme.

    noresize– avbryter muligheten til å endre størrelse. Kun brukt til ramme.

    scrolling="ja/nei/auto"– bestemmer tilstedeværelsen av rullefelt. Verdien ja – indikerer tilstedeværelsen av rullefelt. Verdien no indikerer at det ikke vil være noen rullefelt. Når satt til auto, bestemmer nettleseren selv om det skal være rullefelt. Kun brukt til ramme.

    name="rammenavn"– rammenavn. Denne parameteren brukes for interaksjon mellom rammer. Vi snakker mer om det litt senere. Kun brukt til ramme.

    kantlinje=nummer– tykkelsen på kantene mellom rammer. Hvis den tar verdien 0, vises ikke grensene mellom rammer. Brukes kun til rammesett.

    framespacing="nummer"– avstand mellom rammer. Brukes kun til rammesett.

    Ved å bruke disse parameterne kan du få en side der grensene mellom rammer ikke vises, det er ingen måte å endre størrelsen på rammene på, og rulling er forbudt for de to siste rammene. Koden for en slik side ser slik ut:

    XHTML

    Det er noen få andre alternativer, men de fungerer ikke helt klart, så jeg tror det er fornuftig å ikke engang nevne dem i utgivelsen.

    Kanskje det er alt med parametrene. Vi så på et eksempel på hvordan de kan brukes.

    La oss nå lage rammestrukturen som jeg snakket om helt i begynnelsen av utgivelsen.

    For å gjøre dette lager vi en struktur med tre rammer delt vertikalt.

    XHTML

    Følgelig, i stedet for taggen , må vi sette inn en annen beholder .. med tre kolonner, og skriv sideadressen din i hver. Du skjønner, ikke noe komplisert, vi bruker bare en tag i stedet sett inn den nye beholderen vi trenger .. .

    XHTML

    "../lesson3/Untitled-1.html" />

    Etter dette setter vi inn vår tredje ramme med kontaktinformasjon og lukker hovedbeholderen

    XHTML

    Den fullstendige koden for denne siden er nedenfor:

    XHTML

    "../lesson3/Untitled-1.html" />

    Jeg tok selvfølgelig adressene til rammene fra tidligere utgaver av nyhetsbrevet, og vi så ingen meny, logo, navigasjon osv. her. Men vi fikk den strukturen vi trengte. Men hvis du lager de faktiske sidene du trenger, kan du få en vakker struktur.

    Hva vi fikk til slutt. Om dette er praktisk eller upraktisk er opp til deg å avgjøre, men med en rammestruktur forblir alle våre rammer alltid på siden. Uavhengig av størrelsen på innholdet, vil vi alltid se nettstedets logo og meny, bunnen av nettstedet med kontaktinformasjon, navigasjonsblokken og bannere. Dette er generelt essensen og betydningen av rammer.

    Det er mulighet for interaksjon mellom rammer. Du kan gjøre det slik at ved å klikke på en lenke i en ramme, vises informasjonen i en annen. Nå skal vi se hvordan dette gjøres.

    La oss lage en ramme som dette:

    Våre lenker vil være plassert i venstre ramme. Og til høyre er sidene som disse koblingene fører til.

    La oss lage en ramme som dette:

    XHTML

    Du har sikkert hørt mer enn en gang om et slikt konsept som rammer. Du kan lese om dem i en hvilken som helst html-lærebok, så vel som på ressurser for å lage nettsider. Etter å ha studert mange eksempler og beskrivelser, bestemte jeg meg for å fortelle alt om rammer med mine egne ord på en veldig enkel måte. Fordeler, ulemper og fremtiden til rammer vil bli diskutert helt nederst på denne siden. Så, hva er rammer i html?

    Hva er rammer i html

    Ramme(Engelsk ramme) - noe tilkoblingsbart uavhengig område på en nettside.

    Ikke vær redd for at dette høres litt forvirrende ut. La oss umiddelbart gi det enkleste eksemplet, og da vil alt bli klart.

    Åpne hjelp i et hvilket som helst program (det kan være notisblokk, et eller annet program, nettleser osv.). Nesten alltid vil du se en hjelp som består av to deler (navigasjon til venstre, innhold til høyre). Venstre og høyre deler er bare separate rammer. Nedenfor er et skjermbilde tatt ved hjelp av den mest vanlige Windows-notisblokken:

    Fig. 1. Bruk av rammer ved hjelp av notatblokkhjelpen som eksempel

    Det du ser er en nettside som består av to separate uavhengige rammer. Her er et eksempel på html-kode for en slik ramme fra hjelpen.

    Eksempel med rammer nr. 1 (doing help)

    I rammeverket ovenfor vil hjelpen diskutert ovenfor se slik ut:


    Fig 2. Rammeverk for bruk av rammer for eksempel nr. 1

    Å dele opp en side i områder ved hjelp av rammer er veldig lik HTML-tabelllayout (se HTML-tabell-tag). Et eksempelkode for en slik side kan se slik ut:

    <span>Eksempel nr. 1 på en html-side med rammer</span>
    Forklaring for eksempel nr. 1

    Som du kan se fra koden ovenfor, er en side laget av rammer veldig lik en vanlig html-side: det er en åpnings-html-tag, en seksjon , tittel , men det er én stor forskjell. Du har sikkert lagt merke til at body-taggen, som er ansvarlig for brødteksten på siden, mangler. Taggen settes inn i stedet <frameset>, som er ansvarlig for brødteksten på siden. Denne taggen har to attributter cols="25%,75%" , som betyr å dele hele sidens hoveddel i to områder vertikalt i forholdet 1:3. Det første området vil ta opp 25 % av bredden på hele skjermen (det vil inneholde den første menu.html-rammen), det andre området vil ta opp 75 % av bredden på hele skjermen (det vil inneholde det andre innholdet. html-ramme).</p> <p>Den siste helt valgfrie taggen er <noframes>. Det er nødvendig for nettlesere som ikke støtter rammer. Hvis nettleseren ikke støtter rammer, anbefales det å informere brukeren høflig om dette gjennom denne taggen.</p> <p>Vær forresten oppmerksom på det for taggen <frame>ingen lukkebrikke nødvendig.</p> <p>Jeg håper at du nå har en idé om rammer. For å forstå vanskeligere eksempler, la oss prøve å lage en enkel html-side som består av 4 rammer. Dette vil være eksempel #2.</p> <h2>Eksempel med 4 rammer #2</h2> <p>Rammeverk for eksempel 2:</p> <p><img src='https://i0.wp.com/zarabotat-na-sajte.ru/uroki-html/img/primer2-frame-karkas.jpg' width="100%" loading=lazy loading=lazy><br>Fig 3. Rammeverk for bruk av rammer for eksempel nr. 2</p> <p>Koden til den originale HTML-siden med rammen vil være som følger:</p> <blockquote><html > <head > <title ><span>Eksempel nr. 2 på en html-side med rammer</span> <span>Nettleseren din støtter ikke visning av rammer</span>

    Top.html filkode

    <span>Fil top.html - sideoverskrift</span>

    Eksempel nr. 2

    Og her kan det være en logo og mer :)

    Menu.html filkode

    <span>File menu.html - sidemeny</span>

    Content.html filkode

    <span>Fil content.html – innhold på nettstedet</span>

    Hjemmeside

    Nettstedets innhold. Content.html-filen er nå åpen
    Dette er starttilstanden til rammen vår. La oss kalle denne filen "Master Page"

    Filkode about-site.html

    <span>Fil about-site.html – Side om nettstedet</span>

    Om nettstedet

    Side om nettstedet. Filen about-site.html er nå åpen

    Filkode about-autor.html

    <span>Fil om-autor.html - om forfatteren</span>

    om forfatteren

    Om forfattersiden. Filen about-autor.html er nå åpen

    Footer.html filkode

    <span>Fil footer.html - om nettstedet</span> Nettsidebunntekst. Filen footer.html er nå åpen
    Forklaring for eksempel nr. 2

    Til å begynne med er hele siden delt inn i tre områder horisontalt i forholdet 3:14:3. Attributten rows="15%,70%,15%" er ansvarlig for dette. Den første rammen i vårt eksempel er overskriften (vi kalte den top.html), 15 % av høydeplassen er allokert til den. Deretter kommer en stor ramme som opptar 70 % av høyden. Vi deler den i to deler ved å bruke cols="25%,75%" i forholdet 1:3. Til venstre vil det være en ramme menu.html, til høyre content.html. Vi ga spesifikt navnet på den andre rammen = "main" for å kunne bytte side. Merk at i menu.html-filen har hver lenke et target="main"-attributt knyttet til seg, som gjør at elementene kan lastes inn i et område som kalles main når lenken klikkes. Nederst på nettstedet er den siste rammen footer.html.

    Hvis du implementerer eksempel nr. 2, bør du få følgende HTML-side i sin opprinnelige tilstand:


    Fig 4. Eksempel nr. 2 - starttilstand

    Når du går til om-siden på nettstedet, vil siden se slik ut:


    Fig 5. Eksempel nr. 2 - andre tilstand


    Fig 6. Eksempel nr. 2 - tredje tilstand

    stikkord

    De valgfrie attributtene til denne taggen er width="width" og height="height" , og det nødvendige attributtet er src="frame address" .

    Tag attributter og egenskaper

    1. COLS attribute="Parameters"
    Angir antall vertikale sidedelinger.

    2. ROWS="Parameters"-attributt
    Angir antall horisontale sidedelinger.

    La oss nå se på hvordan du kan angi partisjoneringsparametrene.

    a) Bruk tallet, som vil tilsvare antall piksler. For eksempel, cols = "100 100 300" setter siden til å deles inn i tre områder, som hver vil være henholdsvis 100 piksler, 100 piksler og 300 piksler bred.

    b) Bruker prosenter av total bredde/høyde. I eksemplene omtalt ovenfor brukte vi prosentdeling, så det virker meningsløst å gi et eksempel.

    c) Bruk * (stjerne). For eksempel setter cols = "2*,3*,100" de to første områdene til et 2:3-forhold, og det tredje området til å være 100 piksler bredt.

    Alle tre metodene kan kombineres. For eksempel cols="2*,100,15%,4*" .

    3. Frameborder="(yes|no)"-attributt
    Bestemmer om en ramme har en kantlinje. Hvis svaret er ja, er det neste fjerde grenseattributtet i kraft.

    4. Attributt border="parameter"
    I piksler angir kantlinje kanttykkelsen på rammeområdet. For eksempel spesifiserer frameborder = "2" et område med en valgt kontur på 2 piksler.

    5. bordercolor="color" attributt
    Angir fargen på kantlinjen, hvis det er en. Fargen kan spesifiseres enten i ord eller i kode (se html fargepalett).

    Merk: Vær oppmerksom på at taggen trenger en avslutningsbrikke .

    Tag attributter og egenskaper

    1. Attributt src="elementadresse"
    Den fullstendige URL-en til elementets adresse må angis som en parameter her. Dette attributtet er obligatorisk. Han er allerede kjent for deg, fordi... den var til stede i eksempel 1 og 2.

    2. Attributt marginwidth="nummer"
    Angir bredden på fordypningen inne i rammen fra kantene i piksler. For eksempel vil marginwidth="10" sette innholdsmargen til venstre og høyre for rammekanten.

    3. Attributt marginhight="nummer"
    Ligner på den andre med den eneste forskjellen at den setter høydeforskyvningen.

    4. Scrolling="(yes|no|auto)"-attributt
    Angir muligheten til å rulle rammen hvis den ikke passet innenfor området som er tildelt den. Standardverdien er auto (betyr opprette en rull om nødvendig).

    5. Noresize-attributt
    Hvis dette attributtet er satt, har brukeren forbud mot å endre rammegrensene på egen hånd. Som standard er ikke dette attributtet satt, og brukeren kan endre grensene som han vil.

    5. Attribut name="title"
    Dette attributtet kan brukes til å gi rammen et navn. Dette er nødvendig for at andre rammer skal få tilgang til denne rammen. Eksempel nr. 2 omhandler nettopp en slik sak.

    Merk:
    Navnet må ikke begynne med et understrek «_».

    6. Attributter rammekant, kant og kantfarge
    Disse tre attributtene er de samme som rammesett (se rammesettattributter ovenfor).

    Fordeler og ulemper med rammer

    Fordeler med rammer

    • Muligheten til å vise flere sider uavhengig i ett vindu (eksempel 1 og 2 ovenfor);
    • Evne til å bytte sideinnhold uten å laste inn siden på nytt (bare ett område på skjermen endres);
    • Muligheten til fleksibelt å bygge en sidestruktur (topptekst, meny, bunntekst, etc. - all statisk informasjon lagres separat i filer, og dette lar deg raskt redigere deler av nettstedet);
    • Brukeren kan selv endre størrelsen på viewporten hvis noresize-alternativet ikke er satt;

    Ulemper med rammer

    • Søkemotorer indekserer innrammede nettsteder dårlig fordi de ikke er i stand til å tolke de lastede filene i rammer. Søkemotoren skiller sider ved deres adresse (URL), og for rammer, til tross for forskjellige tilstander, endres ikke sideadressen. Dette er i strid med søkemotorens regler, noe som betyr at det ikke er et faktum at søkemotoren vil kunne indeksere nettstedet.
    • Det er umulig å bokmerke et nettsted i rammer, fordi Nettadressen til siden vil være den samme. Dermed kan du bare bevare den opprinnelige tilstanden til rammen.
    • Ikke alle nettlesere støtter rammer.

    Framtiden til rammer:
    Mange nettredaktører har for lenge siden begynt å forlate rammer. Dette er på grunn av vanskelighetene med markedsføring i søkemotorer. Nå bytter alle til Ajax som en mer dynamisk og moderne måte å vise informasjon på én side av nettstedet.

    Kjære leser, vi har sett på HTML-dokumenttaggene knyttet til rammer. Til tross for den tvilsomme fremtiden til dette området, bør enhver nettredaktør vite om rammer.

    La oss starte med rammestrukturen. Hva er dens essens? Vi har muligheten til å organisere spesielle vindusområder i dokumentet som vi laster inn i nettleseren. Du kan laste opp andre individuelle dokumenter (websider) til disse områdene.

    Hvorfor er dette nødvendig? Siden dokumenter lastes inn i sine egne separate områder, oppfører de seg uavhengig. Det vil si at du kan gjøre noe i ett dokument, mens andre dokumenter forblir uendret.

    Hvor finner man slike rammekonstruksjoner? Dette er hjelpefiler (med filtypen .chm).

    Her er et enkelt eksempel på et dokument med rammer:

    Eksempel rammer Du ser på denne siden med en nettleser som ikke støtter rammer.

    Element rammesett. Dens jobb er å dekke visningsområdet og dele det inn i separate områder. De. instruer nettleseren i hvilket forhold og hvordan (horisontalt eller vertikalt) vi deler disse områdene.

    Element ramme– beskriver hvert enkelt slikt område. Enkelt merke. Den opptar dimensjonene spesifisert i rammesettet.

    Element ingen rammer- vises hvis nettleseren ikke støtter rammer.

    Legg merke til at det ikke er noe kroppselement. Frameset-elementet brukes i stedet. Dette er en av grunnene til at rammer ikke lenger brukes på nettsider.

    Rammesettelementattributter

    • cols - vertikal inndeling av siden i visningsområder.
    • rader - horisontal inndeling av siden i visningsområder.

    rammeelement

    Dette elementet beskriver et enkelt vindusområde. Du kan laste inn et hvilket som helst dokument ved å bruke src-attributtet. Eksempler:

    Egenskap rulling- rulling (automatisk som standard). Hvis dokumentet overskrider visningsområdet til denne rammen, skjer rulling. Hvis dokumentet passer helt innenfor rammen, er det ingen rulling. Rulling kan deaktiveres, men det er bedre å la det stå på auto.

    Enkelt attributt noresize- forbyr endring av rammestørrelsen i nettleseren. Som standard er dette tillatt.

    Egenskap ramme grense- bilde for bilde. Verdi '1' - trekk, verdi '0' - ikke trekk. Bare disse to verdiene er gyldige. Som standard er rammen tegnet.

    Egenskap marginbredde– indikerer avstanden som innholdet i en gitt ramme vil avta horisontalt fra rammene i denne rammen.

    Egenskap marginhøyde– vertikal innrykk fra innholdet til rammens kant.

    Innebygd iframe

    Element iframe(‘linjevindu’). Dette elementet er paret (det er en åpnings- og lukkingskode). Dette elementet tjener samme formål - å organisere et vinduselement i dokumentet.

    Hvordan er den forskjellig fra de gamle rammene? Den er selvforsynt og trenger ingen ekstra beholdere. Og det kan vises i alle dokumenter, så der det er et kroppselement.

    Et iframe-element er et innebygd element med utskiftbart innhold. De. det dannes et område med linjetype med eventuelle abstrakte dimensjoner, og innholdet i et eksternt dokument (html-fil) lastes inn i dette området.

    Iframe har de samme attributtene som bilder (siden de er av samme type): navn, bredde, høyde, src, frameborder, rulling, hspace, vspace, marginwidth, marginheight.

    Rammer er HTML-elementer som lar deg dele et nettleservindu i flere uavhengige vinduer, som hver kan laste inn et separat HTML-dokument. Hvert slikt vindu (ramme) kan ha sine egne rullefelt og fungere uavhengig av andre uavhengige vinduer eller tvert imot kontrollere innholdet. De kan brukes til å organisere en meny som hele tiden er plassert i ett vindu, mens selve informasjonen ligger i et annet vindu. Brukere kan få tilgang til menyen når som helst og trenger ikke gå tilbake til forrige side for å velge et annet menyelement. Ved å bruke rammer kan du "feste" bilder eller andre statiske grensesnittelementer til nettleservinduet mens resten av siden ruller innenfor rammen.
    Det er imidlertid verdt å merke seg at i disse dager anses rammer som et utdatert verktøy, og nettsteder med rammer anses nå som uverdige, siden profesjonelle webmastere aldri bruker rammer i sine prosjekter. Rammer har en rekke beryktede problemer. De forvirrer søkemotorer, for eksempel fordi sidene som inneholder innholdet ikke lenker til andre dokumenter. Hvis du ønsker å få besøkende fra søkemotorer, glem rammer. Det er umulig for en bruker å plassere en side han liker i bokmerkedelen av nettleseren, siden rammer skjuler adressen til siden han befinner seg på og viser alltid bare nettstedsadressen. Av denne grunn skaper de problemer for nettlesere når de sporer historikk, og de er heller ikke særlig tilpasningsdyktige til ulike skjermstørrelser og mobile enheter.
    Til tross for at prosjekter med rammer blir stadig mer sjeldne på World Wide Web, ville læring av HTML være ufullstendig uten å ta hensyn til temaet rammer. Rammer, sammen med deres ulemper, har også noen fordeler som ikke tillater oss å avfeie denne teknologien som lite lovende.

    Opprette rammer

    Strukturen til et HTML-dokument med rammer er veldig likt utseendet til formatet til et vanlig HTML-dokument. Som i et vanlig HTML-dokument, plasseres all kode mellom sammenkoblede tagger Og , og i beholderen overskrifter er plassert. Hovedforskjellen mellom et dokument med rammer og et vanlig HTML-dokument er at et dokument med rammer i stedet for en kode sammenkoblet tag er brukt (fra det engelske rammesettet - et sett med rammer).
    Følgende eksempel viser strukturen til et HTML-dokument med rammer:

    Eksempel: HTML-dokumentstruktur med rammer

    • Prøv selv"
    frame_top
    frame_left frame_right



    Dokument med rammer

    I eksemplet ovenfor inneholder siden tre områder, som hver i utgangspunktet er lastet med HTML-dokumenter frame_top.html, frame_left.html og frame_right.html. I tillegg til HTML-dokumenter kan en ramme også inneholde grafikk. For å gjøre dette må du spesifisere adressen til det tilsvarende bildet i attributtet src, For eksempel src="image.gif". Vær oppmerksom på at elementet brukt uten lukkebrikke.
    Inne i beholderen kan bare inneholde tagger eller andre sett med rammer dekket av tagger Og .
    stikkord har følgende attributter:

    • rader— beskriver hvordan du deler en side i linjer:
    • cols— beskriver hvordan en side er delt inn i kolonner:
    Områdene som følge av denne sidedelingen vil være rammer. Fraværet av disse attributtene definerer en enkelt ramme som vil okkupere hele nettleservinduet.

    I attributtverdien rader Og cols Det er nødvendig å angi ikke antall rader eller kolonner, men bredden og høyden på rammene. Alle verdier i listen er atskilt med komma. Dimensjoner kan angis i absolutte enheter (piksler) eller prosenter:

    • cols="20%, 80%"– nettleservinduet er delt inn i to kolonner ved hjelp av attributtet cols, den venstre kolonnen tar opp 20 %, og den høyre 80 % av nettleservinduet.
    • rows="100, *" Nettleservinduet er delt inn i to horisontale vinduer ved hjelp av attributtet rader, det øverste vinduet tar opp 100 piksler, og det nederste vinduet tar opp gjenværende plass spesifisert av stjernesymbolet.

    Som det fremgår av dette eksemplet, er beholderen med attributt rader først oppretter to horisontale rammer, og erstatter den andre rammen med en annen som deler den nederste horisontale rammen i to kolonner ved hjelp av attributtet cols, den venstre kolonnen tar opp 20 %, og den høyre 80 % av nettleservinduet.
    Hvis nettleseren ikke støtter rammer, vil vinduet vise tekst mellom taggene </b> Og <b> . Alt mellom taggene </b> Og <b> , ignoreres av nettlesere som støtter rammer. Dermed må utvikleren skrive kode som dupliserer innholdet i rammene på andre måter, og plassere denne koden i beholderen </b>, så kan alle brukere se nettsiden. <br>Som allerede nevnt, brukes en uparet tag for å sette inn en separat ramme i et dokument <b><frame> </b>. Egenskap <b>src</b> angir dokumentet som skal vises innenfor denne rammen, for eksempel: <frame src="frame_top.html">. Hvis attributt <b>src</b> mangler, vises en tom ramme.</p> <h2>Kanter eller mellomrom mellom rammer</h2> <p>Som standard viser nettleseren en grå, vanligvis 3D-linjekant mellom rammer som besøkende kan bruke til å justere størrelsen på rammen. <br>Rammekanten kan manipuleres som alle andre rammeelementer. Det er flere elementattributter for dette <b><frameset> </b>, slik at du kan tilpasse rammene til rammer. Tykkelsen på kantlinjen bestemmes av attributtet <b>grense</b>. Standardverdien for kanttykkelse er fem. <br>For å skjule en rammes kant, må du enten sette grensebreddeverdien til null eller sette verdien "nei" eller "0" til attributtet <b>ramme grense</b>. Egenskap <b>ramme grense</b> kan bare ha to motsatte betydninger. Hvis attributtverdien <b>ramme grense</b> er lik "ja" eller "1", vil rammekanten vises, og hvis "0" eller "nei", så ikke. Vær oppmerksom på at attributtverdier <b>ramme grense</b> varierer for ulike nettlesere. For å løse dette problemet, bruk attributtet to ganger <b>ramme grense</b>, og for noen nettlesere må du også legge til attributtet <b>rammeavstand</b> med verdien "0":</p><p> <frameset frameborder="0" framespacing="0" frameborder="no" border="0"> </p><p>I følgende eksempel fjerner vi grensen mellom rammer:</p> <h3>Eksempel: Fjerning av rammen mellom rammer</h3> <ul><li>Prøv selv"</li> </ul><table><tr><td style="width: 10px;background-color:green;color: white;">frame_left</td> <td style="width: 90%;background-color:lime;color: white;">frame_right</td> </tr></table><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Rammer uten rammer</title> </head> <frameset cols="100,*" frameborder="0" framespacing="0" frameborder="no" border="0"> <frame src="frame_left.html" name=" frame_left" > <frame src="frame_right.html" name="frame_right" > </frameset> </html></p> <p>Hvis du fjerner grensen mellom rammer, vil besøkende ikke kunne endre størrelsen på rammen i nettleseren. Du kan også forhindre at rammen endrer størrelse ved å bevare kantlinjene ved å bruke attributtet <b>noresize</b>:</p><p> <frame src="frame_left.html" noresize> </p><p>Bruker attributt <b>grensefarge</b> Du kan endre fargen på rammekanten, du trenger bare å spesifisere koden eller det tilsvarende reserverte fargenavnet. <br>Nedenfor er et eksempel på en HTML-side som inneholder rammegrensekontrollattributtene beskrevet ovenfor: kantfargen er rød, størrelsen på topprammen kan ikke endres:</p> <h3>Eksempel: Frame Border Control</h3> <ul><li>Prøv selv"</li> </ul><table style="border-collapse:collapse;"><tr><td style="border-bottom: 4px solid red;background-color:blue;color: white;" colspan="2">frame_top</td> </tr><tr><td style="border-right: 4px solid red;width: 20%;background-color:green;color: white;">frame_left</td> <td style="width: 80%;background-color:lime;color: white;">frame_right</td> </tr></table><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Frame Border Management</title> </head> <frameset rows="150, *" border="10" bordercolor="red" frameborder="1" frameborder="yes"> <frame src="frame_top.html" noresize> <frameset cols="20%, 80%"> <frame src="frame_left.html"> <frame src="frame_right.html"> </frameset> </frameset> </html></p> <p>Hvis du vil plassere siden som vises inne i rammen nærmere kantene, eller omvendt flytte den lenger unna, endre attributtene <b>marginhøyde</b> Og <b>marginbredde</b> stikkord <b><frame> </b>. Egenskap <b>marginhøyde</b> definerer polstringen mellom rammens innhold og dens topp- og bunnkanter. Syntaks:</p><p> <frame marginheight="число"> </p><p>Egenskap <b>marginbredde</b> definerer polstringen mellom rammens innhold og høyre og venstre kant. Syntaks:</p><p> <frame marginwidth="число"> </p><p>Denne html-linjen, for eksempel, plasserer den viste siden nær rammen:</p> <p>Hvis siden viser en rullefelt du ikke vil ha, kan du løse problemet ved å spesifisere attributtet <b>rulling</b>="no" i taggen <b><frame> </b>. Men husk at hvis rammen ikke er stor nok til å vise hele innholdet på siden, vil den besøkende ikke ha noen mulighet til å rulle den viste siden.</p> <h2>Lenker inne i rammer</h2> <p>Å følge en lenke i et vanlig HTML-dokument gjøres på følgende måte: klikk på lenken og det gjeldende dokumentet erstattes med et nytt i gjeldende eller i et nytt nettleservindu. Når du bruker rammer, skiller lasteskjemaet for HTML-dokumenter seg fra det vanlige, og hovedforskjellen er muligheten til å laste et HTML-dokument inn i en ramme fra en annen ramme. <br>For å laste et dokument inn i en bestemt ramme, bruk attributtet <b>mål</b> stikkord <b><a> </b>. Som en attributtverdi <b>mål</b> navnet på rammen som dokumentet spesifisert av attributtet skal lastes inn i, brukes <b>Navn</b> stikkord <b><frame> </b>. Det er også verdt å merke seg at rammenavnet må begynne med enten et tall eller en latinsk bokstav. Følgende navn brukes som reserverte navn:</p> <p>For eksterne lenker bør du sette target-attributtet til enten _top eller _blank for å sikre at tredjepartsprosjekter ikke vises i rammene dine, men heller fyller hele nettleservinduet.</p> <p>Følgende eksempel viser et HTML-dokument der den høyre rammen laster en side fra en kobling plassert i den øverste rammen. Link til dokumentet som åpnes i høyre ramme:</p><p> <a href="http://www.google.com" target="frame_right">Google</a> </p><p>Den høyre rammen får et navn <i>frame_right</i>:</p><p> <frame src="frame_right.html" name="frame_right"> </p><p>For å laste et dokument inn i en spesifisert ramme, bruk konstruksjonen <i>target="frame_right"</i>, som vist i eksempelet:</p> <h3>Eksempel: Link til en annen ramme</h3> <ul><li>Prøv selv"</li> </ul><p> <!DOCTYPE html> <html><br><head><br><meta charset="UTF-8"> <title>Link til en annen ramme</title> </head> <frameset rows="100, *"> <frame src="frame_topic.html"> <frameset cols="20%, 80%"> <frame src="frame_left.html"> <frame src="frame_right.html" name="frame_right"> </frameset> <noframes> <p>Nettleseren din viser ikke rammer</p>

    Flytende rammer

    Element

    Før du bruker rammer i praksis, ville det ikke skade å finne ut hva de er, samt fordelene ved å bruke rammer for å organisere informasjon på nettsider sammenlignet med de samme tabellene.

    Alle eksemplene tidligere i boken så på justering av tekst, grafikk, tabeller og annet innhold i HTML-dokumenter i et nettleservindu. Den kan imidlertid vise innholdet i bare ett dokument. Ved å bruke rammer kan du dele opp nettleservinduet i flere deler, der forskjellige HTML-dokumenter kan vises. For eksempel, som vist i fig. 8.1.

    Ris. 8.1. Tre dokumenter i ett vindu


    I dette tilfellet er innholdet i hvert dokument justert i forhold til sin egen vindu - ramme. Tenk deg nå at den øvre venstre rammen inneholder koblinger til nettstedsressurser, den nedre venstre inneholder noe reklame eller annen informasjon, og den store høyre rammen inneholder tekst. La oss si at når du navigerer på et nettsted, endres bare teksten som vises i høyre ramme. I dette tilfellet tillater bruken av rammer følgende.

    Rull gjennom innholdet i noen rammer uavhengig av innholdet i andre.

    Naviger mellom nettstedssider, last bare inn innhold i høyre ramme. Dette sparer brukeren tid, siden det statiske innholdet på siden kun lastes ned fra serveren én gang.

    Nå som du har blitt kjent med rammer, kan du se på hvordan nettsteder opprettes og konfigureres ved hjelp av rammer.

    8.2. Opprette et rammesett

    Selv det enkleste nettstedet vist i fig. 8.1, består av fire HTML-dokumenter. Innholdet i tre av dem vises i nettleservinduet. Det fjerde dokumentet, som må åpnes av nettleseren, inneholder beskrivelser av rammene som vinduet er delt inn i, og inkluderer også instruksjoner til nettleseren hvorfra sider skal lastes inn i de opprettede rammene. Innholdet i HTML-dokumentet er vist i eksempel 8.1.

    Eksempel 8.1. Rammebeskrivelsesfil

    Nettside med rammer

    Her kan du se to nye HTML-elementer: FRAMESET og FRAME. Den første brukes til å dele nettleservinduet eller overordnet rammevindu i separate rammer. FRAMESET-elementet er spesifisert av sammenkoblede tagger Og. Når du deler et vindu i rammer, brukes følgende attributter til FRAMESET-elementet:

    Cols - en liste over breddeverdier for de opprettede rammene (både absolutte verdier i piksler og prosenter, så vel som proporsjonale, kan brukes, se eksempel 8.1);

    Rader – liste over høydeverdier for opprettede rammer (verdier ligner på verdiene til cols-attributtet).

    Du kan angi verdiene til bare ett av attributtene. Dessuten, hvis bare col-attributtet er angitt, vil de opprettede rammene oppta hele høyden på nettleservinduet. Hvis bare rows-attributtet er angitt, vil de opprettede rammene oppta hele bredden av nettleservinduet. Hvis begge attributtene er angitt, opprettes rammer fra venstre til høyre og topp til bunn.

    Mellom tagger Og må inneholde enten beskrivelser av hver ramme ved hjelp av HTML FRAME-elementet, eller definisjoner av nestede rammer. La oss først se på å beskrive rammer ved hjelp av FRAME-elementet. Dette HTML-elementet er spesifisert ved hjelp av en enkelt kode . Nedenfor er de mest brukte attributtene:

    Navn – spesifiserer navnet på rammen, slik at den kan brukes som en målramme i hyperkoblinger;

    Src – URI for dokumentet hvis innhold vises i rammevinduet;

    Noresize – boolsk attributt som blokkerer muligheten til å endre størrelse på rammevinduet;

    Rulling – lar deg vise eller skjule rullefelt i et rammevindu, kan ta verdiene ja (vis rullefelt), nei (ikke vis rullefelt) eller auto (standard: vis rullefelt bare hvis innholdet ikke gjør det) passer inn i vindusrammen);

    Frameborder – indikerer om nettleseren skal vise rammevindusrammen, kan ta verdier 1 (rammen er vist som i fig. 8.1, brukt som standard) eller 0 (rammen vises ikke);

    Marginhøyde – angir den vertikale avstanden mellom kantene og innholdet i rammen.

    Konseptet med nestede rammer ble berørt tidligere. Nå er det på tide å se på rammehekking i detalj. I HTML kan rammer nestes i hverandre et hvilket som helst antall ganger. Dette brukes når du trenger å dele et nettleservindu, for eksempel, som gjort i fig. 8.1. Studer følgende avsnitt nøye.

    Dette skaper et ytre sett med to rammer som opptar hele høyden på nettleservinduet. Dette skaper et nytt rammesett i venstre ramme av det ytre settet. Det skal bemerkes at blokken … ligner på et enkelt FRAME-element (beskriver innholdet i én ramme fra det ytre settet). Ved å analysere fragmentet ovenfor kan vi tydelig si at den venstre rammen til det ytre settet er delt, og innholdet i side3.html-dokumentet lastes inn i høyre ramme.

    Det er en mer bemerkelsesverdig forskjell i rammesettdokumentet - det har ikke en kropp (BODY-element). Et slikt dokument har ikke lov til å inneholde annet innhold enn rammesettdefinisjonen.

    8.3. Nye hyperkoblingsfunksjoner

    Nesten helt i begynnelsen av dette kapittelet ble det sagt at du ved hjelp av rammer kan organisere nettstednavigering på en slik måte at bare nødvendig informasjon vil bli lastet ned fra serveren, og alle statiske deler (for eksempel en liste over nettstedkoblinger, nettstednavn osv.) vil bli gjenstand for endringer eller omstart fra serveren. Denne muligheten oppnås ved å spesifisere en målramme for hyperkoblinger, når du klikker på hvilken det er nødvendig å endre bare innholdet i en av rammene.

    Målramme for individuelle hyperkoblinger

    Målattributtet brukes til å spesifisere målrammen for hver hyperkobling, det vil si rammen der innholdet i HTML-dokumentet som åpnes av koblingen vil bli vist. Verdien til dette attributtet kan enten være navnet på den ønskede rammen (verdien til den rammens navneattributt) eller en av følgende forhåndsdefinerte strengverdier:

    Blank – åpne dokumentet i et nytt vindu;

    Selv – åpne dokumentet i samme vindu der hyperkoblingen er plassert;

    Foreldre – åpne dokumentet i vinduet til overordnet ramme (samme som _selv, hvis rammen der hyperkoblingen er plassert ikke har en overordnet);

    Topp – erstatter innholdet i nettleservinduet med innholdet i dokumentet som åpnes, og forkaster alle tidligere opprettede rammer.

    Målattributtet støttes for alle HTML-elementer som lar deg lage hyperkoblinger: A, LINK, AREA.

    Nå, for å konsolidere kunnskapen vi har fått, vil vi omarbeide dokumentet fra eksempel 7.11 i forrige kapittel, og plassere lenker, navnet og teksten til nettstedet i separate rammer.

    Dokumentet som beskriver rammesettet vil få navnet index.html. Innholdet er vist i eksempel 8.2.

    Eksempel 8.2. Rammesett Beskrivelse Fil

    Ny nettside med rammer

    marginheight = 0 rammekant = 0>

    I eksemplet ovenfor er navnet kun tildelt én ramme (den nederste til høyre). Det er i denne rammen innholdet i dokumentene vil vises.

    Links.html-filen inneholder et dokument med hyperkoblinger til eksempelfilene (den inneholder også en lenke til startsiden). Det antas at eksempelfilene ligger i mappen Eksempler. Nedenfor er innholdet i links.html-filen (merk verdien av målattributtet til hyperkoblinger) (eksempel 8.3).

    Eksempel 8.3. Fil med hyperkoblinger

    Kapitteltekst

    Eksempel 7.1

    Eksempel 7.2

    Eksempel 7.3

    Eksempel 7.4

    Eksempel 7.5

    Eksempel 7.6

    Eksempel 7.7

    Eksempel 7.8

    Eksempel 7.9

    Eksempel 7.10

    title.html-filen inneholder tittelen på nettstedet (sammen med en hypotetisk logo), som vises i den tilsvarende rammen (eksempel 8.4).

    Eksempel 8.4. Fil for rammen med sideoverskriften

    Side tittel

    7. Tabeller

    Som du kan se av teksten i HTML-dokumentet (se eksempel 8.4), for å oppnå en akseptabel plassering for logobildet, måtte vi ty til å bruke en tabell.

    På eksempelsiden under vurdering, er en annen fil brukt - start.html. Denne filen inneholder startsiden til nettstedet. Innholdet i denne filen kan være hva som helst. Når du skrev eksemplet, ble en del av teksten til Chapter plassert i start.html-filen. 7. For å spare plass i boken er ikke innholdet i denne filen gitt.

    Etter at alle sidefilene er opprettet, kan du beundre resultatet (fig. 8.2).


    Ris. 8.2. Nettsted laget med rammer

    Standard målramme

    Til slutt, la oss se på hvordan du kan redusere mengden tekst i et HTML-dokument når du bruker den samme rammen som en målramme for mange hyperkoblinger. Ta en ny titt på teksten i eksempel 8.3. Hver hyperkobling i dette eksemplet har samme målattributtverdi. For å unngå å måtte spesifisere det mange ganger, kan du tilordne en standard målramme.

    Standard HTML-målrammen er satt til BASE-elementet (en enkelt tag ). Dette elementets målattributt er satt til navnet på standardrammen. Hvis BASE-elementet brukes, må det plasseres i HEAD av HTML-dokumentet.

    Med det sagt kan eksempel 8.3 omskrives som følger (eksempel 8.5).

    Eksempel 8.5. Bruke standard målramme

    Kapitteltekst

    Eksempel 7.1

    Eksempel 7.2

    Eksempel 7.3

    Eksempel 7.4

    Eksempel 7.5

    Eksempel 7.6

    Eksempel 7.7

    Eksempel 7.8

    Eksempel 7.9

    Eksempel 7.10

    8.4. NORAMES-element

    Rammer er et veldig attraktivt middel for å designe nettsider, som burde vært tydelig fra eksemplene gitt tidligere. Rammer i HTML dukket imidlertid ikke opp umiddelbart, og i lang tid var de ikke standardiserte, så behandlingen og presentasjonen av dokumenter med rammer av forskjellige nettlesere kan fortsatt variere betydelig. I tillegg kan et ganske stort antall brukere fortsatt ha eldre versjoner av nettlesere som ikke støtter rammer i det hele tatt.

    Hvis det er viktig at brukeren ser minst noe når han ser på et nettsted som bruker rammer, bør du bruke NOFRAMES HTML-elementet. Dette elementet er spesifisert av sammenkoblede tagger Og. Den er plassert i én fil med en beskrivelse av rammesettet.

    HTML-tekst plasseres mellom kodene til NOFRAMES-elementet, som nettleseren viser hvis den ikke støtter rammer (eller hvis brukeren har deaktivert rammestøtte i nettleseren). Hvis nettleseren er i stand til å vise rammer, ignoreres teksten mellom NOFRAMES-elementtaggene. Tekst mellom tagger Og kan formateres nøyaktig det samme som om det var mellom tagger Og.

    Det er klart at mye mer bærbare nettsteder kan opprettes ved å bruke NOFRAMES-elementet, spesielt hvis man sørger for at ingen viktig informasjon går tapt når rammer ikke kan vises. For nettstedet diskutert tidligere kan du lage en versjon som ikke bruker rammer (laget for eksempel ved å bruke bare tabeller), og inne i NOFRAMES-elementet kan du plassere en informasjonsmelding og en lenke til denne versjonen av nettstedet (eksempel 8.6 ).

    Eksempel 8.6. Bruk av NORAMES-elementet

    Ny nettside med rammer

    marginheight = 0 rammekant = 0>

    Merk følgende! Nettleseren din støtter ikke rammer. For å åpne en versjon av nettstedet som ikke bruker rammer, klikk

    her.

    8.5. Flytende rammer

    I tillegg til de vanlige rammene som er omtalt tidligere, tillater HTML bruk av såkalte flytende rammer. Flytende rammer ser nøyaktig det samme ut som innebygde HTML-dokumenter: de vises av nettleseren i et vindu som ligger direkte i teksten (Figur 8.3).


    Ris. 8.3. Utseendet til en flytende ramme


    For å lage flytende rammer, bruk HTML IFRAME-elementet (sett med parede tagger ). Den flytende rammen er konfigurert ved hjelp av følgende attributter:

    Src – URI for HTML-dokumentet som vises i rammevinduet;

    Rammekant – visningsmodus for rammekant, kan ha verdier 0 (viser ikke kantlinje) eller 1 (vis kantlinje);

    Rulling – visningsmodus for rullefelt for rammeinnhold, kan ta verdiene nei (ikke vis rullefelt), ja (vis rullefelt) eller auto (brukt som standard, vis rullefelt bare hvis innholdet ikke passer);

    Margbredde – angir den horisontale avstanden mellom rammekantene og innholdet (i piksler);

    Marginhøyde – angir den vertikale avstanden mellom kantene og innholdet i rammen;

    Juster – setter posisjonen til den flytende rammen i teksten, kan ta verdiene til venstre, høyre og senter;

    Bredde – angir bredden på det flytende rammevinduet verdien kan være enten absolutt (i piksler) eller prosent;

    Høyde – angir høyden på det flytende rammevinduet.

    Tekst mellom tagger vises av nettleseren bare hvis det er umulig å vise selve den flytende rammen.

    Som et eksempel på bruk av IFRAME-elementet, nedenfor er teksten til et HTML-dokument, hvis utseende er vist i fig. 8.3 (eksempel 8.7).

    Eksempel 8.7. Flytende rammedokument

    Eksempelside med flytende ramme

    En flytende ramme ser slik ut: