Ich bin sicher, dass dieses Problem schon einmal gestellt wurde, aber ich kann anscheinend keine Antwort finden.
Ich habe das folgende Markup:
<div id="foo">
<div id="bar">
here be dragons
</div>
</div>
Mein Wunsch ist es, foo so zu machen, dass es die Breite 600px( width: 600px;) hat und bar die folgenden Verhaltensweisen hat:
padding-left: 2px;
padding-right: 2px;
margin-left: 2px;
margin-right: 2px;
outerWidth: 100%;
Mit anderen Worten, anstatt die Breite des Balkens auf 592pxzu setzen, möchte ich die äußere Breite des Balkens 100%so einstellen , dass er berechnet wird 592px. Die Wichtigkeit hierbei ist, dass ich die Breite von foo in ändern kann 800pxund der Balken beim Rendern berechnet wird, anstatt dass ich die Berechnungen für alle diese Instanzen manuell durchführen muss.
Ist das in reinem CSS möglich?
Noch mehr Spaß damit:
- Was ist, wenn
#barein Tisch ist? - Was ist, wenn
#bares sich um einen Textbereich handelt? Was ist, wenn
#bares sich um eine Eingabe handelt?Was ist, wenn
#fooes sich um eine Tabellenzelle (td) handelt? (Ändert dies das Problem oder ist das Problem identisch?)
Bisher ist die table#bar, input#barwird diskutiert. Ich habe keine gute Lösung für Textbereich # Leiste gesehen. Ich denke, ein Textbereich ohne Rand / Rand / Polsterung mit einem divWrap könnte mit dem divStil funktionieren, der als Rahmen für die textarea.