utilizzando le seguenti regole HTML e CSS3, sto cercando di fare in modo che i seguenti criteri siano rispettati:Utilizzando il modello di dialogo per contenere oggetti di sua div genitore
ho tutti i criteri di lavoro ad eccezione per l'articolo 1 in cui i bambini superano la larghezza dei genitori. Domanda: come mantenere i bambini all'interno dei loro genitori?
- elementi Li non possono superare i loro genitori larghezza cioè 400px
- img, etichetta, e il contenuto di valuta devono essere centrati verticalmente all'interno del loro arco
- moneta non dovrebbe avvolgere e devono essere sempre visualizzati in pieno La valuta
- deve sempre essere visualizzata il più vicino possibile allo span dell'etichetta .
- il testo dell'etichetta deve essere bloccato su 2 righe con i puntini di sospensione visualizzati dove supera le 2 righe.
Nota: deve funzionare solo nei browser basati su browser Chrome e Safari.
Esso dovrebbe essere simile:
Tuttavia, sembra che questo al momento:
Tutte le idee?
********************* JS Fiddle example ************************
<ul>
<li>
<span class="img"></span>
<span class="label">Acclaim</span>
<span class="currency">(USD 50)</span>
</li>
<li>
<span class="img"></span>
<span class="label">Acclaim 1 11 111 1111 11111</span>
<span class="currency">(USD 50)</span>
</li>
<li>
<span class="img"></span>
<span class="label">Acclaim 1 11 111 1111 11111 2 22222 2222 22222 3 33 333 3333 33333 4 44 444 4444 44444 5 55 555 5555 55555 6 66 666 6666 66666</span>
<span class="currency">(USD 50)</span>
</li>
</ul>
ul {
width: 400px;
background-color: yellow;
padding: 0;
margin: 0;
}
li {
display: -webkit-box;
padding-right: 50px;
}
.label {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
-webkit-line-clamp: 2;
text-overflow: ellipsis;
overflow: hidden;
white-space: normal;
word-wrap: break-word;
line-height: 1.3em;
margin-right: 0.2em;
background-color: pink;
}
.currency {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-box-pack: center;
white-space: nowrap;
background-color: lightgreen;
}
.img {
display: block;
width: 40px;
height: 40px;
margin-right: 0.1em;
background-image:url('data:image/png;base64,iVBOR...);
}
Ecco un altro problema con cui ho lavorato con il modello flessibile, ma solo su Chrome. Ancora non funziona con Safari? http://jsfiddle.net/tUqvG/ - è un po 'un mix di modelli flex e box, in quanto non riesco a far funzionare ellissi e line-clamp con il modello flex. –
Flexbox non ha sostituito il modello di box. È solo un'altra opzione per il layout. –
Non si otterrà il morsetto di linea per lavorare con il modello box o il modello flex in Safari, come overflow del testo: i puntini di sospensione non sono pensati per il testo multilinea, la tua è solo una soluzione fortunata su Chrome. :) Vedi http://quirksmode.org/css/user-interface/textoverflow.html –