Az elem magassága és szélessége számított értékek. A weboldal minden eleme egy téglalap alakú területet alkot, amely több területből áll − tartalmi (tartalmi) területek, párnázó területek, keret területeÉs terepterületek elem.
Az elem tartalma és határa között van behúzások padding , az elem határán kívül - mezőketárrés . Minden elemnek van tartalmi területe, a többi terület nem kötelező.
Rizs. 1. Az elem blokkmodelljeA height tulajdonság beállítja a blokk elem tartalmának magasságát, és nincs hatással a soron belüli elemek megjelenítésére: inline; . A soron belüli elemek magassága megegyezik tartalmuk magasságával. Negatív értékek nem megengedettek. Az ingatlan nem öröklődik.
Szintaxis
P (magasság: 100 képpont;)
A width tulajdonság beállítja a blokk elem tartalmának szélességét, és nincs hatással a soron belüli elemek megjelenítésére: inline; . A soron belüli elemek szélessége megegyezik tartalmuk szélességével. Negatív értékek nem megengedettek. Az ingatlan nem öröklődik.
Szintaxis
P (szélesség: 100 képpont;)
Abszolút pozicionált elempozíció szélességének és magasságának beállítása: abszolút; nem mindig szükséges, mert ez az eset a magasságot és a szélességet implicit módon az elem eltolása határozza meg. Ha az elemnek van szegélye és margója , akkor a megfelelő mértékben csökkentik a tartalomterületet.
Div ( háttér: #6A7690; pozíció: abszolút; felül: 0; lent: 0; bal: 50%; jobb: 0; ) /*ebben az esetben az elem magassága 100%, szélessége a szülőblokk 50%-a*/
Rizs. 2. Egy abszolút pozicionált elem magassága és szélessége
A padding tulajdonság segítségével egy elem több oldalára is beállíthat egyidejűleg kitöltést, a következő sorrendben: . Ha az elemnek van háttere, akkor a kitöltésre is kiterjed. Negatív értékek nem megengedettek. Az ingatlan nem öröklődik.
Ha három értéket adunk meg, például div (kitöltés: 10px 20px 30px;) , akkor ezek a következő sorrendben kerülnek elosztásra: az első érték a felső kitöltés, a második a jobb és a bal kitöltés, a harmadik az alsó párnázás.
Ha két értéket adunk meg, például div (padding: 10px 20px;) , akkor az első a felső és az alsó, a második a jobb és bal oldalt állítja be.
Egy érték, például a div (padding: 10px;) , ugyanazt a kitöltést állítja be az elem minden oldalára.
Szintaxis
P (kitöltés: 5px 10px 15px 10px;)
Ha egy elemnek csak az egyik oldalán szeretne kitölteni, akkor a padding-top , a padding-right , a padding-bottom , a padding-left tulajdonságok egyikét kell használnia, például:
P (bal oldali kitöltés: 10 képpont;)
A legtöbb elemet mezők választják el egymástól. A margó tulajdonság egy elem margóinak rövidítése, a következő sorrendben: fent, jobbra, lent, balra. Akkor használatos, ha több oldalra kell margót beállítani, de nem feltétlenül négyre. Függőlegesen szomszédos mezők blokk elemekösszecsukása, a felső és alsó margók pedig nincsenek hatással a soron belüli elemekre. Negatív értékek megengedettek. Az ingatlan nem öröklődik.
Ha három értéket adunk meg, például div (margó: 10px 20px 30px;) , akkor ezek a következő sorrendben kerülnek elosztásra: az első érték a felső margó, a második a jobb és bal margó, a harmadik az alsó margó.
Ha két értéket adunk meg, például div (margó: 10px 20px;) , akkor az első a felső és az alsó margót állítja be, a második a jobb és bal margót.
Egyetlen érték, például div (margó: 10 képpont;) , ugyanazt a margót állítja be az elem minden oldalára.
(margó: 0 auto;) csak akkor működik, ha az elem szélessége kifejezetten be van állítva.
Szintaxis
Div (margó: 5 képpont 10 képpont 2 képpont 5 képpont;)
A margin-top , margin-right , margin-bottom , margin-left tulajdonságok szabályozzák a megfelelő margókat egy elem mindkét oldalán, például:
P (margó balra: 10 képpont;)
A CSS néhány további tulajdonságot is támogat a weboldalelemek magasságának és szélességének beállításához: min-height , min-width , max-height és max-width . Ezek a tulajdonságok lehetővé teszik egy elem szélességének vagy magasságának minimális és maximális értékének beállítását, lehetőséget adva az elemnek a rendelkezésre álló hely kitöltésére. A tulajdonságokat gyakran használják reszponzív weboldaltervezéshez. Minden elemre vonatkozik, kivéve a soros és táblázatos elemeket. Mindig a főszabály után jöjjön, pl. az elem magasságának vagy szélességének beállítása után. Nem örökölt.
A normál méreteket egy mértékegység használatával, a méretkorlátozásokat pedig más mértékegységekkel állíthatja be, például:
Div (szélesség: 400 képpont; maximális szélesség: 50%; )
Az elem szélessége csak akkor lesz 400 képpont, ha ez az érték kisebb, mint a tárolóblokk szélességének 50%-a, ellenkező esetben a szélessége csökken.
Utolsó frissítés: 2016.04.21
Az elemek méreteit a szélesség (szélesség) és a magasság (magasság) tulajdonságokkal lehet beállítani.
Ezeknek a tulajdonságoknak az alapértelmezett értéke az auto , ami azt jelenti, hogy a böngésző határozza meg az elem szélességét és magasságát. A méreteket kifejezetten beállíthatja egységek (pixelek, ems) vagy százalékok használatával is:
Szélesség: 150 képpont szélesség: 75% magasság: 15em;
A pixelek határozzák meg a pontos szélességet és magasságot. Az em egység az elemben lévő betűtípus magasságától függ. Ha egy elem betűmérete például 16 pixel, akkor az elemhez tartozó 1 em 16 képpontot jelent. Vagyis ha az elem szélessége 15em, akkor valójában 15 * 16 = 230 pixel lesz. Ha az elemnek nincs megadva betűmérete, akkor a rendszer az örökölt paraméterekből vagy alapértelmezett értékekből veszi.
A szélesség tulajdonság százalékos értékeit a rendszer a tárolóelem szélessége alapján számítja ki. Ha például egy weboldalon a body elem szélessége 1000 pixel, és a benne lévő elem
A magasság tulajdonság százalékos értékei hasonlóan működnek, mint a szélesség tulajdonság, csak most a tárolóelem magasságából számítják ki a magasságot.
Például:
Ugyanakkor az elem tényleges méretei eltérhetnek a szélességi és magassági tulajdonságokban beállítottaktól. Például:
Amint a képernyőképen is látható, a valóságban a width tulajdonság értéke - 200px - csak az elem belső tartalmának szélességét határozza meg, és maga az elem blokkja alatt helyet foglal el, amelynek szélessége egyenlő a belső tartalom szélességével (width property) + padding (padding property) + border width ( border-width property) + margókkal (margin property). Vagyis az elem szélessége 230 pixel, az elemblokk szélessége a margókat figyelembe véve 250 pixel lesz.
Az ilyen számításokat figyelembe kell venni az elemek méretének meghatározásakor.
Egy további tulajdonságkészlet használatával beállíthatja a minimális és maximális méretet:
min-szélesség: minimális szélesség
max-width: maximális szélesség
min-magasság: minimális magasság
max-height: maximális magasság
Ebben az esetben az elem szélessége megegyezik a tárolóelem szélességének 50%-ával, azonban nem lehet kisebb 200 és 300 pixelnél.
A dobozméret tulajdonság lehetővé teszi a felülbírálást rögzített méretek elemeket. A következő értékek egyikét veheti fel:
content-box : A tulajdonság alapértelmezett értéke, amelyben a böngésző hozzáadja a szegély szélességét és a kitöltést a szélesség és magasság tulajdonságok értékéhez, hogy meghatározza az elemek tényleges szélességét és magasságát
padding-box: közli a webböngészővel, hogy az elem szélessége és magassága tartalmazza a padding értékét is. Tegyük fel például, hogy a következő stílusunk van:
Szélesség: 200 képpont magasság: 100 képpont; margó: 10 képpont padding: 10px keret: 5px tömör #ccc; háttérszín: #eee; doboz-méretezés: padding-box;
Itt a blokk belső tartalmának tényleges szélessége 200 képpont (szélesség) - 10 képpont (bal oldali kitöltés) - 10 képpont (jobb oldali kitöltés) = 180 képpont.
Érdemes megjegyezni, hogy a legtöbb modern böngészők nem támogatja ezt az ingatlant.
border-box: közli a webböngészővel, hogy az elem szélessége és magassága tartalmazza a kitöltést és a szegélyeket az érték részeként. Tegyük fel például, hogy a következő stílusunk van:
Szélesség: 200 képpont magasság: 100 képpont; margó: 10 képpont padding: 10px keret: 5px tömör #ccc; háttérszín: #eee; box-sizing: border-box;
Itt a blokk belső tartalmának tényleges szélessége 200px (szélesség) - 10px (padding-bal) - 10px (padding-right) - 5px (szegély-bal-szélesség) - 5px (szegély-jobb szélesség) = 170 képpont.
Például definiáljunk két olyan mezőt, amelyek csak a box-sizing tulajdonság értékében térnek el egymástól:
Az első esetben a blokk méretének meghatározásakor a szegélyvastagsághoz hozzáadódnak a szélesség és magasság tulajdonságok, valamint a padding és a padding, így az első blokk nagy lesz.
A magasság A CSS tulajdonság egy elem magasságát adja meg. Alapértelmezés szerint a tulajdonság határozza meg a tartalomterület magasságát. Ha azonban a box-sizing a border-box értékre van állítva, akkor ehelyett a szegélyterület magasságát határozza meg.
Ennek az interaktív példának a forrása egy GitHub-tárolóban van tárolva. Ha szeretne hozzájárulni az interaktív példák projekthez, kérjük, klónozza a https://github.com/mdn/interactive-examples oldalt, és küldjön lehívási kérelmet.
A min-height és max-height tulajdonságok felülírják a magasságot.
Ügyeljen arra, hogy a magassággal beállított elemek ne legyenek csonkolva és/vagy ne takarjanak el más tartalmat, amikor az oldalt nagyítjuk a szöveg méretének növelése érdekében.
Leírás | Állapot | Megjegyzés |
---|---|---|
CSS belső és külső méretezési modul, 4. szint |
Szerkesztői tervezet | |
CSS belső és külső méretezési modul, 3. szint A „magasság” meghatározása a specifikációban. |
Munkatervezet | Hozzáadtuk a max-content , min-content , fit-content kulcsszavakat. |
CSS-átmenetek A „magasság” meghatározása a specifikációban. |
Munkatervezet | A magasságot animálhatóként sorolja fel. |
CSS 2. szint (1. változat) A „magasság” meghatározása a specifikációban. |
Ajánlást | Támogatást ad a CSS adattípushoz, amely távolságértéket jelent. A hosszúságok számos CSS-tulajdonságban használhatók, például szélesség, magasság, margó, kitöltés, keretszélesség, betűméret és szövegárnyék."> |
CSS 1. szint A „magasság” meghatározása a specifikációban. |
Ajánlást | kezdeti meghatározás. |
kezdő érték | auto |
---|---|
Vonatkozik | minden elem, kivéve a nem lecserélt soron belüli elemeket, táblázatoszlopokat és oszlopcsoportokat |
Örökölt | nem |
Százalékok | A százalékot a generált dobozt tartalmazó blokk magasságához viszonyítva számítják ki. Ha a tartalmazó blokk magassága nincs kifejezetten megadva (azaz a tartalom magasságától függ), és ez az elem nincs abszolút pozicionálva, az érték kiszámítja to auto .A gyökérelem százalékos magassága a kezdeti tartalmú blokkhoz viszonyítva. |
média | vizuális |
Számított érték | százalék vagy automatikus vagy abszolút hossz |
Animáció típusa | egy CSS adattípus valós, lebegőpontos számként interpolálódik.">hosszúság , CSS adattípus valós, lebegőpontos számként interpolálódik.">percentage vagy calc(); |
kanonikus rend | a formális nyelvtan által meghatározott egyedi, nem egyértelmű sorrend |
Az ezen az oldalon található kompatibilitási táblázat strukturált adatokból készült. Ha hozzá szeretne járulni az adatokhoz, kérjük, nézze meg a https://github.com/mdn/browser-compat-data webhelyet, és küldjön lehívási kérelmet.
Frissítse a kompatibilitási adatokat a GitHubon
Asztali | Mobil | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Króm | él | Firefox | internet böngésző | Opera | szafari | android webview | Chrome Androidra | Firefox Androidra | Opera Androidra | Safari iOS rendszeren | Samsung internet | |
magasság | Chrome teljes támogatás 1 | Edge Teljes támogatás 12 | Firefox teljes támogatás 1 | IE teljes támogatás 4 | Az Opera teljes támogatása 7 | A Safari teljes támogatása 1 | WebView Android Teljes támogatás 1 | Chrome Android Teljes támogatás 18 | Firefox Android Teljes támogatás 4 | Opera Android Teljes támogatás 10.1 | Safari iOS teljes támogatás 1 | Samsung Internet Android Teljes támogatás 1.0 |
illeszkedik a tartalomhoz | Chrome teljes támogatás 46 | Edge Nincs támogatás Nem | Firefox Nincs támogatás Nem | IE Nincs támogatás Nem | Opera teljes támogatás 33 | Safari Teljes támogatás 11 Teljes támogatás 11 Teljes támogatás 9 Előtaggal Előtaggal | Opera Android? | Safari iOS Teljes támogatás 11 Teljes támogatás 11 Teljes támogatás 9 Előtaggal Előtaggal A szállítói előtaggal megvalósítva: -webkit- | ||||
max tartalom | Chrome teljes támogatás 46 | Edge Nincs támogatás Nem | Előtaggal Előtaggal | IE Nincs támogatás Nem | Opera teljes támogatás 44 | A Safari teljes támogatása 11 | WebView Android Teljes támogatás 46 | Chrome Android Teljes támogatás 46 | Előtaggal Előtaggal A szállítói előtaggal megvalósítva: -moz- | Samsung Internet Android Teljes támogatás 5.0 | ||
min tartalom | Chrome teljes támogatás 46 | Edge Nincs támogatás Nem | Firefox Teljes támogatás 66 Teljes támogatás 66 Teljes támogatás 3 Előtaggal Előtaggal A szállítói előtaggal megvalósítva: -moz- | IE Nincs támogatás Nem | Opera teljes támogatás 44 | A Safari teljes támogatása 11 | WebView Android Teljes támogatás 46 | Chrome Android Teljes támogatás 46 | Firefox Android Teljes támogatás 66 Teljes támogatás 66 Teljes támogatás 4 Előtaggal Előtaggal A szállítói előtaggal megvalósítva: -moz- | Opera Android Teljes támogatás 43 | Safari iOS teljes támogatás 11 | Samsung Internet Android Teljes támogatás 5.0 |
nyújtózkodni | Chrome teljes támogatás 28 webkit-fill-available">Alternatív név Teljes támogatás 28webkit-fill-available">Alternatív név webkit-fill-available">Alternatív név | Edge Nincs támogatás Nem | Firefox Nincs támogatás Nem | IE Nincs támogatás Nem | Az Opera teljes támogatása 15 webkit-fill-available">Alternatív név Teljes támogatás 15webkit-fill-available">Alternatív név webkit-fill-available">Alternatív név A nem szabványos nevet használja: -webkit-fill-available | A Safari teljes támogatása 9 webkit-fill-available">Alternatív név Teljes támogatás 9webkit-fill-available">Alternatív név webkit-fill-available">Alternatív név A nem szabványos nevet használja: -webkit-fill-available | WebView Android Teljes támogatás 4.4 webkit-fill-available">Alternatív név Teljes támogatás 4.4webkit-fill-available">Alternatív név webkit-fill-available">Alternatív név A nem szabványos nevet használja: -webkit-fill-available | Chrome Android Teljes támogatás 28 webkit-fill-available">Alternatív név Teljes támogatás 28webkit-fill-available">Alternatív név webkit-fill-available">Alternatív név A nem szabványos nevet használja: -webkit-fill-available | Firefox Android | Opera Android? | Safari iOS teljes támogatás 9 webkit-fill-available">Alternatív név Teljes támogatás 9webkit-fill-available">Alternatív név webkit-fill-available">Alternatív név A nem szabványos nevet használja: -webkit-fill-available | Samsung Internet Android Teljes támogatás 5.0 webkit-fill-available">Alternatív név Teljes támogatás 5.0webkit-fill-available">Alternatív név webkit-fill-available">Alternatív név A nem szabványos nevet használja: -webkit-fill-available |
Sziasztok kedves olvasók! Ma megnézzük, hogyan lehet beállítani egy weboldal blokkelemeinek méretét a használatával css tulajdonságaités konfigurálja a tartalom megjelenítését arra az esetre, ha az nem férne el az elemben.
A szélesség és magasság stílusattribútumok segítségével beállíthatja a blokkelemek szélességét és magasságát:
szélesség: auto|<ширина>|örökölni
magasság:auto|<ширина>|örökölni
Értékként bármilyen css-ben elérhető mértékegység használható – például pixel (px), hüvelyk (inch), pont (pt) stb.:
p(szélesség:200px; magasság:150px)
Az abszolút mértékegységeken kívül beállíthatja az elemek méretének relatív értékét százalékban. Ebben az esetben az elem szélessége és magassága a szülőelem szélességétől és magasságától függ. Ha a szülő nincs kifejezetten megadva, akkor a méretek a böngészőablaktól függenek.
oszt (szélesség:40%;)
Az automatikus érték megadja az elem méretének szabályozását a webböngészőnek, és ez az alapértelmezett érték. Ebben az esetben az elem méretei olyanok lesznek, hogy teljesen illeszkedjen az összes tartalmához.
Nézzünk néhány példát.
Üdvözöljük autóipari oldalunkon. Itt sok érdekes és hasznos cikket találsz az autókról, azokról Műszaki adatokés jellemzői.
Eredmény:
Ebben a példában létrehoztunk egy div blokkot, és beágyaztunk egy p bekezdést szöveggel. A div esetében szigorúan 300 x 300 pixelre állítottuk be a méreteket. A p elem szélessége és magassága tulajdonság értékei automatikusra vannak állítva, így amint a képernyőképen is látható, a szélessége megegyezik a szülőelem szélességével, magassága pedig úgy van beállítva, hogy a bekezdésben található teljes szöveghez illeszkedjen.
Most változtassuk meg a p bekezdés css beállításait, és állítsunk be rögzített méreteket:
réteg2(
háttér: #eee;
szélesség: 250 képpont;
}
Eredmény:
Amint láthatja, a bekezdés szélessége szűkült és 250 pixel, magassága pedig nőtt, hogy a szöveg elférjen, mivel a magasság paraméter továbbra is egyenlő marad az auto értékkel.
Most állítsuk be a bekezdés magasságát és szélességét százalékban:
réteg2(
háttér: #eee;
szélesség:50%;
magasság:50%;
}
Eredmény:
Amint a képen is látható, a p elem szélessége egyenlő lett a div elem szélességének felével. A magasság pedig a div magasságának 75 százalékára nőtt.
Bármely elem szélességének és magasságának relatív mértékegységben történő megadásakor előfordulhat, hogy meg kell adnia a lehetséges legkisebb és maximális méretet. Hiszen például a böngészőablak átméretezésekor az elem mérete csökkenhet és olyan méretűre nőhet, hogy az oldal olvashatósága nagyon alacsony lesz.
A minimális szélességet és magasságot a min-width és min-height attribútumokkal határozhatja meg:
min-szélesség:<ширина>
min-magasság:<высота>
A hasonló stílusú max-width és max-height attribútumok lehetővé teszik a maximális méretek beállítását:
maximális szélesség:<ширина>
maximum magasság:<высота>
Nyilvánvaló, hogy a magasság és a szélesség maximális és minimális értékének beállításakor az elem méretei nem lehetnek nagyobbak a maximumnál és kisebbek a minimális értékeknél.
Érdemes tisztázni, hogy a feladat a magasság és szélesség paramétereknek csak a blokkcímkék esetében van értelme, mivel a soron belüli elemeknél ezeket a paramétereket nem dolgozza fel a böngésző.
Előfordulhat, hogy ha merev magassági és szélességi paramétereket állít be egy elemhez, akkor előfordulhat, hogy az abban található tartalom nem fér bele a korlátozott területbe.
Például csökkentsük a p bekezdés méretét a fenti példákból 100 pixelre:
réteg2(
háttér: #eee;
szélesség: 100 képpont;
magasság: 100 képpont;
}
Eredmény:
Amint látható, a szöveg túllépett a bekezdés határain, és nem tűnik túl szépnek. Az ilyen helyzetek elkerülése érdekében van egy css-szabály - túlcsordulás.
Tartalomtúlcsordulás akkor fordulhat elő, ha egy elem szélessége és magassága egyaránt korlátozott. Vegyünk két bekezdést:
Első bekezdés szövege
Második bekezdés szövege
Eredmény:
Mivel sem szélesség, sem magasság nincs megadva a bekezdésekhez, a böngésző saját maga számítja ki azokat az automatikus érték saját értelmezése alapján. Ennek eredményeként a bekezdések szélességben az összes rendelkezésre álló helyet elfoglalták, magasságban pedig a bennük lévő tartalomnak megfelelően.
Most korlátozzuk az első bekezdés szélességét:
Első bekezdés szövege
Második bekezdés szövege
Eredmény:
A bekezdés szélessége várhatóan csökken, a magasság pedig úgy van beállítva, hogy a teljes szöveghez illeszkedjen.
Nos, most korlátozzuk az első bekezdés magasságát:
Első bekezdés szövege
Második bekezdés szövege
Ennek eredményeként kiderült, hogy a szöveg nem fér bele egy ilyen szűkített bekezdésbe, ezért az alsó szomszéd területére futott be. Ennek megfelelően gyakorlatilag lehetetlen elolvasni a szöveget sem az első, sem a második bekezdésben. Ez a tartalom viselkedésének szabályozása ilyen helyzetekben túlcsordulási szabály:
túlcsordulás: látható|rejtett|görgetés|automatikus|öröklés
Alapértelmezés szerint a túlcsordulás láthatóra van állítva, ami arra utasítja a böngészőt, hogy olyan tartalmat jelenítsen meg, amely nem fér el a tárolóban. Az eredmény a fenti példában látható.
A szabály mindent elrejt, ami nem fér bele a tárolóba:
A görgetési érték függőleges és vízszintes görgetősávokat jelenít meg az elemen, még akkor is, ha az összes tartalom belefér:
Első bekezdés szövege
Második bekezdés szövege
A legnépszerűbb és leglogikusabb megoldás, ha görgetősávokat kell készíteni a tárolóhoz, az érték auto. Ebben az esetben a böngésző maga határozza meg, hogy mikor és mely tengelyeken érdemes görgetősávokat megjeleníteni:
Első bekezdés szövege
Második bekezdés szövege
Eredmény:
A görgetősávok testreszabhatók az overflow-x és overflow-y stílusattribútumokkal is, amelyek lehetővé teszik a görgetés megjelenítésének testreszabását az egyes tengelyeken. Így felelős vízszintes tengely, de érte függőleges tengely.
Ezért, ha például arra van szüksége, hogy a vízszintes görgetés soha ne jelenjen meg egy bekezdésben, és a függőleges görgetés csak szükség esetén, akkor elegendő a következő css szabályt megírni:
p(túlcsordulás-x:rejtett;túlcsordulás-y:automatikus;)
És a probléma megoldódik.
Ez minden. Viszlát. Ne felejtsen el feliratkozni a blogfrissítésekre, és hálás leszek, ha használja a közösségi hálózat gombjait.