2

私のページには、Safari でのページロードに関する表示上の問題があります (1 つの JS インライン スタイルの後で、表示のインライン ブロック要素の幅が 0 になります)。この問題は、span 要素の追加のスタイルで修正できます。

display: inline-block; //standard for all browsers
display: -webkit-inline-box; //safari fix

最初は標準を使用し、その後は修正を使用する必要があります。現在のブラウザー バージョンでは、FF、IE 9-11、Chrome、および Safari (デスクトップ Mac) に適しているようです。

私の質問は次のとおりです。注文は問題ありませんか、それとも一部のブラウザーで問題が発生する可能性がありますか? (たぶん、ブラウザは次のように考えます:「ああ、インライン要素 (スパン) を表示するには:inline-block を作成する必要があります」。そして次の行で、「ああ、そのプロパティ (-webket-inline-flex) がわからないので、標準表示:インライン」)

うまくいけば、あなたは私が何を意味するか知っていますか?:)

4

1 に答える 1

3

順序は問題ありませんが、これをサポート-webkit-inline-boxするブラウザはinline-block. これにより、ブラウザ接頭辞付きバージョンの実装方法が、ブラウザ接頭辞なしバージョンの実装方法を反映していない可能性があるため、問題が発生する可能性があります。

たとえば、Google Chrome はこれをサポートして-webkit-inline-boxおり、代わりにこれを使用しますinline-block。私の頭のてっぺんwebkit-inline-boxは、Flexbox 仕様の古い時代遅れのバージョンに基づいています。

おそらく、より良い解決策は、なぜ Safari がinline-block要素の幅を 0 にしているのかを解明することでしょう。これは私自身が目撃した動作ではありませんが、Safari は通常、私がテストした実稼働ブラウザーの範囲外です。

于 2015-01-15T09:07:57.453 に答える