Je suis sûr que ce problème a déjà été posé mais je n'arrive pas à trouver la réponse.
J'ai le balisage suivant:
<div id="foo">
<div id="bar">
here be dragons
</div>
</div>
Mon désir est de faire en sorte que foo ait une largeur de 600px( width: 600px;) et que bar ait les comportements suivants:
padding-left: 2px;
padding-right: 2px;
margin-left: 2px;
margin-right: 2px;
outerWidth: 100%;
En d'autres termes, au lieu de définir la largeur de la barre sur, 592pxje voudrais définir la largeur extérieure de la barre sur 100%afin qu'elle soit calculée 592px. L'importance ici est que je peux changer la largeur de foo en 800pxet la barre calculera lors du rendu au lieu de devoir faire le calcul pour toutes ces instances manuellement.
Est-ce possible en CSS pur?
Un peu plus de plaisir avec:
- Et qu'est-ce qui se passerait si
#barc'était une table? - Et qu'est-ce qui se passerait si
#barc'était une zone de texte? Et si
#barc'est une entrée?Et si
#fooest une cellule de tableau (td)? (Cela change-t-il le problème ou le problème est-il identique?)
Jusqu'à présent, le table#bar, input#bara été discuté. Je n'ai pas vu de bonne solution pour textarea # bar. Je pense qu'une zone de texte sans bordure / marge / remplissage avec une divenveloppe pourrait fonctionner avec le divstyle pour fonctionner comme des bordures pour le textarea.