Sono sicuro che questo problema è stato chiesto prima, ma non riesco a trovare la risposta.
Ho il seguente markup:
<div id="foo">
<div id="bar">
here be dragons
</div>
</div>
Il mio desiderio è di fare in modo che foo abbia una larghezza di 600px( width: 600px;) e che la barra abbia i seguenti comportamenti:
padding-left: 2px;
padding-right: 2px;
margin-left: 2px;
margin-right: 2px;
outerWidth: 100%;
In altre parole, invece di impostare la larghezza della barra su, 592pxvorrei impostare la larghezza esterna della barra su in 100%modo che venga calcolata 592px. L'importanza qui è che posso cambiare la larghezza di foo in 800pxe bar calcolerà quando renderizzato invece di dover fare manualmente i calcoli per tutte queste istanze.
È possibile in puro CSS?
Un po 'più di divertimento con esso:
- E se
#barfosse un tavolo? - E se
#barfosse una textarea? E se
#barfosse un input?E se
#foofosse una cella di tabella (td)? (Questo cambia il problema o il problema è identico?)
Finora table#bar, input#barè stato discusso. Non ho visto una buona soluzione per textarea # bar. Penso che un'area di testo senza bordo / margine / riempimento con un divavvolgimento potrebbe funzionare con lo divstile per funzionare come bordi per il file textarea.