4

iOS6 の Safari は、display:table の扱いが異なるようです (iOS5 の Safari と私の PC の Safari と比較して)。

iOS5 ではdisplay:table、div を に強制しbox-sizing: border-box mode、ボックスのサイズ変更をオーバーライドしようとしても無視します。

iOS6 では、display:table は div を に強制し、box-sizing: content-box modeオーバーライドの試みも無視しました。

その結果、iOS5 ではワイドにDIV DISPLAY:TABLE WIDTH 250px PADDING-LEFT: 50PXなり250px、iOS6 では 300px のワイドになります。

私の質問: これについての私の理解は正しいですか? iOS5 と iOS6 で DISPLAY:TABLE と左パディングを使用して div を同じ幅にする簡単な方法はありますか。

参考までに、私が DISPLAY:TABLE を使用している理由は、高さが可変のコンテンツを単純に垂直方向にセンタリングできるためです。

4

3 に答える 3

5

将来誰かに役立つ場合に備えて、この回答で問題が解決しました。でスタイルされた要素から でスタイルされた要素にパディングを移動しましdisplay: table;display: table-cell;

于 2012-12-12T19:56:48.780 に答える
2

この同じ問題に遭遇し、この投稿以外のドキュメントが見つかりませんでした。幸いなことに、問題のコンテナには table: display プロパティが必要ないことがわかりました。

ただし、display: table-cell が display: table と同じ方法でパディングを適用したかどうかをテストしましたが、そうではないことがわかりました。したがって、display:table プロパティを親コンテナーに適用して (もちろん、パディングなしで)、対象の div で display: table-cell を試してみてください。

于 2012-11-05T20:19:10.050 に答える
1

追加してみましたか

box-sizing: border-box

これはiOS5には影響しませんが、あなたの言っていることが正しければ、おそらくiOS6の表示を修正するでしょう. 申し訳ありませんが、iOS6 でテストする機会がありません

于 2012-09-21T12:10:08.590 に答える