Jak kontrolować odstępy między wyrazami w wyjustowanym tekście za pomocą CSS?

9

Mam 2 bloki tekstu, które są dość małe (każdy pod akapitem) i naprawdę wyglądają na bardziej uzasadnione, ale problem polega na tym, że text-align: justify;czasami dodaje naprawdę duże spacje i sprawia, że ​​tekst jest nieco brzydki (oczywiście efekt odwrotny).

Czy możliwe jest bardziej precyzyjne dostrojenie odstępów słów za pomocą CSS, aby tak się nie stało?

TehMacDawg
źródło

Odpowiedzi:

9

TEKST CSS-UZASADNIENIE

Ta właściwość tylko dla IE oferuje udoskonalenie wartości „uzasadnienia” użytej w tej text-alignwłaściwości. Rzeczywiście, wartość „uzasadnienia” musi być ustawiona dla tej właściwości, text-justifyaby mieć jakikolwiek efekt.

text-justify oferuje dokładny poziom kontroli uzasadnienia nad zawartością, pozwalając na zastosowanie szeregu wyrafinowanych modeli uzasadnienia stosowanych w różnych systemach pisania języków.

Przykład

<p style="text-align: justify; text-justify: newspaper;">
    This is Newspaper justified content
</p>

Możliwa wartość

VALUE                   DESCRIPTION
----------------------  ---------------------------------------------------------------------
auto                    The browser will determine the appropriate justification algorithm
                        to use

distribute              Justification is handled similarly to the newspaper value,
                        but this version is optimized for East Asian content
                        (especially the Thai language.)
                        In this justification method, the last line is not justified.

distribute-all-lines    Behavior and intent for this value is the same as with the
                        distribute value, but the last line is also justified.

inter-cluster           Justifies content that does not have any inter-word spacing
                        (such as with many East Asian languages.)

inter-ideograph         Used for justifying blocks of ideographic content.
                        Justification is achieved by increasing or decreasing spacing
                        between ideographic characters and words as well.

inter-word              Justification is achieved by increasing the spacing between words.
                        It is the quickest method of justification and does not justify
                        the last line of a content block.

newspaper               Spacing between letters and words are increased or decreased
                        as necessary.

Odniesienie do IE mówi „jest to najbardziej wyrafinowana forma uzasadnienia alfabetów łacińskich”.

Źródło: http://www.css3.com/css-text-justify/

Mam nadzieję że to pomoże!

Marcus Mangelsdorf
źródło
Wygląda na to, że jest teraz obsługiwany przez inne przeglądarki .
mndrix
3

Oprócz używania text-justify, które wydaje się być obecnie obsługiwane tylko przez IE, rozważ dodanie dzielenia wyrazów, z wyraźnymi wskazówkami dzielenia wyrazów &shy;i / lub automatycznego dzielenia wyrazów w przeglądarce, używania hyphens: autoodpowiednich prefiksów przeglądarki lub używania dzielenia wyrazów opartego na JavaScript, takiego jak Hyphenator.js. Dzielenie wyrazów często znacznie zmniejsza potrzebę dodatkowego odstępu w uzasadnieniu.

Jukka K. Korpela
źródło
The text-justify property is supported in all of the major browsers., źródło: w3schools.com/cssref/css3_pr_text-justify.asp i Text-Align, w3schools.com/cssref/pr_text_text-align.asp
3
@AbdiasSoftware, strona jest fałszywa - to kolejny dowód na bzdury w3schools, patrz w3fools.com (strona w3schools zawiera przyciski „PlayIt”, których można użyć, aby dość szybko zobaczyć, że ich informacje są nieprawidłowe.)
Jukka K. Korpela
Czasami są trochę przestarzałe, ale nie nazwałbym ich fałszywymi :-) W każdym razie jest inne źródło: reference.sitepoint.com/css/text-align
@AbdiasSoftware, inne źródło dotyczy innej właściwości. Witryna reference.sitepoint.com w ogóle nie wspomina text-justify. Ale przepraszam, że początkowo pisałem text-align-justifyzamiast text-justify(naprawione teraz). Ustawienie text-align: justifyjest oczywiście sugerowane tutaj; problemem jest to, czy można kontrolować rodzaj uzasadnienia.
Jukka K. Korpela,
Hm, ciekawe. Zrobię więcej badań. Dzięki. Tu jest 4 rano, mój osąd jest wyłączony :-)