2016-06-06 7 views
10

enter image description hereDlaczego moje elipsy przepełnienia są obcięte w Chrome?

Przy pewnych szerokościach moje elipsy są obcięte. I've created a fiddle that demonstrates it. Próbowałem różnych kombinacji marginesu i dopełnienia, ale nie mogę tego wyeliminować. Używam Chrome 51.

Uwaga: Uprościliśmy mój przykład dla zwięzłości. Mój rzeczywisty div reaguje, a tekst jest dynamiczny. Potrzebuję rozwiązania, które będzie działać dla dowolnego tekstu o dowolnej szerokości.

Czy mogę obejść ten problem?

<div class="container"> 
    <div class="nowrap">This text should be truncated</div> 
</div> 

<div class="container two"> 
    <div class="nowrap">This text should be truncated</div> 
</div> 
.container{ 
    width:196px; 
    font-size:30px; 
} 

.container.two{ 
    width:193px; 
} 

.nowrap{ 
    text-overflow: ellipsis; 
    white-space:nowrap; 
    overflow:hidden; 
} 
+2

Podobno jest to błąd. –

+2

Jeśli to błąd, czy ktoś ma link, pod którym mogę go śledzić? – adamdport

+0

Czy to nie jest to, co robi ellipsis, czy coś mi brakuje? – JakobMillah

Odpowiedz

2

Emisja że stworzony na Chromium ale połączyła jako duplikat this issue, która następnie połączyła mnie jako duplikat this issue. Zaktualizuję tę odpowiedź, gdy status się zmieni.

AKTUALIZACJA: Problem NIE pojawia się w wersji Canary, więc najbliższa wersja Chrome powinna rozwiązać problem.

UPDATE 2: Problem został rozwiązany w Chrome 52.

-1

Z jakiegoś powodu, że dokładnie 193px ten nie występuje, ale muszą być one w Chrome w sposób oblicza, jaka litera odcięcie go na. Użyj 192px.

.container { 
 
    width:196px; 
 
    font-size:30px; 
 
} 
 

 
.container.two { 
 
    width:192px; 
 
} 
 

 
.nowrap{ 
 
    text-overflow: ellipsis; 
 
    white-space:nowrap; 
 
    overflow:hidden; 
 
}
<div class="container"> 
 
    <div class="nowrap">This text should be truncated</span> 
 
</div> 
 

 
<div class="container two"> 
 
    <div class="nowrap">This text should be truncated</span> 
 
</div>

+0

Uprościliśmy mój problem, aby uzyskać zwięzłość, w prawdziwym świecie mój projekt jest responsywny. Potrzebuję go do pracy na dowolną szerokość. Zaktualizowałem moje pytanie, aby to odzwierciedlić. – adamdport

+0

Wtedy nie wiem, że istnieje inne rozwiązanie niż tylko zgłoszenie błędu do Chrome i czekanie na jego naprawienie. Albo zrób jakiś fantazyjny JS, aby upewnić się, że szerokość jest zawsze w przyrostach 4. –

+0

Tekst jest również dynamiczny, więc nawet krok 4-krotny nie zadziała. Dzięki i tak. Przesłałem raport o błędzie do chromu, zobaczymy, co mówią. – adamdport

0

Jak inni już wspomniano, jest to błąd Chrome, ale można łatwo obejść dodając pewne dopełnienie padding-right: 4px.