<div style="display:inline-block;width:100px;">
very long text
</div>
qualsiasi modo per usare il css puro per tagliare il testo che è troppo lungo piuttosto che mostrarlo sulla nuova riga successiva e mostrare solo max 100px
Risposte:
<div class="crop">longlong longlong longlong longlong longlong longlong </div>
Questo è un possibile approccio a cui riesco a pensare
.crop {width:100px;overflow:hidden;height:50px;line-height:50px;}
In questo modo il testo lungo andrà ancora a capo ma non sarà visibile a causa del overflowset, e impostando lo line-heightstesso heightci assicuriamo che verrà visualizzata solo una riga.
Guarda la demo qui e una bella descrizione della proprietà di overflow con esempi interattivi.
Puoi usare:
overflow:hidden;
per nascondere il testo fuori dalla zona.
Nota che potrebbe tagliare l'ultima lettera (quindi una parte dell'ultima lettera verrà comunque visualizzata). Un modo migliore è visualizzare un'ellissi alla fine. Puoi farlo usando text-overflow:
overflow: hidden;
white-space: nowrap; /* Don't forget this one */
text-overflow: ellipsis;
title="full text goes here"nell'html.
.crop {
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
width:100px;
}
Perché non utilizzare le unità relative?
.cropText {
max-width: 20em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
Il codice sottostante nasconderà il testo con una larghezza fissa che decidi tu. ma non del tutto adatto per i design reattivi.
.CropLongTexts {
width: 170px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
Aggiornare
Ho notato nei dispositivi (mobili) che il testo (mescolato) tra loro a causa di (larghezza fissa) ... quindi ho modificato il codice sopra per nasconderlo in modo reattivo come segue:
.CropLongTexts {
max-width: 170px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
La (larghezza massima) garantisce che il testo venga nascosto in modo reattivo qualunque sia la (dimensione dello schermo) e non si mischi tra loro.
.cut_text {
white-space: nowrap;
width: 200px;
border: 1px solid #000000;
overflow: hidden;
text-overflow: ellipsis;
}
<div class="cut_text">
very long text
</div>