すべて。オーバーフロー:スクロールコンテナ内でCSS3のマルチカラーを達成しようとしているときに私は気まずい動作を経験しています。 OS X用のクロム+サファリの作品は、iPhone上で壊れる:iPhone + CSS3マルチCol +オーバーフロー:Scroll = Bug?
ここ<div id="rubber-banded">
<div id="columns">
<p>[...]</p>
<p>[...]</p>
[...]
</div>
</div>
#rubber-banded {
-webkit-overflow-scrolling: touch;
overflow:scroll;
margin-top:42px;
width:100%;
outline:2px solid red;
height:300px;
}
#columns {
margin-top:10px;
-webkit-column-width:120px;
height:250px;
outline:2px solid blue;
}
が期待された結果である:
、ここで実際の結果である:
あなたが見ることができるように、テキスト新しい段落が始まるまで、#columns
がオーバーフローします。次に、次の段落は上の隙間を使って次の列から開始します。非常に奇妙なことですが、overflow:scroll;
をoverflow:hidden;
に変更して#rubber-banded
とすると、予想通りの効果が得られますが、私はゴムバンド効果を得られません:(私は-webkit-column-break-after
と(ブラウザエンジンがあなたのケースでも同じですが)無駄。
が、これはバグですか、私はそれが間違っているのでしょうか?
「#rubbe r-banded'、そのスクロールマージン(iPhoneとデスクトップのWebkitの両方に存在する)、またはそのオーバーフロープロパティ、**各テキスト列は常にChrome + Safari **の '#columns'の先頭に揃えられます。これを確認するには、 '#rubber-banded 'の高さを'#columns'よりも小さくすることで解決します。 Chrome + Safariは垂直スクロールバーを追加しますが、列は通常レンダリングされます。 iPhoneはありません。デスクトップ上での動作は、 '#columns'の周りに何が起こっても、テキストカラムは決してコンテナをオーバーフローさせるべきではなく、常にトップに合わせるべきです。 –