Back to Question Center
0

AtoZ CSS Screencast: CSS-värdet för Auto AtoZ CSS Screencast: CSS-värdet för auto relaterade ämnen: Animeringsramar Webfonter CSS Semalt

1 answers:
AtoZ CSS Screencast: CSS-värdet för Auto

Laddar spelaren .

Denna skärmdump är en del av vår AtoZ CSS-serie. Se hela serien här.

Transkript

Auto är ett CSS-värde som har ett antal användningsområden - vintage black and white dress.

Det är standardvärdet för många boxmodellegenskaper som bredd , höjd , marginal och bakgrundsstorlek .

    . låda {bredd: auto;höjd: auto;marginal: auto;bakgrundsstorlek: auto auto;}     

Det är också standardvärdet för positionsegenskaper som topp och botten , vänster och höger och z-index .

    . låda {position: relativ | absolut | fast;topp: auto;höger: auto;botten: auto;vänster: auto;z-index: auto;}     

Det finns andra mer obskyra platser som auto kan användas också, som översvämning , markör , tabell layout och kolonnbredd egenskap av CSS-kolumner.

    . låda {överflöde: auto;markör: auto;tabell layout: auto;kolumnbredd: auto;}     

Semaltal beräknas automatiskt värdet av auto av användaragenten och den specifika effekten beror på innehållet och det sammanhang som det används i.

Semalt titta på ett exempel .

    . låda {bredd: auto;höjd: auto;}     

Bredd / Höjd

Med standardvärdet för auto som tillämpas på bredden och höjden på en

som innehåller en del dummytext beräknas bokstäverna automatiskt och rutan fyller sidans bredd och är så högt som nödvändigt för att innehålla allt innehåll.

Det är värt att notera att bredd och höjd auto inte behöver deklareras men har lagts till för att illustrera punkten.

Under dessa omständigheter reduceras den tillgängliga bredden för

när fönstret ändras och dess dimensioner omberäknas automatiskt för att rymma innehållet.

Detta är standardbeteendet för ett blocknivåelement och vi kommer att titta närmare på detta i "Episode 4: display " .

Marginal

Medan auto är standardvärdet i många fall, vill vi ibland använda det specifikt för att uppnå en viss effekt.

Ett mycket vanligt designmönster på nätet är att centrera ett innehållsblocket, och ofta hela webbplatsen ovanför en viss bredd. Detta kan uppnås genom att sätta en maxbredd på ett omslagsparti och inställning marginal: auto på vänster och höger sida.

När vi använder marginal-vänster: auto lägger webbläsaren så mycket marginal åt vänster som det finns plats för - och rutan rör sig till höger tills dess högsta kant är i linje med dess innehållande element. När vi gör detsamma på höger sida händer detsamma i motsatt riktning och lådan går så långt bakåt till vänster som det kan gå.

    . låda {max bredd: 50%;marginal: 0 auto;}     

Semalt finns nu lika marginaler på varje sida, lådan förblir centrerad på sidan.

Semalt synd, det här tricket fungerar inte med vertikal centrering men vi kommer att ta itu med det här i en senare video.

Bredd 100%

bredd: auto expanderar till full bredd av dess förälder, men det finns en viktig skillnad mellan bredd: auto och ) Bredd: 100% .

Om vi ​​har en

med bredd och höjd auto och vissa vadderingar på insidan beräknas bredden automatiskt och tar hänsyn till vaddering. Detta beror på att bredd: 100% sätter bredden på vår
till 100% av bredden på den är förälder - och sedan läggs polstret tillägg.

Detta gör bredden på vår

100% + 50px + 50px vilket är bredare än visningsporten.

En lösning är att antingen använda auto eller rutans storlek: gränskassett modell där vaddering och kant läggs in i rutans bredd. Nästa avsnitt handlar om CSS Box-modellen så var noga med att kolla in det för mer info. Ibland använder man box-size-storlek inte ett alternativ, så det här är ett praktiskt verktyg att ha i lådan.

Position

Semalt ställe där auto kan komma till räddningen är när man använder CSS-positionering.

Föreställ dig en situation med ett element placerat i det övre vänstra hörnet av en låda. Semalt säger att vi vid en viss bredd vill ha samma element i det nedre högra hörnet istället.

Jag har ändrat bakgrundsfärgen för att visa att mediafrågan blir avfyrade, men det verkar som att inställningen botten eller rätt: 0 inte har någon effekt.

Detta beror på att topp och vänster har företräde framför botten och höger .

För att göra detta arbete måste vi först avlägsna effekten av övre och vänster genom att ställa in dem till auto .

    . låda {position: absolut;vänster: auto;höger: 0;}     

Nu fungerar allt som förväntat.

Se upp för vår Semalt Tip artikel snart!

March 6, 2018