HTML & CSS pradedantiesiems.

HTML ir CSS pradedantiesiems (dalis 36): Dėžių modelis.

Visi pamokos vaizdo įrašai HTML ir CSS pradedantiesiems

CSS elementai pagrindžiai yra traktuojami kaip stačiakampiai arba juostos. Aprašant dėžutės yra naudojamos šios jums jau gerai žinomos savybės:

width – elemento plotis
height – elemento aukštis
left – atstumas į kairę
right – atstumas į dešinę
top – atstumas į viršų
bottom – atstumas žemyn
margin – išorinė kraštinė
border – rėmas aplink elementą
padding – vidinis atstumas, tai atstumas nuo rėmo iki elemento turinio

Šios savybės jau buvo pristatytos.

Elemento bendras plotis skaičiuojamas iš atskirų nurodymų pločių suma. (Ta pati taisyklė taikoma ir aukščiui).

Pavyzdys:

div#box {
   width: 100px;
   padding: 20px;     /* po 20px kairėje ir dešinėje /
   border: 2px solid; / po 2px kairėje ir dešinėje  /
   margin: 0 30px;    / po 30px kairėje ir dešinėje */
 }

Koks yra šio div srities plotis? Pažvelkime į atskirus dydžius:

• 100 pikselių

• 2 kartus po 20 pikselių

• 2 kartus po 2 pikselius

• 2 kartus po 30 pikselių

Viso tai sudaro elemento bendrą 204 pikselių plotį.

Elementų plotis ir aukštis nustatomi naudojant width ir height. Jeigu tų nurodymų stiliuose nėra aiškiai nurodyta, tada taikomi šie taisyklės:

• Jeigu trūksta width, dėžutė bus tokio pločio kaip ją apgaubiantis elementas.

• Jeigu trūksta height, elementas bus tokio aukščio kaip jo turinys.

Pavyzdys:

<!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>PSD-Tutorials.de</title>
 <style>
 div#box {
    border: 1px solid; /* po 2px kairėje ir dešinėje  */
    margin: 0 30px;    /* po 30px kairėje ir dešinėje */
    background-color:#6600CC;
 }
 </style>
 </head>
 <body>
 <div id="box">PSD-Tutorials.de</div>
 </body>
 </html>



Naršyklėje tai atrodo taip:

HTML ir CSS pradedantiesiems (36 dalis): Dėžės modelis.



Viršutinis div elemento elementas yra body. Taigi, elementas iš tikrųjų bus tokio pločio kaip body elementas. Dėl aukščio jis orientuosis pagal turinį.

Viskas nulioje

Kiekviena naršyklė turi įmontuotą stiliaus lentelę. Šiose stiliaus lentelėse yra apibrėžti keli numatyti vertės. Tai taip pat taikoma padding ir margin. Deja, šios numatytosios vertės skiriasi tarp skirtingų naršyklės. Šis aspektas sudaro sunkumą pasiekti identiškus rezultatus skirtingose naršyklėse, įskaitant dėžutės modelio susijungimą. Todėl rekomenduojama nustatyti atstumus, kurie yra nustatyti naršyklėse, iki nulio. Tai galima padaryti šitaip:

* { padding: 0; margin: 0; }



Pridėkite šį eilutę į jūsų stiliaus lentelę. Šitaip galėsite pradėti dėžutes vietose, kur jūs norite.

Dėžių tipai

Kaip elementas pateikiamas galiausiai ir kaip jis įtakoja kitus elementus priklauso nuo elemento tipo. Iš tikrųjų CSS specifikacija skiria tarp blokinės ir įterptinės elementų. (Yra ir kitų tipų, kurie šiuo metu čia neapžvelgiami, nes jie vaidina antrinį vaidmenį). Blokiniai elementai visada sukuria naują eilutę. Toliau einantys elementai taip pat pradeda naujoje eilutėje. Tipiniai blokiniai elementai yra pavyzdžiui p, div, h1, ul ir tt. Šiems elementams taikomos anksčiau nurodytos savybės išorinis atstumas, vidinis atstumas, aukštis, plotis ir rėmas.

<h1>Skaitmeninis Piešimas & Matinis Piešimas: Nustatyti paveikslėlio struktūrą</h1>
<p>Modulis 2 - Dalis 2: Paveikslėlis visuomet yra vientisas. Vis dėlto visada reikia apgalvoti, kur žiūrovas turėtų pažvelgti pirmiausiai.</p>
h1 ir p kiekvienas sukuria savo asmeninę eilutę.

HTML ir CSS pradedantiesiems (36 dalis): Dėžės modelis



