<div id="d1">
<div id="d2">label</div>
<div id="d3"><input name="t1" id="t1" type="text" /></div>
<div id="d4">Message</div>
</div>
#d1固定#d2幅です。#d4表示または非表示にすることができます (visibility: visible;またはvisibility: hidden;)。表示されている場合は、幅が固定されています。
幅を可変にしたいので、 が非表示のときの残りの右側のスペースを埋めることができますが、 が表示されているときは#d3との間のスペースを埋めます。#d1#d4#d4#d2#d4
CSSを使用してこれをどのように達成できますか?