IEで機能しない要素に初期幅を使用する


107

<table>コンテナーと凡例をコンテナーに挿入するグラフプラグインがあります。このプラグインにtablewidth定義がなく、CSSにはプラグインが挿入されたコンテナ内のテーブルの幅があります。

そのため、新しいdivはtable{ width: 100%}CSSから継承され、正しくレンダリングされません。

を使用しようとしましたがwidth: initial;、Chrome では問題ありません が、IEはブラウザの互換性をチェックしません

スクリプト/プラグインでインラインCSSを変更/強制することは認めますが、それはどの環境でも機能する必要があるためです。

ここでの最良の解決策は何ですか?


最小幅を設定しただけですか?うまくいきますか?
BuddhistBeast

@BuddhistBeast、それについて考えていませんでした!しかし今それを試してみて、Chromeでも動作しませんでした。
Rikard

回答:


177

あなたが言ったように、一般的width: autoに同様の効果があります。ルールがある:

.my-selector {
    width: auto;
    width: initial;
}

initialサポートされているauto場合やそれ以外の場合は使用する必要があります。


3
これで問題が解決しました。ありがとう。
dchayka 2015

2
ちょうど1時間節約できました。ありがとう。
Skitterm 2015

2
注として、initial 有効なプロパティ値です(developer.mozilla.org/en-US/docs/Web/CSS/initial)。ただし(前のリンクの「ブラウザ互換性」までスクロールすると)、IEのバージョンではサポートされていません。
gtramontina

4
これはフォールバックと呼ばれ、CSSで非常に一般的なコーディングパターンです。また、使用したwidth: autoだけではありません同様の効果が、それはありますまったく同じので、効果をautoされて初期値になるように定義のためのwidthプロパティ。
chharvey 2016年

6

width: auto;スクリプト内でインラインを使用すると、Chrome、FIrefox、IE 11の問題が解決されます。もっと良い方法があるかどうかはわかりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.