Js pile funktioner. Introduktion til pilefunktioner i JavaScript ES6

Hej kære læsere af bloggen. I dag vil vi tale om, hvordan du kan indstille dimensionerne for indholdsområdet ved hjælp af højde og bredde, og hvordan du konfigurerer visningen af ​​dette indhold, hvis der er mere af det, end der er plads til i den plads, der er allokeret til det (css-overløbsregel med skjult , rul, auto).

Første afsnitstekst

Tekst af den anden

Fordi bredde og højde for disse afsnit er ikke angivet, så som standard beregner browseren selv dem ud fra sin egen forståelse af Auto-værdien. Som et resultat optager afsnit al den plads, de har til rådighed i bredden, og i højden svarer til højden af ​​indholdet i dem.

Lad os nu foretage den første ændring og hardkode bredden af ​​det første afsnit (bredde:50px):

Tekst af den første

Tekst af den anden

Generelt skete det forventede - den vandrette størrelse faldt til værdien angivet i bredde:50px, og højden af ​​afsnittet dannes stadig takket være højde:auto (standardværdien). Som et resultat blev det sådan, at det kunne indeholde hele teksten.

Men lad os nu begrænse højden af ​​beholderen ved hjælp af height:15px.

Som et resultat fik vi, at teksten ikke længere passer ind i vores lille afsnitsbeholder, og derfor løb den sikkert ind i naboens område. Det er netop det, det tjener til at kontrollere indholdets adfærd i sådanne situationer. overløbsregel.

Overløb betyder "overløb" eller med andre ord "indholdsoverløb". Den taler om, hvad der skal ske med indholdet, hvis det ikke passer inden for det område (container), der var tildelt det.

Overløb har flere gyldige værdier, men standarden er synlig (vis):

Dette er grunden til, at teksten i det øverste afsnit i vores sidste eksempel overlappede det nederste (overflow:visible blev brugt som standard - vis indhold, der ikke passer ind i beholderen). Vi kunne bruge den anden yderlighed - overløb:skjult. Så ville alt, der ikke passer inde i beholderen, ikke blive vist på websiden:

De to andre værdier af denne CSS-egenskab giver dig mulighed for at rulle indhold, der ikke passer ind i beholderen (vi har allerede observeret noget lignende, da vi studerede ). Så scroll viser lodrette og vandrette rullebjælker, selvom indholdet passer sikkert ind i dens udpegede beholder:

Men det ville være meget mere logisk at bruge værdien Auto for Overflow, hvis du skal lave rullepaneler. I dette tilfælde vil browseren selv beregne, hvornår de skal vises, og på hvilke akser.

For eksempel, hvis vi bruger overflow:auto, vil vi kun være i stand til at rulle langs aksen, hvor indholdet ikke passer inden for containerens grænser:

Tekst af den første

Tekst af den anden

For at opsummere kan vi sige, at Overflow tillader ganske fleksibelt konfigurere indholdsvisningsindstillinger i tilfælde af, at den klatrer ud af sin beholder. Du vil have mulighed for at vise det indhold, der er forladt (synligt), ikke vise det (klippe det af - skjult), eller gøre det obligatorisk at scrolle (scrolle) eller scrolle efter behov (auto).

Der er også varianter af at skrive denne regel relateret til CSS3, men som understøttes af alle browsere, hvilket betyder, at de kan bruges sikkert. Jeg taler om mulighederne for overløb-x og overløb-y, som giver dig mulighed for at indstille eller ikke indstille rulning på individuelle akser (x - vandret, y - lodret).

Hvis du for eksempel skal sikre dig, at horisontal rulning aldrig vises, og vertikal rulning kun vises, når det er nødvendigt (hvis indholdet ikke passer), så skal du for HTML-elementet angive overflow-x:hidden og overflow- y:auto . Det er det, problemet vil blive løst, fordi dette øretrick er understøttet af alle browsere.

Højde og bredde i procent - hvorfor har du brug for en doctype?

