このdivをブラウザーの幅に合わせて拡大しようとしています。私は here から読みましたが、ここでjsfiddleのように{position:absolute; left: 0; right:0;}
を使用してそれを実現できます: http://jsfiddle.net/bJbgJ/3/
しかし、問題は、現在の#container
に{position:relative;}
プロパティがあるため、{position:absolute}
を子divに適用すると、#container
のみを参照することになります。子divを#container
を超えて拡張する方法はありますか?
目標を達成するための5つの方法を考えることができます。
内部要素に負のマージンを使用して、親要素の外側に移動します
JavaScriptを使用して、内部要素を親の外に移動します。
ソースコードを変更し、内部要素を親の外に移動します。
内部要素でposition: fixed
を使用します。これにより、内側の要素を分割できますが、要素が指定された位置に固定される(決して移動しない)ことが欠点です。
position: relative;
を親要素から削除するか、親要素にposition: static
を指定します
追加してみてくださいoverflow:visible
を親div
に追加し、子を親よりも広くします。
親はposition:static
に、子はposition:absolute
に、または
親はposition:relative
に、子はposition:fixed
に(固定で、下落しない)
left: 0; right:0;
はこれらのソリューションの両方で機能します。子divは、divのdisplay
プロパティが何に設定されていても、コードでその下のdivの上に描画されることに注意してください。補正するためにpadding-top
値を次のdivに追加する必要があります( jsfiddleの簡単な例 )、またはその下にある子と同じ高さの動作を持つ別のdiv( codepenのはるかに複雑な例 )、これはおそらく理想的ではありませんが、単純なhtml/cssで動作します。