Suppongo che desideri solo che i punti appaiano in rosso? Sfortunatamente questo non è possibile con il semplice css. Tuttavia ho trovato un tutorial che riesce a fare uno stile personalizzato puntini di sospensione, che verrà visualizzato solo quando è necessario:
https://www.mobify.com/dev/multiline-ellipsis-in-pure-css/
E 'piuttosto un bel trucco e non è facile da spiegare a parole. Forse questo jsfiddle ho appena fatto può aiutare a:
http://jsfiddle.net/MyUQJ/9/
Rimuovere il overflow: hidden;
sulla .wrap
per vedere cosa sta succedendo. L'idea principale è che il div .end
si sposti verso il basso a sinistra in .left-side
quando il testo è straripante, mentre quando non è straripante si trova nella parte inferiore destra dello .text
. Quindi il div .ellipsis
è posizionato in modo assoluto all'interno del relativo .end
, quindi quando lo posizionate a destra è visibile quando il testo è straripante e sta straripando quando il testo non è straripante! Divertente, non è vero?
Ad ogni modo, ecco il codice grezzo:
HTML:
<div class="wrap">
<div class="left-side"></div>
<div class="text">
This is a short story, it
doesn't need to be ellipsed.
</div>
<div class="end">
end
<div class="ellipsis">...</div>
</div>
</div>
<br>
<br>
<br>
<br>
<div class="wrap">
<div class="left-side"></div>
<div class="text">
This is a long story. You won't be able to
read the end of this story because it will
be to long for the box I'm in. The story is
not too interesting though so it's good you
don't waste your time on this.
</div>
<div class="end">
end
<div class="ellipsis">...</div>
</div>
</div>
CSS:
.wrap {
height: 100px;
width: 234px;
border: solid 1px #000;
overflow: hidden;
}
.left-side {
float: left;
width: 32px;
height: 100px;
background: #F00;
}
.text {
float: right;
border: solid 1px #0F0;
width: 200px;
}
.end {
position: relative;
float: right;
width: 30px;
border: solid 1px #00F;
}
.ellipsis {
position: absolute;
top: -25px;
left: 198px;
background: white;
font-weight: bold;
color: #F0F;
}
Naturalmente, quando hai intenzione di implementare questa che si desidera rimuovere tutte le frontiere e il testo 'fine'. Ho fatto di questo un esempio facile da capire.Probabilmente vorrai anche dare un involucro a e assegnarlo a margin-left: -32px
, dove la larghezza è la larghezza per lo .left-side
, quindi il tuo testo non avrà un margine sul lato sinistro.
Buona fortuna!
se questo non funziona, per favore ci dica su quale browser Internet stai provando? –