Come faccio a limitare la larghezza minima e massima di un elemento?
-
25-09-2019 - |
Domanda
Ho una riga di testo che voglio disegnare i bordi intorno. Al momento, gli sguardi di markup come questo:
<div id="titleBox"><span id="titleName" class="truncate">Really really long long long title name</span></div>
Gli sguardi di stile come questo:
#titleBox{
margin-top: 10px;
}
#titleName{
margin: 5px;
height: 1.6em;
width: auto;
max-width: 15.385em;
padding: 0.369em;
margin: 0.369em;
line-height: 1.7;
color: rgba(0,0,0,0.4);
background-color: rgba(204,204,204,0.4);
border: 3px solid rgba(255,255,255,0.14);
font-size: 153.9%;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
.truncate {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-ms-text-overflow: ellipsis;
-o-text-overflow: ellipsis;
-moz-binding: url('../templates/ellipsis.xml#ellipsis');
}
L'effetto che mi piacerebbe è che mi piacerebbe casella stile per essere la larghezza del testo, a meno che la larghezza supera un certo limite. Poi vorrei la larghezza a essere limitata e quindi la classe truncate dovuto calciare in.
Il problema con solo con un div è che la casella non va a capo alla larghezza del testo. Utilizzando un arco aiuta, ma poi non viene visualizzato come un blocco. Costringendolo a visualizzare come blocco presenta lo stesso problema avvolgendolo in un div pianura. Usando una combinazione div / span non funziona o perché la durata della ignora i confini del div se il testo è troppo lungo.
C'è un modo per limitare la larghezza del testo, costringendolo a troncare e avere una casella in stile che circonda il testo?
Soluzione
Come per il mio commento, display:inline-block
dovrebbe dare l'effetto desiderato. Non funzionerà in