2017-01-11 5 views
2

In css2.1 spec、それは言う:浮遊要素を含むブロックは何ですか?

Aは、その外縁が含むブロックエッジまたは別のフロートの外側の縁に接触するまで、ボックスが左または右にシフトする浮上。

Iが浮い元素の含有ブロックのだろうか、私はテスト:

body { 
    position: relative; 
    margin: 5px; 
    padding: 10px; 
} 

p { 
    float: left; 
    position: absolute; 
    margin: 10px; 
} 

<body> 
    <p>hehe</p> 
</body> 

css2.1 specによれば、絶対位置指定要素の包含ブロックは、最も近い位置するブロックコンテナのパディングボックスです。

しかし、上記のコードでは、floated要素はコンテンツボックスの境界にフローティングされています。私は浮遊要素の包含ブロックを見つける方法を混同しています。

+0

他の要素を追加する必要があります。 'position:absolute;'は必要ありません。どのように使用するかに応じて、フロートをキャンセルするように並べ替えます。あなたの要素にボーダーを置くと、境界線 'border:solid blue;'が表示されます。 – Andrew

答えて

1

あなたの質問の前提には欠陥があります。絶対配置された要素は浮動できず、浮動小数点は完全に配置することはできません。 section 9.7から:「位置」は値「絶対」または「固定され」ている場合

[...]、ボックスが絶対位置決めされ、「フロート」の計算値は[「どれ」ではありません...]

ここでフロートのブロックを見つけようとしていません。あなたは欠けている要素の包含ブロックを見つけようとしています。

フロートの包含ブロックは、my answer to your previous questionに記載されているように、相対位置または非配置要素の場合と同じですが、浮動小数点数は無効にすることはできないため、実際に知っておく必要があります。

関連する問題