використовувати початкову ширину для елемента, який не працює в IE


107

У мене є графічний плагін, який вставляє канву і легенду <table>в свій контейнер. У цьому плагіні tableне widthвизначено, і в моєму CSS є ширина таблиць всередині цього контейнера, якщо мій плагін вставляється.

Отже, новий дів успадковується table{ width: 100%}від CSS та робить неправильним.

Я намагався використовувати width: initial;, виглядає добре в Chrome, але IE не любить це перевіряти сумісність браузера

Я допускаю зміну / примушування вбудованого CSS у скрипті / плагіні, оскільки він повинен працювати в будь-якій обстановці.

Яке тут найкраще рішення?


Ви намагалися просто встановити мінімальну ширину? Це працює?
Буддійський

@BuddhistBeast, не думав про це! Але спробував це зараз, і Chrome не працював.
Рікард

Відповіді:


177

Як ви сказали, загалом width: autoбуде мати подібний ефект. Маючи правила:

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

Має викликати його використання, initialякщо він підтримується та autoінше.


3
Це вирішило мою проблему. Дякую.
дчайка

2
Тільки врятував мене годину. Дякую.
Скітерм

2
Як примітка, initial є дійсним значенням властивості ( developer.mozilla.org/en-US/docs/Web/CSS/initial ). Але (якщо прокрутити вниз до "Сумісність браузера" в попередньому посиланні), жодна версія IE не підтримує його.
gtramontina

4
це відоме як резервне і є дуже поширеною схемою кодування в CSS. також використання width: autoне тільки матиме подібний ефект, але і матиме такий самий ефект, оскільки autoвоно визначається як початкове значення для widthвластивості.
chharvey

6

Використовуючи width: auto;вбудований сценарій, всередині сценарію вирішується проблема в Chrome, FIrefox та IE 11. Просто не впевнений, чи є кращий спосіб.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.