Desidero avere un div genitore che detenga due div alfine del 50% di larghezza che ridimensionano con il contenuto.Due div al 50% con spazi bianchi: elementi nowrap all'interno di un contenitore flessibile
Uno di questi ha uno h3
con white-space:nowrap;
e questo fa aumentare il div oltre il 50%.
Posso forzare il div a tornare al 50% della larghezza utilizzando min-width:0;
ma lo h3
ora è in overflow.
Quindi ho una larghezza diversa sui div dei bambini o un overflow dall'h3 all'interno di uno di essi.
È possibile farli avere lo stesso 50% di larghezza anche con elementi che hanno white-space:nowrap;
all'interno?
Partenza il problema qui: http://codepen.io/anon/pen/VjPwLm?editors=1100
#parent {
background: whitesmoke;
display: inline-flex;
}
#left {
background: rgba(10, 200, 250, 0.5);
flex-basis: 0;
flex-grow: 1;
}
#right {
background: rgba(250, 200, 10, 0.5);
flex-basis: 0;
flex-grow: 1;
/*min-width:0;*/
/* Turn this on to see the h3 overflow */
}
h3 {
white-space: nowrap;
}
<div id="parent">
<div id="left">Captain Deadpool</div>
<div id="right">
<h3>Very long title that does not entirelly fit into the div</h3>
</div>
</div>
intelligente. Un effetto collaterale dell'uso di 'width: 0;' sull'elemento flex sinistro è che il colore di sfondo e il bordo del contenitore flex ora hanno solo il 50% della sua larghezza corretta. C'è un modo per correggerlo? –
@Amoguai Buon punto. Suppongo che tu possa usare 'min-width: 50%' sugli elementi flex, 'width: 200%' sul contenitore flex e avvolgerlo in un contenitore a livello interno. [Demo] (https://jsfiddle.net/610o1whg/). Ma ora il contenitore flessibile traboccherà l'involucro. Non riesco a pensare a nessun modo per sbarazzarmi del trabocco. – Oriol
@Amoguai L'ho fatto con un margine destro. Ma si interrompe quando lo schermo è troppo stretto, perché dovrebbe essere ridimensionato utilizzando il contenuto massimo invece del contenuto di adattamento predefinito. Ma non tutti i browser supportano 'width: max-content'. [Demo] (https://jsfiddle.net/610o1whg/1/) – Oriol