Lad os nu tale om, hvad bredden angivet i procent er beregnet ud fra. Husk, at jeg i begyndelsen af ​​artiklen lovede at fokusere vores opmærksomhed på dette. Nå, faktisk er CSS-breddereglen ingen undtagelse her, og ligesom polstring og margen beregnes den som en procentdel af indholdsbeholderens vandrette størrelse.

Situationen er noget mere forvirrende med højden af ​​indholdsområdet angivet i procent. Det ville være logisk at antage, at det samme gælder for containerens højde. Men her begynder vi at møde dualisme (to adfærdsmodeller) – som de gjorde før og som de gør nu i henhold til accepterede standarder. I denne forbindelse bør vi endnu en gang berøre emnet visningstilstande, som vi diskuterede tidligere.

Historisk set, efter vedtagelsen af ​​standarder, var der stadig et stort antal dokumenter genereret i henhold til de gamle regler for rent HTML-sprog, og noget skulle gøres med dem. Samtidig udviklede det sig også (et stilmarkeringssprog dukkede op, og nogle tags og attributter blev forældede), så det var nødvendigt på en eller anden måde at vise browseren med hvilke standarder den ville have brug for for at parse denne kode.

For at adskille nye dokumenter (som tog højde for alle nye standarder) og gamle (som ofte ikke tog højde for andet end ren HTML), foreslog Melkosoft at bruge en lille funktion fra XML-sproget, der lige var dukket op på det tidspunkt . Denne funktion var en servicefunktion og kaldes nu doctype-erklæringen.

Det kan se anderledes ud (læs mere om dette i artiklen nævnt lige ovenfor), men denne mulighed vil altid fungere:

Således modtog browseren en markør for, hvilke standarder den skulle bruge til at parse dokumentet. Hvis doctype-erklæringen er til stede, går den i standardtilstand. Hvis browseren ikke finder doctype på den første linje i dokumentets kode (eller den er skrevet forkert, hvilket er identisk med dets fravær), så går den til den såkaldte trick mode(quirks-tilstand).

Et dokument, der mangler en doctype, vil fremstå i browseren, som om det var meget gammelt (antik). Hvis du føjer en erklæring til det samme dokument, vil browseren kaste sin fortid og begynde at arbejde med dokumentkoden i henhold til alle aktuelt accepterede standarder.

Men begrebet antikken er meget anderledes. For eksempel, hvor gammel kan den nu populære Google Chrome-browser være, som først dukkede op i 2008? IE har selvfølgelig en ret rig historie. Derfor vil alle browsere af enhver version vise dokumentet uden en erklæring (i quirks-tilstand eller tricks) på samme måde som en gammel ville gøre, fordi dette er den version, der betragtes som den grundlæggende.

Hvorfor talte jeg så længe om browservisningstilstande? Men fordi for disse to tilstande er det meget forskelligt at angive højden (højden) af indholdsområdet i procent i forhold til beregningen af ​​netop denne højde.

Indstilling af højden (i procent) af området med indhold i standardtilstand (når den korrekte doctype er angivet i begyndelsen af ​​dokumentet) vil slet ikke være mulig, medmindre højden for den beholder, hvori dette indhold er indesluttet (specificeret af dig i procenthøjde vil blive ignoreret).

Tilfreds


Hvis vi fjerner doctype-erklæringen fra dokumentkoden, vil vi se følgende billede:

For tilstanden til at følge standarder (en erklæring er skrevet i begyndelsen af ​​dokumentet), skal du først indstille højden af ​​containeren (i vores tilfælde, for en Div, vil containeren være Body-tagget) og først derefter browseren vil håndtere højden korrekt:100%:

Tilfreds


Som følge heraf endte vi med to helt forskellige tilgange, når vi indstillede højden på indholdsområdet som en procentdel, så for at undgå problemer, anbefaler jeg dig bestemt at angiv den korrekte doctype-erklæring i begyndelsen af ​​alle dine dokumenter (websider). Der er et andet eksempel, hvor forskellen mellem metoden til at følge standarder og metoden for tricks vil være kolossal.

