私は Safari のバグと思われるものに遭遇しました。この結果がなぜ起こっているのか、誰かが明らかにできるのではないかと考えていました。以下に非常に簡単な例を含めましたが、基本的に私の問題はこれです。幅 300 ピクセル、高さ 80 ピクセルの子要素があり、幅 0 ピクセルの親にネストされた this 子要素と非表示のオーバーフローがあります。これら 2 つの要素は、幅が設定されていないコンテナーにラップされ、3 つの要素はすべて左にフロートされます。コンテンツは親によって隠されていますが、両方をラップしているコンテナは「隠された」子の全幅を拡張しています。Safari を除くすべてのブラウザーでうまく機能しますが、その理由はわかりません。
概要: 幅: 0px; およびオーバーフロー: 非表示; サファリでは動かない
<html>
<head>
<title></title>
<style type="text/css">
#container {background: rgba(0,0,255,1); float: left;}
#block {width: 0px; background: rgba(255,0,0,0.50); float: left; overflow: hidden;}
#content {width: 300px; height: 80px; background: rgba(0,255,0,0.50);}
</style>
</head>
<body>
<div id="container">
<div id="block">
<div id="content"></div>
</div>
</div>
</body>
</html>