参照のためthis jsFiddle exampleを参照してください。CSSネストされたフロート&クリアが一貫して動作しない
私たちのほとんどは1を浮動し、多くの決済技術の一つが続くマージン& width:auto
を使用して上の他のプッシュが含まCSS Colunms(2つのdivのサイド・バイサイト)を取得するための簡単な技術にかなり精通しています。 (Exibit A jsFiddle Reference)。
この技術はかなりうまく機能し、私が個人的に知っているクリアのすべてのフォームでうまく動作します:コンテナ のコンテナ
overflow: hidden
の下部に
clear: both
のdivしかし、左の要素の幅を知っていて、右の要素をfiにしたい場合は、この単純な暗示はうまくいきます残りの部分はコンテナにしてください。
このテクニックは、正しくレンダリングするために、浮動小数点(右)要素を最初にコンテナに配置する必要があるという注意を払って、逆方向にもうまく機能します(
float: right
およびmargin-right
)。 (Exibit B @jsFiddle Reference)しかし、私はネストされたクリアを処理するときに問題に気付きました。 (別名は柱状体の内部にある)。
Iが非浮上colunm (Exibit C & D)内部透明容器に入れた後、私はWebKitの&のGeckoブラウザでいくつかの奇妙な行動に気づきます。 決済要素は外側のフロートに引っ掛かるようになり、そのフロートからフロートをクリアします。
これは、マスターフロートが左側にあるときは発生しません。 (Exibit E)
これを回避する方法がありますが、私は、可能な場合は、1つの作品や他にはないということ、これは少し奇妙に思える知ら幅の列に
float: right
を引き続き使用したいと思います。また、奇妙なことに、これはIE9では問題ではありませんが(IE 6-8にあります)。参考のため
Windows 7の64bit版にクローム17.0.963.46によってレンダリングとして、これはjsFiddleの出力です:
任意のアイデア?
編集:私は
overflow: hidden
とインナーフロートをラップすることは動作するように思われることに注意しなければならないが、それは、そのようなことは基本的に相対/絶対位置のコンポーネント、DHTMLのドロップダウンで何を壊すこと自身の合併症(のしているなどと。
あなたは左の列に幅を追加することは何を停止するのですか? – mikos
@mikos:私は左の幅を常に知っているとは限りません。時にはコンテナに流れる必要がありますが、浮動要素(この場合は:右)は固定幅です。 – Aren