Hvis du indstiller højden og bredden for indholdsområdet for et hvilket som helst HTML-element, og også angiver udfyldnings- og kantbredden for dette tag, så kan alt i quirks-tilstand (uden en skriftlig erklæring) i forskellige browsere fortolkes på forskellige måder.

I den gamle IE 5.5 browser vil polstring og rammebredde tælle indad fra de angivne dimensioner gennem højde og bredde. Dem. den overordnede størrelse af elementet vil matche det, der er indstillet i disse CSS-egenskaber (dette er et ældre skema, der ikke længere bruges).

I andre moderne browsere vil polstring og kantbredde blive tilføjet til de størrelser, der er angivet i højde og bredde. Dem. i dette tilfælde (trick-tilstand uden doctype), vil de oprindeligt specificerede dimensioner af indholdsområdet blive udvidet med mængden af ​​intern polstring og kant.

Nå, hvis du skriver et direktiv i dokumentet, så kan disse problemer med tilgangens dobbelthed let undgås i absolut alle moderne og gamle browsere. I dette tilfælde, og i IE 5.5, vil udfyldnings- og kantbredden lægges op til indholdsområdets dimensioner, som krævet af moderne CSS-standarder. Derfor for at undgå brug altid doctype.

Held og lykke til dig! Vi ses snart på bloggens sider

Du kan være interesseret

Position (absolut, relativ og fast) - måder at placere HTML-elementer i CSS (regler til venstre, højre, top og bund)
Flyd og klar i CSS - bloklayoutværktøjer
Polstring, margin og kant - indstil intern og ekstern polstring i CSS, samt kanter til alle sider (top, bund, venstre, højre)
Positionering ved hjælp af Z-indeks og CSS-markørregel for at ændre musemarkøren
Hvad er CSS til, hvordan man forbinder cascading style sheets til et HTML-dokument og den grundlæggende syntaks for dette sprog
Tag-, klasse-, Id- og universelle vælgere, samt attributvælgere i moderne CSS
Prioriteter i Css og deres stigning på grund af Vigtigt, kombination og gruppering af vælgere, bruger- og forfatterstile Forskellig styling til interne og eksterne links via CSS
Dimensionsenheder (pixels, Em og Ex) og nedarvningsregler i CSS
Display (blok, ingen, inline) i CSS - indstil visningstypen for HTML-elementer på websiden

Kategori:. 2 kommentarer. Udgivet: 09/02/2012.

Hej, i dag vil vi se på et så vigtigt element på webstedet som en blok, og denne artikel er uløseligt forbundet med artiklen om blokdesign, hvor vi så på, hvordan du kan oprette både blokcontainere og indbyggede elementer til vores websted på siden. Efter at have studeret denne artikel er jeg sikker på, at vi vil blive meget klarere om, hvordan man arbejder med blokke, og dette vil være et meget vigtigt skridt hen imod at skabe vores egen hjemmeside.

Blokhøjde og -bredde i CSS.

Lad os nu se på de vigtigste funktioner, der hjælper os med at styre udseendet og placeringen af ​​webstedets blokke, og derefter skal vi omsætte al denne viden i praksis, og vi vil skabe en enkel ramme for webstedet.

Højden af ​​en blok i CSS indstilles ved hjælp af kommandoen højde: auto|<высота в единицах измерения>|arve og som du allerede har forstået, kan vi indstille højden på blokken ved hjælp af autokommandoen, vi giver kommandoen til browseren at den kan bestemme størrelsen på selve blokken og dermed vil blokken være af en sådan størrelse at passer til alle elementer og ikke mere.

Arv-kommandoen giver dig mulighed for at låne parametre fra et overordnet element, og disse værdier vil kun være synlige, hvis der er indstillet parametre for det overordnede element. Men oftest skal du indstille blokstørrelsen specifikt, bare angiv størrelsen i en af ​​de accepterede værdier (oftest er disse pixels).

Vi kan også indstille størrelsen i forhold til det overordnede element, og til dette skal vi bruge procenter. Lad os se, hvordan det ser ud i praksis.

