2012-10-10 4 views
7

絶対配置された要素をCSSでクリアする方法はありますか?私は、サイトの各部分(セクション要素)を絶対的に配置する必要があるページを作成しています。これらの要素の下にコンテンツを含むフッターを適用したいと思います。
ヘッダーとフッターを相対的に配置して、トータルの高さが考慮されるかどうかを確認しましたが、フッターはセクション要素の下に「トラップ」します。何か案は?CSSを使用して絶対配置された要素をクリアできますか?

<header style="position: relative;"></header> 

<div id="content" style="position: relative;"> 

    <section id="a" style="position: absolute;"></section> 

    <section id="b" style="position: absolute;"></section> 

    <section id="c" style="position: absolute;"></section> 

    <section id="d" style="position: absolute;"></section> 

    <section id="e" style="position: absolute;"></section> 

</div> 

<footer style="position: relative;"></footer> 
+1

絶対配置された要素は浮動要素ではないので、それをクリアするようなものはありません。 –

+0

このJavaScriptを使用する方法はありません。 – insertusernamehere

+0

私は参照してください。しかし、私は「クリア」を意味するとき、私が何を理解していますか?次の親を前のコンテンツの下に置く動作。 –

答えて

14

絶対配置された要素は、もはやレイアウトの一部ではなくなりました。親要素は、絶対配置された子要素の大きさを知らない。フッターに重ならないように、「コンテンツ」の高さを自分で設定する必要があります。

2

絶対配置された要素は通常のフローから削除され、周囲の要素には影響しないため、レイアウトに絶対配置された要素を使用しないでください。彼らは他の要素の影響を受けません。

条件が許せばコンテナ内の要素を移動するには絶対配置を使用します。

浮動要素については、clearfixという特定のクリア手法を使用することをお勧めします。私は宗教的に使っています。高さは変更しませ応答レイアウトのために、それは要素の高さを追跡するために、ヘルプをしたとして

http://nicolasgallagher.com/micro-clearfix-hack/

http://jsfiddle.net/necolas/K538S/

+0

私は規則的な構造に近づく方法をよく知っていますが、このシナリオでは、これらの要素を絶対的に配置する必要があります。私は代わりにJSソリューションに行くことに決めました。 –

+0

@StaffanEstbergまだ可能な場合は、jsソリューションを投稿できますか? –

1

は、同じ質問を持っていた位置のすべてが絶対作ったが、最初のものは相対的であるしましょう

.gallery3D-item { 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
} 
 
.gallery3D-item:first-of-type { 
 
    position: relative; 
 
    display: inline-block; 
 
}

:この場合の変更、通知はすべての要素が同じ高さを持っています3210
関連する問題