Stulpelių skaičius yra keliose naršyklėse. Įvadas į CSS3 Multicolumn. Dirbame su kolonomis. Naudojant kelis stulpelius

Nuosavybė įsilaužti į vidų apibrėžia puslapio lūžių ir stulpelių išdėstymo esamame elemente principus. Pagal numatytuosius nustatymus puslapių arba stulpelių lūžiai dedami automatiškai ir nėra paveldimi iš pirminių elementų. Puslapio vengimo reikšmė naudojama tik formatuojant puslapius sudarytus dokumentus, pvz., spausdinant, ir nepaisoma rodinių be puslapių, pvz., kai rodoma naršyklėje. Stulpelio vengimo reikšmė naudojama kelių stulpelių tekstui.

Galiojančios reikšmės

  • CSS2 CSS3 automatinis- automatinis puslapio ar stulpelio lūžis prieš dabartinį elementą (numatytasis)
  • CSS2 CSS3 vengti
  • CSS3 išvengti-puslapis- atšaukti puslapio pertrauką esamame elemente
  • CSS3 išvengti-stulpelis- stulpelio pertraukos atšaukimas esamo elemento viduje

Naudojimo pavyzdžiai

įsilaužimas į vidų: auto; - vienodas paskirstymas

Vienodas turinio paskirstymas tarp stulpelių, kai pertraukos automatiškai dedamos tinkamiausiose vietose bet kuriuose elementuose arba tarp jų. Esant tolygiai paskirstymui, stulpelių aukštis yra maždaug toks pat, esant daugiau ar mažiau vienodam teksto tankiui.

