2013-10-22 9 views
8

Usprawnione akapity rozszerzają odstęp między wyrazami, ale spodziewałem się, że to rozszerzenie nie wpłynie na  . Niestety, jest on uszkodzony i dlatego muszę znaleźć nienaruszony znak przestrzeni (najlepiej o tej samej szerokości co zwykła spacja w zwykłym akapicie z wyrównaniem do lewej strony). Jakieś sugestie?Czy istnieje znak spacji o stałej szerokości, który nie podlega rozszerzeniu w wyjustowanym akapicie?

+0

Jaki jest powód potrzebnej postaci? Zastanawiam się. –

+1

Skróty takie jak "i. E." i "np."Wygląda bardzo brzydko, gdy przestrzeń jest rozwinięta – 76987

+4

nie ma miejsca w np. i np. – Sebas

Odpowiedz

3

Można dodać znak, taki jak . i uczynić go niewidocznym.

Działa. jsFiddle here

Nie jest analizowany jako biała spacja, ponieważ technicznie jest to postać, która po prostu nie jest widoczna.

Czystsze metody, można wstawić znak za pośrednictwem elementu :after pseudo ..

span:after { 
    content: "."; 
    visibility: hidden; 
} 

jsFiddle here

+0

Usunięcie tej postaci/span nie zmienia w ogóle wyglądu, więc o co chodzi? Nie ma również miejsca o pojedynczej szerokości –

+0

@AndrewMarshall Właściwie tak, istnieje przestrzeń obecna w obu przykładach! Przyjrzyj się uważnie .. Zobacz http://i.stack.imgur.com/Ltftb.png .. to jest dokładnie to, co chce OP. –

+0

Nie w Chrome 30, Chrome 32, FF 24 lub Safari 6 (wszystkie na OS X 10.8). https://i.imgur.com/dOTWXlu.png –

1

Unicode oferuje kilka spacing characters. Jest tutaj prawdopodobnie thin space, (Unicode 0x2009,   w HTML), który jest mniejszy, ale zbliżony do zwykłej przestrzeni. See it working on JSFiddle.

Możesz być także zainteresowany związanym z Unicode 0x202F, który jest nie łamającą się wersją cienkiej przestrzeni.

Zaletą tej metody ukrytego znaku jest to, że białe spacje faktycznie nadal istnieją w źródle, a zatem będą odczytywane jako takie przez czytnik ekranu (podczas gdy ukryta postać zostanie całkowicie zignorowana).

4

Renderowanie znaków spacji innych niż SPACE i NO-BREAK SPACE nie jest zdefiniowane w specyfikacjach HTML. W praktyce można używać różnych fixed-width spaces i nie są one rozszerzane w uzasadnieniu (efektywnie traktowane są one jak znaki graficzne, tylko z pustymi znakami glifów). Ten, który najbardziej pasuje do normalnej przestrzeni o szerokości, to CZTEROPERMOWA PRZESTRZEŃ,  , ale z komentarzy wydaje się, że wolałbyś używać CIENKIEJ PRZESTRZENI lub SZEŚĆ-PER-EM PRZESTRZEŃ.

Wcześniej przeglądarki traktowały NO-BREAK SPACE jako nierozszerzalne, a niektóre nadal mogą, ale z jakiegoś dziwnego powodu większość przeglądarek porzuciła ten rozsądny pomysł. Nie ma gwarancji, że nie zrobią tego samego dla przestrzeni o stałej szerokości.

Poza wspomnianym punktem teoretycznym i zagrożeniem, przestrzenie o stałej szerokości mają problemy z czcionkami i zerwaniem. Problemy z czcionkami dotyczą głównie starych wersji IE, a łamliwość (tj. Przestrzenie o stałej szerokości są traktowane jako pozwalające na podział linii po nich) mogą być rozwiązywane za pomocą WĄSKIEJ PRZESTRZENI NO-PRZERWA, jeśli jej szerokość pasuje do ciebie i bierzesz ryzyko z kwestią czcionek.

Najlepiej więc zrobić odstępy w CSS, nawet jeśli oznacza to trochę więcej pracy. Dla np. "Np." Z odstępami po pierwszym okresie, musisz zdecydować, czy powinno to być "np." Czy "e. g. "na poziomie postaci. W pierwszym przypadku po prostu zapisz pierwszy okres w span i ustaw na nim padding-right. W tym drugim przypadku możesz np. użyj e.<span class=thin>&nbsp;</span>g. i ustaw szerokość span na coś wystarczająco małego (używając ustawienia display: inline-block i width).

Powiązane problemy