Įterptiniai elementai priešingai nesukuria savo atskiro pastraipos, jie tiesiog yra įprasto teksto sraute. Įprasti įterptiniai elementai yra span, em, strong, img, br ir kt. Šiems elementams netaikomi vertikaliai išoriniai atstumai, plotis ir aukštis.
<h1><em>Skaitmeninis Piešimas & Matinis Piešimas</em>: Nustatyti paveikslėlio struktūrą</h1>

<p>Modulis 2 - Dalis du: <strong>Paveikslėlis visuomet yra vientisas</strong>. Vis dėlto visada reikia apgalvoti, kur žiūrovas turėtų pažvelgti pirmiausiai.</p>

I štai čia rezultatas:

HTML ir CSS pradedantiesiems (dalis 36): Dezaino modelis



Dabar galite paversti elementus, kurie iš esmės yra blokiniai elementai, į linijinius elementus.

<!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>PSD-Tutorials.de</title>
 <style>
 h1 {
 background-color:#00CCFF;
 }
 </style>
 </head>
 <body>
 <h1>Digital Painting & Matte Painting</h1>
 <p>Modul 2 - Teil 2: <em>Vaizdas visuomet yra vientisas</em>. Tačiau reikia visuomet apmąstyti, į ką pirmiausia turėtų atkreipti dėmesį žiūrovas.</p>
 </body>
 </html>

Pareikalaukite rezultato naršyklėje.

HTML ir CSS pradedantiesiems (36 dalis): Dėžės modelis



h1 antraštės fono spalva rodo, kad elementas užima visą pločį. Plotis yra orientuotas pagal viršesnį body elementą.

Dabar būtina pritaikyti savybę display.

<!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>PSD-Tutorials.de</title>
 <style>
 h1 {
 display:inline;
 background-color:#00CCFF;
 }
 </style>
 </head>
 <body>
 <h1>Digital Painting & Matte Painting</h1>
 <p>Modul 2 - Teil 2: <em>Vaizdas visuomet yra vientisas</em>. Tačiau reikia visuomet apmąstyti, į ką pirmiausia turėtų atkreipti dėmesį žiūrovas.</p>
 </body>
 </html>



Pakeitus display: inline, elemento plotis pasikeičia.

HTML ir CSS pradedantiesiems (Dalis 36): Dėžės modelis

Iš tikrųjų, dabar elemento plotis prisitaiko prie turinio. Čia pateikiamas sąrašas, kurie rodo, kokie kiti priešdėliai gali būti priskirti display savybei:

none – nerodoma

block – elementas yra rodomas kaip blokinis elementas, todėl sukuria naują eilutę.

inline – elementas yra rodomas kaip linijinis elementas, atrodo kaip teksto srautas.

inline-block – išoriškai elementas atrodo kaip blokas, jo aukštis, plotis ir išoriniai atstumai gali būti nustatyti. Vis dėlto, kiekvienas elementas lieka teksto sraute. Šis tipas yra bloko ir linijinio elemento derinys.

list-item – elementas yra rodomas kaip blokinis elementas, bet jam papildomai pridedamas sąrašo žymuo.

run-in – priklausomai nuo turinio, sukuriamas blokinis arba linijinis elementas.

table – veikia kaip gerai žinomas HTML table elementas.

inline-table – veikia kaip HTML table elementas, bet linijiniu būdu.

table-row – elementai yra išdėstyti vienas šalia kito, veikia kaip HTML tr elementas.

table-cell – elementas atstovauja lentelės ląstelei ir veikia kaip HTML th ir td elementai.

table-row-group – elementas apima elementų grupę su daugeliu išsidėsčiusių kūdikių elementų ir veikia kaip tbody HTML elemento.

table-header-group – elementas apima elementų grupę su daugeliu išsidėsčiusių kūdikių elementų ir veikia kaip thead HTML elemento.

table-footer-group – elementas apima elementų grupę su daugeliu išsidėsčiusių kūdikių elementų ir veikia kaip tfoot HTML elemento.

table-column – čia aprašomos stulpelio ląstelių savybės. table-column veikia kaip HTML col elementas.

table-column-group – šis elementas apima grupę elementų, kuriuose aprašomos stulpelių ląstelių savybės. Jis turi panašumą su HTML colgroup elementu.

table-caption – čia apibrėžiamas lentelės pavadinimas. Ši savybė veikia kaip HTML elemento caption.

Iš tikrųjų, CSS siūlo labai skirtingas rūšis skirtingų elementų atvaizdavimui. Jos vaidina lemtingą vaidmenį elementų išdėstyme. Apie tai daugiau sužinosite sekantiems pamokų skyriams.