Mam wtyczkę do wykresów, która wstawia płótno i legendę <table>
do swojego pojemnika. W tej wtyczce table
nie ma width
zdefiniowanej wtyczki, aw moim CSS jest szerokość dla tabel wewnątrz tego kontenera, w którym moja wtyczka jest wstawiana.
Tak więc nowy div dziedziczy table{ width: 100%}
po CSS i źle się renderuje.
Próbowałem użyć width: initial;
, wygląda dobrze na Chrome, ale IE nie lubi tego sprawdzać kompatybilność przeglądarki
Przyznaję, że zmieniam / wymuszam wbudowany CSS w skrypcie / wtyczce, ponieważ musi on działać w każdym środowisku.
Jakie jest tutaj najlepsze rozwiązanie?
css
internet-explorer
cross-browser
width
Rikard
źródło
źródło
Odpowiedzi:
Jak powiedziałeś, generalnie
width: auto
będzie miał podobny efekt. Mając zasady:Powinien spowodować, że będzie używany,
initial
jeśli jest obsługiwany lub wauto
inny sposób.źródło
initial
to prawidłowa wartość właściwości ( developer.mozilla.org/en-US/docs/Web/CSS/initial ). Ale (jeśli przewiniesz w dół do „Zgodności przeglądarek” w poprzednim linku), żadna wersja IE tego nie obsługuje.width: auto
nie tylko będą mieć podobny efekt, ale będzie miał dokładnie taki sam efekt, ponieważauto
jest zdefiniowana jako wartość początkowa dlawidth
nieruchomości.Używanie
width: auto;
inline wewnątrz skryptu rozwiązuje problem w Chrome, FIrefox i IE 11. Tylko nie jestem pewien, czy istnieje lepszy sposób.źródło