2013-10-31 3 views
5

以前は、浮動小数点ブロックがあったときにフロートを停止します。はclear:を両方とも擬似クラスに置き換えます

<div style="clear:both"></div> 

しかし、今、私は擬似クラスで、この問題を解決するよ:

.last_floating_div:after { 
content: ""; 
display: table; 
clear: both; 
} 

私は常に完璧に動作しました。しかし、今日...それは動作しません...! この明確な例を見てください:http://jsfiddle.net/YsueS/2/

私は自分の問題が総初心者の問題であることを知っています。私はこの問題を何度も売りました...なぜここではうまくいかないのか分かりません!

多くの皆さんありがとうございます!

+1

あなたは何を望むか、このですか? http://jsfiddle.net/YsueS/3/ –

+1

ありがとうジョシュ、結果は完璧です!この場合、JoshCのソリューションはより軽量であるようですが、私はさらなるニーズのためにあなたの解決策を保ちます:) – Damien

+0

問題はありません!オーバーフローは、これを達成するための最も基本的で広く使用されている方法です。私が信じる絶対的な要素に 'overflow:auto'を使うこともできます。 –

答えて

3

確かに、:after clearfixでクリアすることができますが、最も最適で軽量な解決策は、ほんの少しのコーディングで目的の効果が得られるように、overflow:hiddenを親に設定することです。

#mention { 
    overflow: hidden; 
} 

jsFiddle here

、あなたが#mentions:after clearfixを適用している必要があるものの、直接の質問に答えるために - ではなく、子の親を.. jsFiddle hereそれが動作します。

+0

'overflow:hidden;'は古いIEの正しい答えでしょうか? –

+1

ありがとう!あなたはそうです、この場合、オーバーフローは疑似クラスよりも軽量です:) – Damien

1

あなたは#mentionが必要だと思います:あなたが探していることをやった後。

例えば

#mention:after { 
    visibility: hidden; 
    display: block; 
    font-size: 0; 
    content: " "; 
    clear: both; 
    height: 0; 
    } 
#mention { display: inline-block; } 

* html #mention{ height: 1%; } /* for older ie */ 
#mention { display: block; } 

WORKING DEMO

この情報がお役に立てば幸いです。

+0

phhew。ハック... – Jawad

+0

いいえ。本物のクロスブラウザの互換性のための答え:) - @Jawad – Nitesh

+0

ok。 +1より。トップス。 – Jawad

1

:afterをID mentionに追加するだけで、目的の効果が得られます。

#mention:after { 
    content: ""; 
    display: table; 
    clear: both; 
} 

JSFIDDLE

関連する問題