ヘッダーとテーブル本体を備えた単純なテーブルがあります。すべてのセルは固定幅であると想定されており、1 つだけが可変 (名前など) です。
可変幅のセルでtable-layout: fixed
使用するために必要です。text-overflow: ellipsis
テーブルの CSS は次のとおりです。
table {
width: 550px;
border: 1px solid #AAA;
table-layout: fixed;
border-collapse: collapse;
}
table td, table th {
border: 1px solid #DDD;
text-align: left;
padding: 5px 15px 5px 15px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.one {
width: 60px;
}
.two {
width: auto;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.three, .four, .five {
width: 90px;
}
HTML と demo を確認してください。
このテーブルをすべてのブラウザーで同じように動作させようとしていますが、Safari では box-sizing: border-box が無視されるようです。この回答によると、古いバージョンの Safari のバグを修正する必要があります。
Chrome では次のように表示されます。
Safari 6.0.3 では次のように表示されます。
この問題は、私がテストしたすべての新しい Safari for Mac でも発生します。1 週間前に新旧両方の Safari でテストしたところ、問題なく動作したことはほぼ確実です。どうやら、新しい Safari に突然新しい種類のバグが発生したようなものです。
Safari バージョン 6.0.3 (7536.28.10) を使用しています。古い Safari バージョン 5.0.5 (6533.21.1、6533.21) は正常に動作しているようです。
みんな、気が狂う前に助けて!ここで何か間違ったことをしていますか、それとも本当にバグですか?