Pagrindinis » Kodavimas » Kaip pakeisti numatytąjį teksto įvyniojimą su HTML ir CSS

    Kaip pakeisti numatytąjį teksto įvyniojimą su HTML ir CSS

    Skirtingai nuo popieriaus, tinklalapiai gali būti beveik be galo išilgai į šoną. Kiek įspūdingas, tai yra, tai nėra kažkas, ko mums tikrai reikia skaityti. Naršyklės įveda tekstą, priklausomai nuo teksto konteinerio plotis ir ekrano plotis taip, kad galėtume matyti visą tekstą, nereikia slinkti į šoną (tik žemyn).

    Vyniojimas tai, ką naršyklės daro atsižvelgdamos į daugelį veiksnių, pvz., teksto kalbą ar skyrybos ir tarpų išdėstymą ne tik stumkite žemyn kas netelpa teksto turiniui skirtame laukelyje.

    Be pakavimo, naršyklės taip pat rūpintis erdvėmis; jie sujungia keletą iš eilės esančių šaltinių kodo į vieną erdvę pateiktame puslapyje, ir jie taip pat užregistruoja priverstines linijų pertraukas, prieš pradėdami dirbti pakuotėje.

    Kada pakeisti numatytąjį teksto įvyniojimą

    Tai viskas puiku ir labai vertinama. Tačiau mes galime lengvai pasiekti aplinkybes, kai numatytasis naršyklės elgesys nėra tas, ko ieškome. Tai gali būti antraštė neturėtų būti suvynioti arba žodį pastraipoje geriau sugadinti, nei nusileisti linijoje, linijos pabaigoje paliekant nelyginę tuščią erdvę.

    Taip pat gali atsitikti, kad mes tiesiog beviltiškai reikia tų erdvių, išsaugotų mūsų tekste, tačiau naršyklė juos sujungia į vieną, verčia mus pridėti kelis kodą.

    Be to, gali būti ir įvyniojimo nuostatos keisti teksto kalbą ir paskirtį. Mandarinų naujienų straipsnis ir prancūzų eilėraštis nebūtinai turi būti suvynioti taip pat.

    Yra nemažai CSS savybių (ir HTML elementų!), Kurie gali kontroliuoti vyniojimą ir taškus ir taip pat apibrėžti, kaip prieš vyniojimą apdorojamos erdvės ir linijos pertraukos.

    „Soft wrap“ galimybės ir minkštos plėvelės pertraukos

    Naršyklės nusprendžia, kur supakuoti perpildytą tekstą priklausomai nuo žodžio ribų, brūkšnelių, skiemenų, skyrybos ženklų, tarpų ir daugiau. Visos šios vietos vadinamos minkštos plėvelės galimybės ir kai naršyklė sulaužo tekstą vienoje tokioje vietoje, pertrauka vadinama a minkšta plėvelė.

    Paprasčiausias būdas priversti papildomą pertrauką gali būti padaryta naudojant senus
    elementas.

    Balta vieta

    Jei esate susipažinę su balta vieta CSS nuosavybė, kurią galiu statyti, pirmiausia jį žinojo kaip ir daugelis kitų; ieškodami būdų užkirsti kelią teksto įvyniojimui. The krapštukas vertė balta vieta tai daro tiksliai.

    Tačiau balta vieta nuosavybė yra daugiau nei tik įvyniojimas. Pirmiausia, kas yra erdvė? Tai yra erdvės simbolių rinkinys. Kiekviena rinkinio vieta skiriasi ilgis, kryptis arba abu.

    Tipiškas vienas horizontalus erdvės simbolis tai, ką mes įtraukiame paspausdami tarpo klavišą. Tab mygtukas taip pat prideda a panaši erdvė, bet didesnio ilgio. Įvedimo klavišas priduria a vertikali erdvė pradėti naują eilutę, ir HTML prideda a viena neperleidžiama erdvė į tinklalapius. Kaip ir tai, yra daug erdvių, kurios sudaro “balta vieta”.

    Kaip minėjau pradžioje, naršyklės žlugti kelias erdves (tiek horizontaliai, tiek vertikaliai) šaltinyje į vieną erdvę. Jie taip pat apsvarstyti šiuos erdvės simbolius įvyniojimo galimybėms (kai tekstą galima įvynioti), kai reikia pakuoti.

    Ir būtent šiuos naršyklės veiksmus galime kontroliuoti balta vieta. Atkreipkite dėmesį, kad balta vieta nuosavybė neturi įtakos visoms erdvėms, tik dažniausiai pasitaikantys pvz., reguliarios horizontalios vienos erdvės, skirtukų erdvės ir linijų kanalai.

    Žemiau galite matyti pavyzdinio teksto ekrano kopiją apvyniotas naršyklėje, kad tilptų jo talpykloje. Perpildymas įvyksta konteinerio apačioje, o perpildytas tekstas dažomas skirtingai. Jūs pastebėsite iš eilės esančių erdvių žlugimas kodą.

     
    â� Sveiki. â� Sveiki. â� Sveiki â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki.
     .textContainer plotis: 500px; aukštis: 320px;  

    Pritaikius baltoji erdvė: krapštukas; taisyklė, teksto įvyniojimas keičiamas taip:

     .textContainer / *… * / baltoji erdvė: krapštukas;  

    The iš anksto vertė balta vieta išsaugo visas vietas ir apsaugo teksto įvyniojimą:

     .textContainer / *… * / balta erdvė: iš anksto;  

    The iš anksto suvynioti vertė balta vieta išsaugo visas vietas ir tekstą:

     .textContainer / *… * / balta erdvė: išankstinis įvyniojimas;  

    Galiausiai, iš anksto linija vertė balta vieta išsaugo vertikalias vietas pavyzdžiui, naujos linijos ir tekstą:

     .textContainer / *… * / balta erdvė: iš anksto linija;  

    Žodžių pertraukos

    Kita svarbi CSS savybė, kurią turėtumėte žinoti valdydami teksto įvedimą, yra žodžių pertrauka. Visuose aukščiau esančiuose ekrano vaizduose galite pamatyti naršyklę supakuotas tekstas prieš žodį “Sveiki” dešinėje pusėje, po kurios tekstas perpildytas. Naršyklė nepažeidė žodžio.

    Tačiau, jei jūs privalau leiskite raidėms pažeisti žodį taip, kad tekstas atrodytų net dešinėje, jums reikia naudoti pertrauka vertė žodžių pertrauka nuosavybė:

     .textContainer / *… * / žodžių pertrauka: pertrauka;  

    The žodžių pertrauka nuosavybė turi trečią vertę pertrauka ir normalus (priklauso numatytai eilutės pertraukai). The išlaikyti viską vertė neleidžia žlugti žodžių.

    Gali būti, kad negalėsite matyti išlaikyti viską angliškai. Tačiau kalbomis, kuriose yra raidės prasmingus vienetus, naršyklė gali sulaužyti žodžius, kai jie vyniojami, ir tai galima išvengti naudojant išlaikyti viską.

    Pavyzdžiui, raidės korėjiečių kalbomis, iš pradžių buvo sugadintas, yra laikomi kartu kai balta erdvė: išlaikyti viską; taisyklė.

    ìÂ?¸ÃªÂ³Â   ¥¼ Â-Â-Â¥Â-Â? Â? Â? Â? Â?¬Â?   Â? Â?¬Â½Â? Ã? Â?¡Â? Â-Â?¬Â Â-ìÂ?¬Â?¤. ì    10 Â? ìÂ?   Â? Â?¬Â½Â? Ã? êµÂ-ìÂ? Â-Â?¬Â?ª° °? 1997 «…? 3ìÂ? 10a¬Â?¼Ã «Â¶Â    °  ° 12ìÂ?¼ÃªÂ¹Â? ì§Â? à Â? Â… ìÂ?¼Ã¬Â? à «Â§Â? ìÂ?¸Ã¬Â¦Â? ìÂ-Â? ìÂ? ìÂ-´à «Â¦Â½Â Â? Â?¤. ì§Â? ê¸Â? à    ± à ¡Â? Ã? Â?¬Â Â-ìÂ?¬Â?¤. ìÂ?´ Â-Â?¬Â?¬Â-Â? ìÂ? Â? Â? ìÂ-Â… ê³Â? ì    ° °?¬Â? ì    ¬¸ê     Â?¤Ã¬Â?´ Â-Â?¨ÃªÂ? à «ÂªÂ¨Ã¬Â-¬  Â?¤Ã¬Â?ªÂ³Â¼ ê ° Â? ìÂ? à «Â¶Â? ìÂ?¼Ã «Â¥Â¼  Â?¤Ã «Â £¹Â Â? Â?¤.
     .textContainer / *… * / žodžių pertrauka: išlaikyti viską;  

    Ši savybė gali palaikyti kitą vadinamąją vertę žodis ateityje. Pamatysite, kaip žodis veikia vėliau, “Perpildymo įvyniojimas” skyriuje.

    Žodžio pertraukos galimybės

    Programuotojai taip pat gali pridėti žodžių žodžių galimybes, naudojant HTML elementas. Jei naršyklė turi suvynioti teksto eilutę, ji apsvarstys vietą, kurioje yra pakavimo galimybei.

     
    â� Sveiki. â� Sveiki. â� Hello â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki. â� Sveiki.
     .textContainer / *… * / balta erdvė: išankstinis įvyniojimas;  

    Be , visas “Sveiki” žodis būtų pateiktas nauja eilute. Pridedant HTML kodą mes informavome naršyklę tai yra gerai, kad pažeistumėte žodį tuo metu, jei tai būtina.

    Brūkšneliai

    The brūkšneliai CSS nuosavybė yra dar vienas būdas kontroliuoti pertraukas tarp raidžių žodyje. Jei jus domina, turime atskirą straipsnį apie CSS brūkšnį. Trumpai tariant, nuosavybė leidžia sukurti pakavimo galimybes per brūkšnį.

    Jo automatinis vertė verčia naršyklę prireikus automatiškai sujungia ir nutraukia žodžius vyniojimo metu. The vadovas vertė verčia naršykles suvyniokite (jei reikia) prie mums suteiktų brūkšnių galimybių, pvz., brūkšnelio simbolis (‐) arba ­ (minkšta brūkšnelė). Jei nė vienas buvo pateikta kaip vertė nėra brūkšnelių pakavimo.

     
    bluehouse bluehouse bluehouse bluehouse bluehouse bluehouse mėlynas namas mėlynas namas mėlynas namas mėlynas namas mėlynas namas
     .textContainer / *… * / -webkit-brūkšneliai: auto; -ms-brūkšneliai: auto; brūkšneliai: auto;  

    Perpildymo įvyniojimas

    The perpildymas CSS nuosavybės kontrolė, jei a naršyklė gali sulaužyti žodžius (arba išsaugotos erdvės, kurių palaikymas gali įvykti artimiausioje ateityje) dėl perpildymo. Kai žodis vertė yra pateikta perpildymas, žodis bus sugadinta tuo atveju jokios kitos minkštos plėvelės galimybės nerandamos linijoje.

    Prisimink tai perpildymas taip pat žinomas kaip žodis (jie yra slapyvardžiai).

     
    bluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehouse
     .textContainer / *… * / perpildymo plėvelė: break-word;  

    Jei tarp HTML kodo raidžių nėra tarpo (t. Y. Be pakavimo galimybių), tekstas nebuvo suvyniotas į pirmąjį ir buvo išsaugotas kaip vienas žodis.

    Tačiau, kai buvo suteiktas leidimas tekstui apvynioti, sulaužant žodžius (t. Y žodis vertė buvo suteikta perpildymas), vyniojimas įvyko nutraukiant visą eilutę kur tai buvo būtina.