Denne kommando fortæller browseren, at et bestemt element på siden skal indstilles til en størrelse på ti procent af størrelsen på den overordnede blok.

Bredden af ​​en blok i CSS indstilles ved hjælp af breddeparameteren: auto|<ширина>|inherit alle parametre er ens for både højden og bredden af ​​blokken, og jeg tror, ​​der er ingen grund til at gentage det igen. Jeg vil bare sige, at det ikke er nødvendigt specifikt at indstille både højden og bredden på blokken du kan indstille, for eksempel vil bredden og højden stige afhængigt af indholdet, hvilket er meget praktisk, hvis du ikke gør det; vide, hvilket indhold der vil være på en bestemt side.

Minimum og maksimal blokbredde.

For hver blok kan vi også indstille ikke specifikke parametre, men minimums- og maksimumsparametrene for enhver blok på webstedet. Takket være dette kan du udfylde blokke uden frygt for, at de går ud over browservinduet.

For at indstille dette er meget enkelt, vi skal indstille følgende parametre for at indstille minimum bredde og højde:

min bredde:<ширина>

min-højde:<высота>

Og for det maksimale er to parametre nødvendige:

max-bredde:<ширина>
max-højde:<высота>

Nu kan vi indstille både maksimal- og minimumstørrelsen for en blok eller for hele webstedet, og dette er vigtigt for et websted med et gummidesign, hvis det er fast, vil denne parameter ikke fungere.

Muligheder for flydende placering i css.

I alle de foregående eksempler, hvor vi har skabt beholdere, og elementer er placeret efter hinanden i rækkefølge, men dette er ikke nok for os til at skabe et design, vi har brug for evnen til at placere elementer efter vores skøn, og ejendommen vil hjælpe os med dette flyde i css og nu vil vi analysere anvendelsen af ​​denne egenskab i praksis.

Float-parameteren kan have flere værdier, og nu vil vi finde ud af, hvad disse parametre er:

flyde: venstre|højre|ingen|arve

Lad os nu se på hvert eksempel separat.

Float: left kommandoen betyder, at blokken skal justeres til venstre, og alle andre elementer vil flyde rundt om den til højre.

float:right er det nøjagtige modsatte af den forrige kommando, og derfor vil blokken blive justeret til højre, og alle elementer vil flyde rundt om den til venstre.

float: ingen er standardadfærden for hver blok, idet blokkene placeres efter hinanden. Brugen af ​​denne parameter er ikke relevant nu, og den bruges meget sjældent og ret simpelt ud fra analfabetisme.

Ryd parameter i css.

Meget ofte, når du opretter et design på blokke ved hjælp af float-kommandoen, skal du give nogle blokke en kommando, så de ikke flyder rundt i blokken, men opfører sig som normalt, idet de er placeret under alle de andre. Dette problem blev tidligere løst ved hjælp af float:none kommandoen til den ønskede blok, men visningen i hver browser kan være forskellig, og derfor er det i sådanne tilfælde meget mere rationelt at bruge clear-kommandoen, og nu vil vi se, hvordan dette kan gøres .

clear: venstre|højre|begge|ingen|arver

Kommandoen har fire parametre, og nu finder vi ud af præcis, hvilke funktioner den udfører med hver enkelt.

Clear: left-kommandoen betyder, at elementet er placeret under alle elementer med parameteren float: left.

Clear:right-kommandoen placerer en blok under alle elementer med float: right.

Clear:both parameteren placerer elementet under alle blokke med både float: left og float: right parametre.

klart: ingen er normal adfærd for en blok. Denne parameter bør ikke angives, hvis flydende beholdere er blevet placeret før.

Vi anvender al viden i praksis.

Så vi er nået til konklusionen på artiklen, hvor vi skal se, hvordan vi kan anvende alt dette i praksis, og det første, vi vil gøre, er at skabe en enkel ramme for webstedet. Sådan kommer vores stel til at se ud.