Stilius (stulpelių skaičius: 3; tarpas tarp stulpelių: 2 em; stulpelio taisyklė: 1 piks. solidinis #666; )

Tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas teksto tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas teksto tekstas

įsilaužti į vidų: vengti stulpelio; - atšaukti stulpelių pertraukas

Stilius ( stulpelių skaičius: 3; stulpelių tarpas: 2 em; stulpelio taisyklė: 1 piks. solidinis #666; ) .style div ( break-inside: vengti stulpelio; )

1 blokas teksto tekstas tekstas tekstas tekstas tekstas tekstas tekstinis tekstas

2-as blokas teksto tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstinis tekstas

3 blokas teksto tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas tekstas teksto tekstas

Įsilaužimo ypatybė apibrėžta CSS 3 kelių stulpelių išdėstymo modulio specifikacijoje, taikoma bloko lygio elementams ir galioja visose puslapio laikmenose, jos reikšmė nepaveldima iš pirminio elemento dokumento hierarchijoje, o pagal nutylėjimą automatinis. Šiuo metu nuosavybė palaikoma visose pagrindinėse naršyklėse.

Taip pat žiūrėkite:

  • break-after – stulpelio arba puslapio lūžio po elemento nustatymo taisyklės
  • break-befor – stulpelio arba puslapio lūžio prieš elementą nustatymo taisyklės
  • -webkit-column-break-after - taisyklės, kaip nustatyti stulpelio pertrauką po elemento
  • -webkit-column-break-befor - stulpelio lūžio prieš elementą nustatymo taisyklės
  • -webkit-column-break-inside – taisyklės, kaip nustatyti stulpelio lūžį elemento viduje

Modulis CSS3 stulpeliai aprašomas kelių stulpelių išdėstymas, leidžiantis tvarkyti turinį taip, kad jis apimtų kelis vertikalius konteinerius, panašiai kaip laikraštis ar žurnalas. Stulpeliuose gali būti antraštės, tekstas, lentelės, paveikslėliai ir bet kokie kiti įterptieji elementai.

Kelių stulpelių modelis

Naršyklės palaikymas

T.Y: 10
Kraštas: 12
Firefox: 52, 2 -moz
Chrome: 50, 4 - žiniatinklio rinkinys-
Safari: 9, 3.1 - žiniatinklio rinkinys-
Opera: 37, 11.5 -Webkit-
iOS Safari: 9, 3.2 - žiniatinklio rinkinys-
UC naršyklė, skirta „Android“: 11.8
„Chrome“, skirta „Android“: 73
„Samsung“ internetas: 5, 4 - žiniatinklio rinkinys-

Senasis įrašas

2012 m. lapkričio 24 d

15 žaviausių mažų miestelių Anglijoje

1. Berwick-upon-Tweed

Berwickas buvo įkurtas kaip anglosaksų gyvenvietė Nortumbrijos karalystės laikais, kurią 10 amžiuje aneksavo Anglija. Vietovė daugiau nei 400 metų buvo istorinių pasienio karų tarp Anglijos ir Škotijos karalystės centrinė vieta, o Berwicko valdymas kelis kartus keitė abiejų karalysčių rankas. Paskutinį kartą jis pakeitė savininkus, kai Ričardas iš Glosterio 1482 m. jį perėmė Anglijai. Iki šiol daugelis Berwickerių jaučia artimą ryšį su Škotija.

Šiais laikais Berwick-upon-Tweed yra gausiai lankomas dėl savo puikiai matomos istorijos: viduramžių miesto sienos, Elžbietos laikų pylimai, XIII a. pilies griuvėsiai, XVII a. „Senasis tiltas“, rotušė, seniausios Britanijos kariuomenės kareivinės, šiauriausias Anglijos viešbutis ir kt. .

2.Rugiai

Senoviniai rugiai – tai visos akmenimis grįstos gatvės ir griūvančios namų eilės prie jūros. Iš pradžių priklausę Cinque Ports Confederation, penki strateginiai miestai, svarbūs viduramžiais prekybai ir kariniais tikslais, šiandien Rugiai yra praktiškai gyvas muziejus. Rugių pilį, populiariai žinomą kaip Ypres bokštas, 1249 m. pastatė Henrikas III, kad apsisaugotų nuo dažnų prancūzų antskrydžių; dar senesnė, normanų laikų Šv. Marijos bažnyčia žvelgia į miestą. Rye taip pat yra vos kelios minutės kelio nuo vieno garsiausių Anglijos paplūdimių Camber Sands, dviejų mylių ilgio jėgos aitvarų ir paplūdimio mėgėjų žaidimų aikštelės.

1 pav. Kelių stulpelių išdėstymo pavyzdys

1. Stulpelių skaičius ir plotis

Kuriant kelių stulpelių išdėstymą labai svarbu nustatyti stulpelių skaičių ir plotį. Stulpelių skaičiaus ir pločio ypatybės naudojamos stulpelių skaičiui ir pločiui nustatyti.

Trečioji ypatybė, stulpeliai, yra trumpoji savybė, kuri vienu metu nustato stulpelių plotį ir skaičių.

Kiti veiksniai, pvz., aiškūs stulpelių lūžiai, turinio ir aukščio apribojimai, gali turėti įtakos faktiniam stulpelių skaičiui ir pločiui.

1.1. Stulpelio plotis: stulpelio pločio savybė

Stulpelio pločio ypatybė nurodo minimalų plotį, kurį turi užimti kiekvienas stulpelis.

Turtas nepaveldimas.

Sintaksė

Stulpelio plotis: automatinis; stulpelio plotis: 100 pikselių; stulpelio plotis: 10em; kolonėlės plotis: 3,3vw; stulpelio plotis: paveldėti; stulpelio plotis: pradinis;

1.2. Stulpelių skaičius: stulpelių skaičiaus savybė

Stulpelių skaičiaus savybė apibūdina stulpelių skaičių, o jų plotis bus apskaičiuojamas pagal laisvos vietos plotį. Jei stulpelio plotis nurodomas tuo pačiu metu kaip ir stulpelių skaičius , stulpelių skaičius bus laikomas didžiausiu stulpelių skaičiumi.

Turtas nepaveldimas.

Sintaksė

Stulpelių skaičius: automatinis; stulpelių skaičius: 2; stulpelių skaičius: paveldėti; stulpelių skaičius: pradinis;

1.3. Stulpelių nustatymas naudojant atskirų stulpelių nuosavybę

Stulpelių ypatybė yra trumpoji ypatybė, skirta stulpelių pločiui ir stulpelių skaičiui nustatyti. Praleistos reikšmės nustatomos į pradines vertes.

Turtas nepaveldimas.

Sintaksė

Stulpeliai: 12em; /* stulpelio plotis: 12em; stulpelių skaičius: automatinis */ stulpeliai: auto 12em; /* stulpelio plotis: 12em; stulpelių skaičius: automatinis */ stulpeliai: 2; /* stulpelio plotis: automatinis; stulpelių skaičius: 2 */ stulpeliai: 2 automatiniai; /* stulpelio plotis: automatinis; stulpelių skaičius: 2 */ stulpeliai: automatinis; /* stulpelio plotis: automatinis; stulpelių skaičius: automatinis */ stulpeliai: automatinis automatinis; /* stulpelio plotis: automatinis; stulpelių skaičius: automatinis */ stulpeliai: paveldėti; stulpeliai: pradinis;

2. Tarpai tarp stulpelių ir skiriamųjų linijų

Stulpelių tarpai ir skiriamosios linijos dedamos tarp stulpelių viename kelių stulpelių konteineryje. Tarpų ir separatorių ilgis lygus stulpelio aukščiui. Stulpelių tarpai užima vietą, tai yra, jie išstumia gretimų stulpelių turinį.

Skiriamoji linija brėžiama tarpo tarp stulpelių viduryje, neužimant vietos. Tai reiškia, kad skiriamosios linijos buvimas ar storis nieko kito nepakeis.

Linijos nudažytos tiesiai virš kelių stulpelių elemento kraštinės. Jei elementas turi slenkamą sritį, skiriamosios linijos slenka kartu su stulpeliais. Skiriamosios linijos rodomos tik tarp dviejų stulpelių, turinčių turinį.

2.1. Tarpai tarp stulpelių: stulpelio tarpo savybė

Stulpelio tarpo ypatybė apibrėžia tarpą tarp stulpelių. Jei stulpelių skiriamąją liniją nustatysite naudodami stulpelio taisyklės ypatybę, ši linija bus tarpo viduryje ir jos plotis nepakeis bendro pločio.

Turtas nepaveldimas.

Sintaksė

Stulpelis-tarpelis: normalus; stulpelio tarpas: 3 pikseliai; stulpelio tarpas: 2,5 em; stulpelio tarpas: 3%; stulpelio tarpas: paveldėti; stulpelio tarpas: pradinis;

2.2. Skiriamosios linijos spalva: stulpelio-taisyklės-spalvos savybė

Stulpelio taisyklės spalvos ypatybė nurodo skiriamosios linijos spalvą.

Turtas nepaveldimas.

Sintaksė

Stulpelis-taisyklė-spalva: rožinė; stulpelis-taisyklė-spalva: #D71C3B; stulpelis-taisyklė-spalva: rgb(192, 56, 78); stulpelis-taisyklė-spalva: skaidri; stulpelis-taisyklė-spalva: hsla(0, 100%, 50%, 0,6); stulpelis-taisyklė-spalva: paveldėti; stulpelis-taisyklė-spalva: inicialas;

2.3. Skiriamosios linijos stilius: stulpelio-taisyklės stiliaus nuosavybė

Stulpelio taisyklės stiliaus ypatybė nustato skiriamosios linijos stilių.

Turtas nepaveldimas.

stulpelio-taisyklės stilius
Vertybės:
nė vienas Reikšmė yra 0. Numatytoji reikšmė.
paslėptas Lygiai taip pat, kaip ir su reikšme none , eilutė paslėpta.
taškuotas Rodo liniją kaip kvadratinių taškų rinkinį.
punktyriškai Rodo eilutę kaip brūkšnelių seką.
kietas Įprasta linija.
dvigubai Rodo skiriamąją liniją dviejų lygiagrečių plonų linijų, esančių tam tikru atstumu viena nuo kitos, pavidalu. Skiriamosios linijos plotis nenurodytas, tačiau linijų ir tarpo tarp jų suma lygi stulpelio-taisyklės-pločio reikšmei.
griovelis Rodo tūrinę liniją, įspaustą į drobę. Tai pasiekiama sukuriant dviejų spalvų šešėlį, vieną tamsesnį ir kitą šviesesnį.
ketera Rodo tūrio skiriamąją liniją, t.y. priešingas grioveliui efektas.
intarpas Rodo ištisinę liniją tamsesne nei nurodyta linijos spalva.
pradžioje Rodo ištisinę liniją su spalva, nurodyta stulpelio taisyklės spalvos ypatybėje.
pradinė Nustato ypatybės vertę į numatytąją vertę.
paveldėti Paveldi nuosavybės vertę iš pirminio elemento.

Sintaksė

Stulpelio taisyklės stilius: nėra; stulpelio taisyklės stilius: paslėptas; stulpelio taisyklės stilius: taškuotas; stulpelio taisyklės stilius: brūkšninis; stulpelio taisyklės stilius: vientisas; stulpelio taisyklės stilius: dvigubas; stulpelis-taisyklė-stilius: griovelis; stulpelis-taisyklė-stilius: kraigas; stulpelio taisyklės stilius: įdėklas; stulpelis-taisyklė-stilius:pradžioje; stulpelis-taisyklė-stilius: paveldėti; stulpelis-taisyklė-stilius: inicialas;

2.4. Skirstytuvo linijos plotis: stulpelio-taisyklės-pločio savybė

Stulpelio taisyklės pločio ypatybė nustato skiriamosios linijos plotį. Neigiamos reikšmės neleidžiamos. Neveikia be stulpelio taisyklės stiliaus nuosavybės.

Turtas nepaveldimas.

Sintaksė

Stulpelio-taisyklės plotis: plonas; stulpelio taisyklės plotis: vidutinis; stulpelio-taisyklės plotis: storas; stulpelio-taisyklės plotis: 1px; stulpelio-taisyklės plotis: 2,5em; stulpelis-taisyklė-plotis: paveldėti; stulpelio-taisyklės plotis: pradinis;

2.5. Greita skiriamosios linijos savybių santrauka: stulpelio taisyklės ypatybė

Stulpelio taisyklės ypatybė yra stulpelio taisyklės pločio stulpelio taisyklė stiliaus stulpelio taisyklės spalvos santrumpa.

Turtas nepaveldimas.

Sintaksė

Stulpelis-taisyklė: taškuotas; stulpelio taisyklė: vientisas 8px; stulpelio taisyklė: vientisa mėlyna; stulpelio taisyklė: stora įdėta mėlyna; stulpelis-taisyklė: paveldėti; stulpelis-taisyklė: inicialas;

3. Stulpelių lūžiai

Kai turinys dedamas į kelis stulpelius, naršyklė turi nustatyti, kur dedami stulpelių lūžiai. Turinio skaidymo į stulpelius problema yra panaši į turinio skaidymą į puslapius. Siekiant išspręsti šią problemą, buvo pristatytos trys naujos ypatybės, leidžiančios stulpelių lūžius aprašyti tose pačiose ypatybėse kaip ir puslapio lūžiai: break-for, break-after ir break-inside .

4. Stulpelių ilgis: stulpelio tarpo savybė

Stulpelio ilgio savybė leidžia elementui apimti kelis stulpelius. Jis nurodomas ne konteinerio blokui, o konkrečiam elementui viduje, pavyzdžiui, antraštei.

Ateityje bus galima nurodyti stulpelių, kuriuos reikia apimti, skaičių, panašiai kaip colspan atributas, kuris gali būti taikomas lentelės langeliui, tačiau CSS3 specifikacija turi tik dvi galimas reikšmes: none ir all .

Savybė pagal numatytuosius nustatymus neveikia „Firefox“. Naudotojas turi aiškiai įgalinti funkciją, o layout.css.column-span.enabled turi būti nustatyta kaip true . Norėdami pakeisti „Firefox“ nustatymus, eikite į about:config.

Turtas nepaveldimas.

Sintaksė

Stulpelio tarpatramis: nėra; stulpelio tarpas: visi; stulpelio tarpatramis: paveldėti; stulpelio tarpas: pradinis;

5. Stulpelių užpildymas turiniu: stulpelio užpildymo savybė

Stulpelių užpildymo ypatybė valdo, kaip stulpeliai užpildomi turiniu. Yra dvi stulpelių užpildymo strategijos: stulpeliai gali būti sulygiuoti pagal aukštį arba ne. Jei stulpeliai sulygiuoti, naršyklės turėtų stengtis sumažinti stulpelių aukščio pokyčius, kartu atsižvelgdamos į priverstines pertraukas, našles, našlaičius ir kitas ypatybes, kurios gali turėti įtakos stulpelio aukščiui. Jei stulpeliai nesulygiuoti, jie pildomi nuosekliai, kai kurie iš jų gali būti užpildyti iš dalies arba visai neužpildyti.

Turtas nepaveldimas.

Sintaksė

Stulpelių užpildymas: automatinis; stulpelio užpildymas: balansas; stulpelio užpildymas: balansas-visas; stulpelio užpildymas: paveldėti; stulpelio užpildymas: pradinis;

6. Perpildymas

6.1. Perpildymas kelių stulpelių konteineriuose

Išskyrus tuos atvejus, kai dėl to stulpelis nutrūktų, turinys, išeinantis už stulpelio ribų, išeina už stulpelio ribų ir nėra nutrauktas. Tai visų pirma taikoma vaizdams. Norėdami išspręsti šią problemą, turite nustatyti šias vaizdų ypatybes:

Img (rodyti: blokuoti; /*pašalinti apatinį užpildą po vaizdu*/ plotis: 100%; /*ištempti vaizdą iki viso konteinerio bloko pločio*/ )

6.2. Puslapių spausdinimas ir perpildymas ne kelių stulpelių konteineriuose

Turinys ir skiriamosios linijos, einančios už stulpelių kelių stulpelių konteinerio kraštuose, yra nukirptos pagal perpildymo savybę.

Kelių stulpelių sudėtiniame rodinyje gali būti daugiau stulpelių nei jame yra vietos dėl stulpelio aukščio apribojimų (pvz., aukščio arba maksimalaus aukščio) ir aiškių stulpelių lūžių. Tokiu atveju sukuriami papildomi stulpeliai eilutės kryptimi, pereinant į kitus puslapius.

The CSS kelių stulpelių išdėstymo modulis pratęsia bloko išdėstymo režimas kad būtų galima lengvai apibrėžti kelis teksto stulpelius.Žmonėms sunku skaityti tekstą, jei eilutės per ilgos; jei akys per ilgai pereina nuo vienos eilutės pabaigos iki kitos pradžios, jos praranda atspėjimą, kurioje eilutėje buvo. Todėl norėdami maksimaliai išnaudoti didelį ekraną, autoriai turėtų turėti riboto pločio teksto stulpelius, išdėstytus vienas šalia kito, kaip tai daro laikraščiai.

Deja, tai neįmanoma padaryti naudojant CSS ir HTML, neverčiant stulpelių pertraukų fiksuotose pozicijose, griežtai neapribojant tekste leidžiamo žymėjimo arba naudojant herojišką scenarijų. Šis apribojimas išspręstas pridedant naujų CSS ypatybių, siekiant išplėsti tradicinį blokų išdėstymo režimą.

Naudojant stulpelius

Stulpelių skaičius ir plotis

Dvi CSS ypatybės valdo, ar bus rodoma stulpelių ir kiek jų bus: stulpelių skaičius ir stulpelio plotis .

Stulpelių skaičiaus nuosavybė nustato stulpelių skaičių į tam tikrą skaičių. Pvz.,

1 pavyzdys

HTML

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

CSS

#col (stulpelių skaičius: 2; )

Rezultatas

Turinys bus rodomas dviem stulpeliais (jei naudojate su keliais stulpeliais suderinamą naršyklę):

Stulpelio pločio ypatybė nustato mažiausią pageidaujamą stulpelio plotį. Jei stulpelių skaičius taip pat nenustatytas, naršyklė automatiškai sukurs tiek stulpelių, kiek telpa į turimą plotį.

2 pavyzdys

HTML

CSS

#wid ( stulpelio plotis: 100 piks.; )

Rezultatas

Kelių stulpelių bloke turinys automatiškai perkeliamas iš vieno stulpelio į kitą pagal poreikį. Visos HTML, CSS ir DOM funkcijos palaikomos stulpeliuose, taip pat redagavimas ir spausdinimas.

Stulpelių stenografija

Dažniausiai žiniatinklio dizaineris naudoja vieną iš dviejų CSS ypatybių: stulpelių skaičius arba stulpelio plotis . Kadangi šių savybių reikšmės nesutampa, dažnai patogu naudoti trumpinius stulpelius. Pvz.

CSS deklaracijos stulpelio plotis: 12em gali būti pakeistas stulpeliais: 12em .

3 pavyzdys

HTML

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

CSS

#col_short ( stulpeliai: 12 em; )

CSS deklaracijos stulpelių skaičius: 4 gali būti pakeistas stulpeliais: 4 .

4 pavyzdys

HTML

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

CSS

#columns_4 ( stulpeliai: 4; )

Rezultatas

Dvi CSS deklaracijos stulpelių plotis: 8em ir stulpelių skaičius: 12 gali būti pakeisti stulpeliais: 12 8em .

5 pavyzdys

HTML

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

CSS

#columns_12 ( stulpeliai: 12 8em; )

Rezultatas

Aukščio balansavimas

CSS3 stulpelio specifikacija reikalauja, kad stulpelių aukščiai būtų subalansuoti: tai yra, naršyklė automatiškai nustato maksimalų stulpelio aukštį, kad kiekvieno stulpelio turinio aukščiai būtų maždaug vienodi. Firefox tai daro.

Tačiau kai kuriose situacijose taip pat naudinga aiškiai nustatyti maksimalų stulpelių aukštį, o tada išdėstyti turinį, pradedant nuo pirmojo stulpelio ir sukuriant tiek stulpelių, kiek reikia, galbūt perpildant į dešinę. Todėl, jei aukštis apribotas, kelių stulpelių bloke nustačius CSS aukščio arba maksimalaus aukščio ypatybes, kiekvienam stulpeliui leidžiama augti iki tokio aukščio ir ne daugiau, prieš pridedant naują stulpelį. Šis režimas taip pat yra daug efektyvesnis maketavimui.

Stulpelių tarpai

Tarp stulpelių yra tarpas. Rekomenduojamas numatytasis dydis yra 1 em . Šį dydį galima pakeisti kelių stulpelių blokui pritaikius stulpelio tarpo savybę:

6 pavyzdys

HTML

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

CSS

#column_gap ( stulpelių skaičius: 5; stulpelių tarpas: 2 em; )

Rezultatas

Grakštus degradavimas

Stulpelių ypatybių tiesiog nepaisys stulpelių nepalaikančios naršyklės. Todėl gana lengva sukurti išdėstymą, kuris tose naršyklėse būtų rodomas viename stulpelyje, o palaikomose naršyklėse būtų naudojami keli stulpeliai.

Išvada

CSS3 stulpeliai yra primityvus išdėstymas, kuris padės žiniatinklio kūrėjams geriausiai išnaudoti ekrano nekilnojamąjį turtą. Vaizdingi kūrėjai gali rasti daug jų panaudojimo būdų, ypač naudojant automatinio aukščio balansavimo funkciją.

Kaip išdėstyti tekstą puslapyje keliuose stulpeliuose? Ir ar tai galima padaryti automatiškai? Be abejo, daugelis iš jūsų, kurie dalyvauja ar buvo susiję su žiniatinklio kūrimu, susidūrė su šia problema ir dažnai susiduria su sudėtingais sprendimais, kuriems reikia sudėtingų stilių arba papildomų „JavaScript“ bibliotekų (žr., pavyzdžiui, „jQuery“ skirtą „Columnizer“ papildinį).

Kelių stulpelių turinio išdėstymas (nepainioti su bendro kelių stulpelių puslapio išdėstymo užduotimi, kuri yra artimesnė blokų išdėstymo tinklelyje problemai) jau seniai skinasi kelią žiniatinklio standartų pasaulyje. ir, galiausiai, ne tik pasiekė kandidato rekomendacijos būseną atitinkamo CSS3 kelių modulio stulpelio Išdėstymas , bet ir gavo gana platų palaikymą naršyklėse: kai kur su priešdėliais (-moz- arba -webkit-), o kažkur dabartinėje. (Opera 11.1+) ir planuojamos versijos (IE10+), ir iš karto be priešdėlių.

komentuoti
Internet Explorer 10 atveju tai automatiškai reiškia, kad galite naudoti CSS3 kelių stulpelių kurdami Metro stiliaus programas, skirtas Windows 8 naudodami HTML/CSS/JS.

Šiame straipsnyje nenaudosiu naršyklės priešdėlių, kad supainiočiau kodą, tačiau naudodami realų gyvenimą nepamirškite pridėti „Firefox“, „Safari“ ir „Chrome“ priešdėlių palaikymo.

Iš karto atkreipsiu dėmesį į dar dvi svarbias detales.
Pirma, daugeliu atvejų kelių stulpelių išdėstymo teksto naudojimas gali būti laikomas svetainės turinio rodymo tobulėjimu progresyviojo tobulinimo keliu, kurio metu modernesnių svetainių naudotojai gaus daugiau gėrybių:

Antra, kelių stulpelių ekranas puikiai dera su medijos užklausų galimybėmis (ir reaguojančiomis dizaino idėjomis), pavyzdžiui, esant skirtingam ekrano dydžiui, galite formatuoti tekstą skirtingu stulpelių skaičiumi:

Ir paskutinis dalykas, kurį norėčiau pastebėti įžangoje, kad nesigilinčiau ir ramia sąžine pereičiau prie techninių smulkmenų: naudojant kelių stulpelių teksto išdėstymą, reikia atsiminti, kad toks išdėstymas taip pat suponuoja tam tikra skaitymo tvarka (Europos kalboms – iš kairės į dešinę). Todėl svarbu, kad norint perkelti žvilgsnį iš vieno stulpelio į kitą, būtina atlikti kuo mažiau papildomų veiksmų, ypač kalbant apie vertikalius slinkimus:

Šia prasme horizontalus stulpelių pobūdis geriau derinamas su horizontaliu slinkimu (kaip naudojamas daugelyje Win8 programų – pavyzdžiui, tai aiškiai matoma programoje USA Today):

Apskritai garsiakalbiai yra puikūs, tačiau nepamirškite apie vartotojo patirtį. O dabar į mūšį!

Stulpeliai

Taigi, turime tekstą (turinį), kurį norime sudėti į kelis stulpelius. Kur pradėti?

Norėdami paversti tokį elementą kelių stulpelių elementu, turite nustatyti vieną iš ypatybių naudodami CSS stilius: stulpelio pločio arba stulpelių skaičiusį kitą reikšmę nei automatinis. Pavyzdžiui,
Norėdami padalyti tekstą į du stulpelius, tiesiog atlikite šiuos veiksmus:

Straipsnis ( stulpelių skaičius: 2; )

Naršyklė padarys visa kita:

Alternatyvi nuosavybė - stulpelio pločio— leidžia nustatyti optimalų stulpelio plotį:

Straipsnis ( stulpelio plotis: 150 piks.; )

Tokiu atveju pati naršyklė suskaido turinį į reikiamą skaičių stulpelių, kad užpildytų išorinį konteinerį, prisitaikydama prie nurodyto stulpelio pločio. Svarbus dalykas yra tas tikrasis plotis gali skirtis nuo nurodyto aukštyn arba žemyn: aukščiau esančiame paveikslėlyje pilka juosta yra lygiai 150 pikselių pločio – ir, kaip matote, ji yra mažesnė už tikrąjį stulpelio plotį.

Šis elgesys yra apibrėžtas specifikacijoje ir suteikia (automatiškai) didesnį lankstumą kuriant atsakingą žymėjimą:

Pavyzdžiui, jei turite 100 piks. pločio konteinerį ir nustatote 45 piks. pločio stulpelius, naršyklė laikys, kad tilps tik du stulpeliai, o kad užpildytų visą erdvę, padidins kiekvieno dydį iki 50 piks. (Taip pat atsižvelgiama į tarpą tarp stulpelių, kuris bus aptartas kitame skyriuje.)

Tam tikra prasme tai gali būti vertinama kaip alternatyva medijos užklausoms, norint nurodyti skirtingą stulpelių skaičių, atsižvelgiant į lango dydį, ir automatiškai apskaičiuoti stulpelių plotį:

@media (min-width:400px) ( straipsnis ( stulpelių skaičius: 2; ) ) @media (min-width:600px) ( straipsnis ( stulpelių skaičius: 3; ) ) ...

Tai jau antras kartas, kai kalbu apie alternatyvą – štai kodėl.

skaičiuoti vs. plotis

Kaip jau turėtų būti aišku iš aukščiau pateikto aprašymo, specifikacijoje yra du būdai nustatyti stulpelių skaičių ir plotį (beje, jis yra vienodas visoms stulpeliams!):
  • stulpelių skaičius leidžia nurodyti stulpelių, į kuriuos norite padalinti turinį, skaičių, o stulpelių plotį nustato naršyklė, atsižvelgdama į laisvą erdvę.
  • stulpelio pločio jis ateina iš kitos pusės: nurodo, kokie stulpeliai turėtų būti apytiksliai, tačiau jų skaičių skaičiuoti palieka naršyklės nuožiūrai.
Daugeliu atvejų naudosite vieną ar kitą, veikdami atitinkamai su skaičiais arba ilgiais. Norėdami supaprastinti žymėjimą, yra tokia trumpa savybė stulpelius, reaguojant į nurodytų duomenų formatą:

Stulpeliai: 12em; /* stulpelio plotis: 12em; stulpelių skaičius: automatinis; */ stulpeliai: 2; /* stulpelio plotis: automatinis; stulpelių skaičius: 2; */ stulpeliai: auto; /* stulpelio plotis: automatinis; stulpelių skaičius: automatinis; */ stulpeliai: auto 12em; /* stulpelio plotis: 12em; stulpelių skaičius: automatinis; */ stulpeliai: 2 auto; /* stulpelio plotis: automatinis; stulpelių skaičius: 2; */

Kas atsitiks, jei nurodysite ir stulpelių skaičių, ir optimalų plotį? Pagal specifikaciją šiuo atveju stulpelių skaičius apibrėžia maksimalų stulpelių skaičių:

Straipsnis ( stulpeliai: 150 piks. 3; /* stulpelio plotis: 150 piks.; stulpelių skaičius: 3; */ )

Tiesą sakant, po žiniatinklio standartų kūrimo, įskaitant kai kuriuos mano straipsnius apie CSS3 (žr., pavyzdžiui, žr.), tikiuosi, kad jus ne mažiau įkvėps žiniatinklio kūrėjams atsiveriančios galimybės. Prisitaikantys, lankstūs ir galingi turinio paskirties vietos valdymo įrankiai tampa vis artimesni ir prieinamesni. O sudėtingas problemas spręsti darosi vis lengviau.

Interaktyvus

Galite žaisti su CSS3 kelių stulpelių veikimu ietestdrive.com:

Išbandykite, eksperimentuokite. Praneškite apie klaidas naršyklės kūrėjams. Nepamirškite pagalvoti apie tai, ką matys senesnių (ir, atrodo, modernių, bet vis dar ne visiškai standartus atitinkančių) naršyklių vartotojai – pavyzdžiui, galite naudoti jQuery Columnizer įskiepį. Prisiminkite pritaikomumą ir mažų ir didelių ekranų žiūrovus.

Kaip išdėstyti tekstą puslapyje keliuose stulpeliuose? Ir ar tai galima padaryti automatiškai? Be abejo, daugelis iš jūsų, kurie dalyvauja ar buvo susiję su žiniatinklio kūrimu, susidūrė su šia problema ir dažnai susiduria su sudėtingais sprendimais, kuriems reikia sudėtingų stilių arba papildomų „JavaScript“ bibliotekų (žr., pavyzdžiui, „jQuery“ skirtą „Columnizer“ papildinį).

Kelių stulpelių turinio išdėstymas (nepainioti su bendro kelių stulpelių puslapio išdėstymo užduotimi, kuri yra artimesnė blokų išdėstymo tinklelyje problemai) jau seniai skinasi kelią žiniatinklio standartų pasaulyje. ir, galiausiai, ne tik pasiekė kandidato rekomendacijos būseną atitinkamo CSS3 kelių modulio stulpelio Išdėstymas , bet ir gavo gana platų palaikymą naršyklėse: kai kur su priešdėliais (-moz- arba -webkit-), o kažkur dabartinėje. (Opera 11.1+) ir planuojamos versijos (IE10+), ir iš karto be priešdėlių.

komentuoti
Internet Explorer 10 atveju tai automatiškai reiškia, kad galite naudoti CSS3 kelių stulpelių kurdami Metro stiliaus programas, skirtas Windows 8 naudodami HTML/CSS/JS.

Šiame straipsnyje nenaudosiu naršyklės priešdėlių, kad supainiočiau kodą, tačiau naudodami realų gyvenimą nepamirškite pridėti „Firefox“, „Safari“ ir „Chrome“ priešdėlių palaikymo.

Iš karto atkreipsiu dėmesį į dar dvi svarbias detales.
Pirma, daugeliu atvejų kelių stulpelių išdėstymo teksto naudojimas gali būti laikomas svetainės turinio rodymo tobulėjimu progresyviojo tobulinimo keliu, kurio metu modernesnių svetainių naudotojai gaus daugiau gėrybių:

Antra, kelių stulpelių ekranas puikiai dera su medijos užklausų galimybėmis (ir reaguojančiomis dizaino idėjomis), pavyzdžiui, esant skirtingam ekrano dydžiui, galite formatuoti tekstą skirtingu stulpelių skaičiumi:

Ir paskutinis dalykas, kurį norėčiau pastebėti įžangoje, kad nesigilinčiau ir ramia sąžine pereičiau prie techninių smulkmenų: naudojant kelių stulpelių teksto išdėstymą, reikia atsiminti, kad toks išdėstymas taip pat suponuoja tam tikra skaitymo tvarka (Europos kalboms – iš kairės į dešinę). Todėl svarbu, kad norint perkelti žvilgsnį iš vieno stulpelio į kitą, būtina atlikti kuo mažiau papildomų veiksmų, ypač kalbant apie vertikalius slinkimus:

Šia prasme horizontalus stulpelių pobūdis geriau derinamas su horizontaliu slinkimu (kaip naudojamas daugelyje Win8 programų – pavyzdžiui, tai aiškiai matoma programoje USA Today):

Apskritai garsiakalbiai yra puikūs, tačiau nepamirškite apie vartotojo patirtį. O dabar į mūšį!

Stulpeliai

Taigi, turime tekstą (turinį), kurį norime sudėti į kelis stulpelius. Kur pradėti?

Norėdami paversti tokį elementą kelių stulpelių elementu, turite nustatyti vieną iš ypatybių naudodami CSS stilius: stulpelio pločio arba stulpelių skaičiusį kitą reikšmę nei automatinis. Pavyzdžiui,
Norėdami padalyti tekstą į du stulpelius, tiesiog atlikite šiuos veiksmus:

Straipsnis ( stulpelių skaičius: 2; )

Naršyklė padarys visa kita:

Alternatyvi nuosavybė - stulpelio pločio— leidžia nustatyti optimalų stulpelio plotį:

Straipsnis ( stulpelio plotis: 150 piks.; )

Tokiu atveju pati naršyklė suskaido turinį į reikiamą skaičių stulpelių, kad užpildytų išorinį konteinerį, prisitaikydama prie nurodyto stulpelio pločio. Svarbus dalykas yra tas tikrasis plotis gali skirtis nuo nurodyto aukštyn arba žemyn: aukščiau esančiame paveikslėlyje pilka juosta yra lygiai 150 pikselių pločio – ir, kaip matote, ji yra mažesnė už tikrąjį stulpelio plotį.

Šis elgesys yra apibrėžtas specifikacijoje ir suteikia (automatiškai) didesnį lankstumą kuriant atsakingą žymėjimą:

Pavyzdžiui, jei turite 100 piks. pločio konteinerį ir nustatote 45 piks. pločio stulpelius, naršyklė laikys, kad tilps tik du stulpeliai, o kad užpildytų visą erdvę, padidins kiekvieno dydį iki 50 piks. (Taip pat atsižvelgiama į tarpą tarp stulpelių, kuris bus aptartas kitame skyriuje.)

Tam tikra prasme tai gali būti vertinama kaip alternatyva medijos užklausoms, norint nurodyti skirtingą stulpelių skaičių, atsižvelgiant į lango dydį, ir automatiškai apskaičiuoti stulpelių plotį:

@media (min-width:400px) ( straipsnis ( stulpelių skaičius: 2; ) ) @media (min-width:600px) ( straipsnis ( stulpelių skaičius: 3; ) ) ...

Tai jau antras kartas, kai kalbu apie alternatyvą – štai kodėl.

skaičiuoti vs. plotis

Kaip jau turėtų būti aišku iš aukščiau pateikto aprašymo, specifikacijoje yra du būdai nustatyti stulpelių skaičių ir plotį (beje, jis yra vienodas visoms stulpeliams!):
  • stulpelių skaičius leidžia nurodyti stulpelių, į kuriuos norite padalinti turinį, skaičių, o stulpelių plotį nustato naršyklė, atsižvelgdama į laisvą erdvę.
  • stulpelio pločio jis ateina iš kitos pusės: nurodo, kokie stulpeliai turėtų būti apytiksliai, tačiau jų skaičių skaičiuoti palieka naršyklės nuožiūrai.
Daugeliu atvejų naudosite vieną ar kitą, veikdami atitinkamai su skaičiais arba ilgiais. Norėdami supaprastinti žymėjimą, yra tokia trumpa savybė stulpelius, reaguojant į nurodytų duomenų formatą:

Stulpeliai: 12em; /* stulpelio plotis: 12em; stulpelių skaičius: automatinis; */ stulpeliai: 2; /* stulpelio plotis: automatinis; stulpelių skaičius: 2; */ stulpeliai: auto; /* stulpelio plotis: automatinis; stulpelių skaičius: automatinis; */ stulpeliai: auto 12em; /* stulpelio plotis: 12em; stulpelių skaičius: automatinis; */ stulpeliai: 2 auto; /* stulpelio plotis: automatinis; stulpelių skaičius: 2; */

Kas atsitiks, jei nurodysite ir stulpelių skaičių, ir optimalų plotį? Pagal specifikaciją šiuo atveju stulpelių skaičius apibrėžia maksimalų stulpelių skaičių:

Straipsnis ( stulpeliai: 150 piks. 3; /* stulpelio plotis: 150 piks.; stulpelių skaičius: 3; */ )

Tiesą sakant, po žiniatinklio standartų kūrimo, įskaitant kai kuriuos mano straipsnius apie CSS3 (žr., pavyzdžiui, žr.), tikiuosi, kad jus ne mažiau įkvėps žiniatinklio kūrėjams atsiveriančios galimybės. Prisitaikantys, lankstūs ir galingi turinio paskirties vietos valdymo įrankiai tampa vis artimesni ir prieinamesni. O sudėtingas problemas spręsti darosi vis lengviau.

Interaktyvus

Galite žaisti su CSS3 kelių stulpelių veikimu ietestdrive.com:

Išbandykite, eksperimentuokite. Praneškite apie klaidas naršyklės kūrėjams. Nepamirškite pagalvoti apie tai, ką matys senesnių (ir, atrodo, modernių, bet vis dar ne visiškai standartus atitinkančių) naršyklių vartotojai – pavyzdžiui, galite naudoti jQuery Columnizer įskiepį. Prisiminkite pritaikomumą ir mažų ir didelių ekranų žiūrovus.