Hemsida » Kodning » Så här ändrar du standard textförpackning med HTML och CSS

    Så här ändrar du standard textförpackning med HTML och CSS

    Till skillnad från papper kan webbsidor sträcker sig nästan oändligt i sidled. Så mycket som imponerande det är det inte något vi verkligen behöver när du läser. Webbläsare sätter in text beroende på textbehållarens bredd och den skärmens bredd så att vi kan se all text utan att behöva rulla sidled mycket (endast nedåt).

    Omslag är något som webbläsare överväger många faktorer, till exempel språkets språk eller placering av skiljetecken och mellanslag-de Tryck inte bara ner vad passar inte i rutan som definieras för textinnehållet.

    Annat än omslag, webbläsare också ta hand om utrymmena; de sammanfogar flera på varandra följande utrymmen i källkoden i ett enda utrymme på den renderade sidan och de registrerar också tvångsavbrott innan de börjar arbeta med omslaget.

    När ska du ändra standardtextförpackning

    Det är allt bra, och mycket uppskattat. Men vi kan lätt hamna under omständigheter där standardwebbläsarens beteende inte är det vi söker. Det kan vara en rubrik som bör inte förpackas eller ett ord i ett stycke som bättre brutna än att gå ner i en linje, lämnar ett udda tomt utrymme i slutet av linjen.

    Det kan också hända att vi bara är desperat behöver de utrymmen som bevaras i vår text, men webbläsaren fortsätter att kombinera dem till en, vilket tvingar oss att lägga till flera i källkoden.

    Förpackningsinställningar kan också ändra med språk och syfte med texten. En nyhetsartikel från Mandarin och en fransk dikt behöver inte nödvändigtvis viklas på exakt samma sätt.

    Det finns ett rättvist antal CSS-egenskaper (och HTML-element!) Som kan kontrollera omslaget och brytpunkterna och även definiera hur mellanslag och radbrytningar behandlas före omslaget.

    Mjuka wrap möjligheter och mjukbrytning raster

    Webbläsare bestämmer vart man ska sätta ihop en överflödig text beroende på ordgränser, bindestreck, stavelser, skiljetecken, mellanslag och mer. Dessa platser är alla kallade mjuka wrap möjligheter och när webbläsaren bryter mot texten på en sådan plats kallas pausen a mjuk wrap break.

    Det enklaste sättet att tvinga en extra paus kan göras med hjälp av den goda gamla
    element.

    blank

    Om du är bekant med white-space CSS-egenskapen Jag slår vad om att du kom för att först förstå det på samma sätt som många andra; medan du letar efter ett sätt att förhindra omslagning av text. De nowrap värdet av white-space gör exakt det.

    Men white-space egendom handlar om mer än bara omslagning. Först av allt, vad är blankutrymme? Det är en uppsättning rymdtecken. Varje utrymme i uppsättningen varierar från varandra i längd, riktning eller båda.

    En typisk enskilt horisontellt mellanslag är vad vi lägger till genom att trycka på mellanslagstangenten. Tab-tangent lägger också till a liknande utrymme men en med större längd. Enter-tangenten lägger till a vertikalt utrymme för att starta en ny linje, och i HTML läggs till en enda okrossbart utrymme till webbsidor. Liksom detta finns det många typer av utrymmen som utgör “blank”.

    Som jag nämnde i början, webbläsare kollapsera flera mellanslag (både horisontella och vertikala) i källan till ett enda utrymme. De också Tänk på dessa mellanslag för inslagningsmöjligheter (platser där en text kan lindas) när inslagning behövs.

    Och det är just dessa webbläsaråtgärder som vi kan kontrollera med white-space. Observera att white-space egendom påverkar inte alla slags utrymme, bara de vanligaste som det vanliga horisontella enkla rymden, flikutrymmet och radmatningarna.

    Nedan kan du se en skärmdump av en provtext som är lindas av webbläsaren för att passa inuti behållaren. Överflödet händer längst ner i behållaren och den överflödda texten är färgad annorlunda. Du kommer att märka sammanfaller av de på varandra följande utrymmena i koden.

     
    EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej a¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej.
     .textContainer width: 500px; höjd: 320px;  

    Efter applicering white-space: nowrap; reglera ändras textförpackningen på följande sätt:

     .textContainer / * ... * / white-space: nowrap;  

    De pre värdet av white-space bevarar alla vitrum och förhindrar omslaget av texten:

     .textContainer / * ... * / white-space: pre;  

    De pre-wrap värdet av white-space bevarar alla vitrum och wraps texten:

     .textContainer / * ... * / white-space: pre-wrap;  

    Slutligen, den pre-line värdet av white-space bevarar de vertikala vita utrymmena som nya linjer och wraps texten:

     .textContainer / * ... * / white-space: pre-line;  

    Ordbrytningar

    En annan viktig CSS-egenskap du borde veta för att styra textomslag är word-break. Du kan se i alla ovanstående skärmdumpar som webbläsaren förpackade texten före ordet “Hej” på höger sida, bortom vilken text överflödig. Webbläsaren bröt inte ordet.

    Men om du måste tillåta bristning av bokstäver i ett ord så att texten skulle se ut till höger måste du använda bryta-all värde för word-break fast egendom:

     .textContainer / * ... * / word-break: break-all;  

    De word-break egenskapen har dessutom ett tredje värde bryta-all och vanligt (som hör till standardlinjen bryts). De behåll alla värde tillåter inte ordbrytning.

    Du kanske inte kan se effekten av behåll alla på engelska. Men på språk där bokstäver i ett ord är meningsfulla enheter på egen hand, webbläsaren kan bryta orden vid inlämning, och detta kan förhindras att använda behåll alla.

    Till exempel, bokstäver i koreanska ord, ursprungligen bruten för omslagning, hålls ihop när white-space: keep-all; regel anges.

    EN¬Â ?? ¸ENªEN³Â ?? à «Â¥EN¼ A-A-Â¥A-A ??  ?? Ã- ??  ?? Ã- ??  ??, ì ??  ??  ?? ìEN½Â ?? En «Â ??  ?? ë ¡EN?? A-A ??  ?? ì ?? a-a¬Â ??  ?? ì ?? ¤. EN¬Â  ?? 10Ã- ??  ?? EN¬Â ??  ??  ?? ìEN½Â ?? à «Â ??  ?? ENªENµA-a¬Â ?? A-A ??  ?? ì ??  ?? ê °  ?? 1997à  ...  ?? 3A¬Â ??  ?? 10a¬Â ?? ¼En «Â¶Â    ° 12ì ?? ¼ENªEN¹Â ?? ìEN§EN?? à  ??  ... ì ?? ¼EN¬Â ??  ?? En «Â§Â ?? ì ?? ¸EN¬EN¦Â ?? ìA-A ?? ì ??  ?? EN¬A-a´En «Â¦EN½En «Â ??  ?? ë  ?? ¤. EN¬EN§Â ?? êEN¸EN?? En «Â ??  ± a« ¡ ?? A-A ??  ?? ì ?? a-a¬Â ??  ?? ì ?? ¤. EN¬Â ?? ´ A-A ??  ?? ì ??  ?? ìA-A ?? ì ??  ?? à «Â ??  ?? EN¬Â- ... êEN³EN?? EN¬Â  ??  °  ?? ì ??  ?? EN¬Â    ¬EN¸ENªÂ °  ?? à «Â ?? ¤EN¬Â ?? ´ A-A ?? ¨ENªÂ »Â ?? En «ÂªEN¨EN¬A-a¬ En «Â ?? ¤EN¬Â ??  ?? êEN³EN¼ ENªÂ °  ?? ì ??  ?? En «Â¶Â ?? ì ?? ¼En «Â¥EN¼ En «Â ?? ¤En «Â £ ¹En «Â ??  ?? ë  ?? ¤.
     .textContainer / * ... * / word-break: keep-all;  

    Den här egenskapen kan stödja ett annat kallat värde break-ordet i framtiden. Du får se hur break-ordet fungerar senare, i “Overflow wrap” avsnittet av denna artikel.

    Ordbrytningsmöjligheter

    Utvecklare kan också lägg till wrap möjligheter inuti ord, använda HTML-element. Om en webbläsare behöver lägga in en textsträng kommer den att överväga platsen där är närvarande för en omslagsmöjlighet.

     
    EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hello â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej. EN¢Â ??  ?? Hej.
     .textContainer / * ... * / white-space: pre-wrap;  

    Utan , hela “Hej” ordet skulle ha gjorts i en ny linje. Genom att lägga till till HTML-koden informerade vi webbläsaren det Det är okej att bryta ordet på den tiden för inslagning, om det är nödvändigt.

    Bindestreck

    De bindestreck CSS-egenskapen är Ett annat sätt att styra raster mellan bokstäver i ett ord. Vi har en separat artikel om CSS-koppling om du är intresserad. Kort sagt, gör fastigheten dig att skapa inslagningsmöjligheter genom bindning.

    Dess bil värde frågar webbläsaren till automatiskt binda ord och bryta ord när det behövs medan omslaget. De manuell värdet tvingar webbläsare till Wrap (om det behövs) vid kopplingsmöjligheter som läggs till av oss, som bindestreckskaraktären (‐) eller ­ (mjukt bindestreck). Om ingen gavs som värde det skulle vara ingen omslag görs nära bindestreck.

     
    blåhus blåhus blåhus blåhus blåhus blåhus blåhus blåhus blåhus blåhus blåhus blåhus
     .textContainer / * ... * / -webkit-bindestreck: auto; -ms-bindestreck: auto; bindestreck: auto;  

    Overflow wrap

    De överströmnings-wrap CSS-egenskapskontrollen om a webbläsaren kan bryta ord (eller bevarade utrymmen, stöd för vilka det kan hända inom en snar framtid) på överflöd. När break-ordet värdet ges för överströmnings-wrap, ordet kommer att brytas om inga andra mjukomslag finns i linjen.

    Anteckna det överströmnings-wrap är också känd som word-wrap (de är aliaser).

     
    bluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehousebluehouse
     .textContainer / * ... * / overflow-wrap: break-word;  

    Med inget mellanslag mellan bokstäverna i HTML-koden ovan (det vill säga inga inpakningsmöjligheter), förstördes inte texten först och bevarades som ett enda ord.

    Men när tillståndet gavs att sätta ihop texten genom att bryta ord (dvs break-ordet värdet gavs till överströmnings-wrap), the omslaget hände genom att bryta hela strängen varhelst det var nödvändigt.