Som vi kan se, skal vi til wireframen oprette fire DIV-blokke, og på dem skal vi anvende både størrelsesparametre og placeringsparametre.

Vi har lavet fire blokke, og nu skal vi fylde dem med information og sætte baggrunden for hver blok, så vi kan se, hvilken blok der er placeret og hvor. Du kan finde ud af, hvordan du indstiller baggrunden. Og det er den slags kode, vi skal have.

Efter dette skal vi gå til stilfilen og skrive alle de kommandoer, vi har brug for. Kommandoerne er alle ens for alle blokke, kun hver enkelt har sine egne parametre.

Header (bredde: 500px; blokbredde
højde:100px; blokhøjde
baggrundsfarve:#33CCFF;) blokfarve

Indhold (bredde: 400px; blokbredde
højde:400px; blokhøjde
baggrundsfarve: #33FF33; blok farve
flyde: venstre;) blok position

Sidebjælke (bredde: 100px; blokbredde
højde:400px; blokhøjde
baggrundsfarve: #CCCCCC; blok farve
float:venstre;) blokstilling

Sidefod (bredde: 500px; blokbredde
højde:100px; blokhøjde
baggrundsfarve: #0000FF; blok farve
clear:both;) standard blok position

Og efter at vi har skrevet alle disse kommandoer, får vi sådan en ramme for webstedet.

Hej kære læsere! I dag vil vi se på, hvordan man indstiller størrelsen af ​​blokelementer på en webside ved hjælp af CSS-egenskaber og konfigurerer visningen af ​​indhold, hvis det ikke passer ind i elementet.

bredde og højde - bredde og højde af elementer i css

Ved at bruge width- og højdestilattributterne kan du indstille henholdsvis bredden og højden af ​​blokelementer:

bredde: auto|<ширина>|arve
højde: auto|<ширина>|arve

Som værdier kan du bruge alle måleenheder, der er tilgængelige i css - for eksempel pixels (px), inches (in), point (pt) osv.:

p (bredde:200px; højde:150px)

Ud over absolutte enheder kan du angive den relative størrelse af elementer som en procentdel. I dette tilfælde vil bredden og højden af ​​elementet afhænge af bredden og højden af ​​det overordnede element. Hvis forælderen ikke er eksplicit angivet, vil dimensionerne afhænge af browservinduet.

div (bredde:40%;)

Værdien auto overlader kontrollen over elementstørrelsen til webbrowseren og er standardværdien. I dette tilfælde vil elementets dimensioner være sådan, at det helt passer til alt dets indhold.

Lad os se på et par eksempler.





bredde og højde




Velkommen til vores automotive hjemmeside. Her finder du mange interessante og nyttige artikler om biler, deres tekniske egenskaber og funktioner.






Resultat:

I dette eksempel oprettede vi en div og indlejrede et afsnit p med tekst indeni. For div sætter vi strengt dimensionerne til 300 gange 300 pixels. p-elementet har egenskabsværdier for bredde og højde, der er lig med auto, så som du kan se på skærmbilledet, er dets bredde sat lig med bredden af ​​det overordnede element, og dets højde er sådan, at det passer til al teksten i paragraffen.

Lad os nu ændre css-indstillingerne for afsnit p og indstille faste dimensioner:

Lag 2 (
baggrund: #eee;
bredde:250px;
}

Resultat:

Som du kan se, er bredden af ​​afsnittet blevet smallere og lig med 250 pixels, og dets højde er øget, så teksten passer, da højdeparameteren forbliver lig med auto.

Lad os nu indstille højden og bredden af ​​afsnittet i procenter:

Lag 2 (
baggrund: #eee;
bredde:50%;
højde:50%;
}

Resultat:

Som du kan se på billedet, er bredden af ​​p-elementet blevet lig med halvdelen af ​​bredden af ​​div-elementet. Og højden steg og blev lig med 75 procent af div'ens højde.

Når du angiver bredden og højden af ​​elementer i relative enheder, skal du muligvis angive de mindste og maksimale mulige størrelser. Når alt kommer til alt, for eksempel, når du ændrer størrelse på browservinduet, kan dimensionerne af elementet falde og stige til en sådan størrelse, at webstedets læsbarhed bliver meget lav.

Du kan definere minimumsbredden og -højden ved at bruge attributterne min-width og min-heigh:

min bredde:<ширина>
min-højde:<высота>

Lignende stilattributter max-width og max-height giver dig mulighed for at indstille maksimale størrelser:

max-bredde:<ширина>
max-højde:<высота>

Det er klart, at når du indstiller de maksimale og minimale værdier for højde og bredde, må elementets dimensioner ikke blive større end maksimum og mindre end minimumsværdierne.

Det er værd at præcisere, at opgaven højde og bredde parametre giver kun mening for blok tags, da disse parametre for inline-elementer ikke behandles af browseren.

Det kan ske, at når du indstiller stive parametre for højden og bredden af ​​et element, kan indholdet, det indeholder, muligvis ikke passe ind i det begrænsede område.

Lad os for eksempel reducere størrelsen af ​​afsnit p fra eksemplerne diskuteret ovenfor til 100 pixels:

Lag 2 (
baggrund: #eee;
bredde:100px;
højde:100px;
}

Resultat:

Som du kan se, er teksten gået ud over afsnittets grænser, og det ser ikke særlig pænt ud. For at undgå sådanne situationer er der en CSS-regel - overløb.

Overløbsparameter til at skjule (skjult, synlig) eller rulning (scroll, auto) indhold

Indholdsoverløb kan forekomme, når både bredden og højden af ​​et element er begrænset. Lad os se på to afsnit:

Første afsnitstekst


Andet afsnitstekst

Resultat:

Da hverken bredden eller højden for afsnit er angivet, beregner browseren dem uafhængigt ud fra sin egen forståelse af værdien af ​​auto. Som følge heraf optog afsnittene al den tilgængelige plads i bredden og i højden i overensstemmelse med det indhold, de indeholdt.

Lad os nu begrænse bredden af ​​det første afsnit:

Første afsnitstekst


Andet afsnitstekst

Resultat:

Afsnittets bredde blev forventet reduceret, og højden blev indstillet til at rumme hele teksten.

Nå, lad os nu begrænse højden af ​​det første afsnit:

Første afsnitstekst


Andet afsnitstekst

Som et resultat viste det sig, at teksten ikke passede ind i et så begrænset afsnit, og derfor løb den ind i området for den nederste nabo. Det er derfor praktisk talt umuligt at læse teksten i hverken første eller andet afsnit. Det er at kontrollere indholdets adfærd i sådanne situationer, som der er overløbsregel:

overløb: synlig|skjult|scroll|auto|arv

Som standard er overløb sat til synlig, hvilket fortæller browseren at vise indhold, der ikke passer i containeren. Resultatet kan ses i eksemplet ovenfor.

Reglen skjuler alt, der ikke passer i beholderen:

Rulleværdien viser lodrette og vandrette rullebjælker på elementet, selvom alt indhold passer:

Første afsnitstekst


Andet afsnitstekst

Den mest populære og logiske løsning, hvis du skal lave rullepaneler til en container, er værdien auto. I dette tilfælde vil browseren selv bestemme, hvornår og på hvilke akser den skal vise rullepaneler:

Første afsnitstekst


Andet afsnitstekst

Resultat:

For at tilpasse rullebjælker kan du også bruge stilattributterne overflow-x og overflow-y, som giver dig mulighed for at tilpasse visningen af ​​rulning på individuelle akser. Således er ansvarlig for vandret akse, og for lodret akse.

Derfor, hvis du for eksempel har brug for vandret rulning for aldrig at blive vist i et afsnit, og lodret rulning kun vises, når det er nødvendigt, så skriv bare følgende css-regel:

p(overløb-x:skjult;overløb-y:auto;)

Og problemet vil blive løst.

Det er alt. Indtil næste gang. Glem ikke at abonnere på blogopdateringer, og jeg vil være taknemmelig, hvis du bruger knapperne på det sociale netværk.