Chciałbym zastąpić następujące style CSS zdefiniowane dla wszystkich tabel:
table {
font-size: 12px;
width: 100%;
min-width: 400px;
display:inline-table;
}
Mam konkretną tabelę z klasą o nazwie 'other'
.
Wreszcie dekoracja stołu powinna wyglądać następująco:
table.other {
font-size: 12px;
}
więc muszę usunąć 3 właściwości: width
, min-width
idisplay
Próbowałem zresetować za pomocą none
lub auto
, ale nie pomogło, mam na myśli te przypadki:
table.other {
width: auto;
min-width: auto;
display:auto;
}
table.other {
width: none;
min-width: none;
display:none;
}
źródło
min-width
ma domyślną wartość0
- reference.sitepoint.com/css/min-widthtable.other table
do selektora używanego do resetowania właściwościwidth: auto
kiedy wszystko, co chciałem zastąpić, towidth: 100%
- Dziękuję„none” nie robi tego, co zakładasz. Aby „wyczyścić” właściwość CSS, musisz przywrócić jej wartość domyślną, która jest zdefiniowana w standardzie CSS. Dlatego powinieneś sprawdzić wartości domyślne w swoim ulubionym źródle.
table.other { width: auto; min-width: 0; display:table; }
źródło
Set min-width: inherit /* Reset the min-width */
Spróbuj tego. To będzie działać.
źródło
min-width: 0
nie robi tego samegomin-width
? dostaniesz to zamiast prawdziwego bankructwa.Domyślną
display
właściwością tabeli jestdisplay:table;
. Jedyną użyteczną wartością jestinline-table
. Wszystkie innedisplay
wartości są nieprawidłowe dla elementów tabeli.Nie ma
auto
opcji, aby zresetować go do wartości domyślnych, chociaż jeśli pracujesz w Javascript, możesz ustawić go na pusty ciąg, który załatwi sprawę.width:auto;
jest prawidłowy, ale nie jest wartością domyślną. Domyślna szerokość tabeli to100%
, podczas gdywidth:auto;
spowoduje, że element zajmie tylko tyle szerokości, ile potrzebuje.min-width:auto;
nie jest dozwolone. Jeśli ustawiszmin-width
, musi mieć wartość, ale ustawienie jej na zero jest prawdopodobnie tak dobre, jak przywrócenie wartości domyślnej.źródło
Cóż, w
display: none;
ogóle nie wyświetli tabeli, spróbujdisplay: inline-block;
z deklaracjami width i min-width pozostałymi jako „auto”.źródło
Skończyło się na tym, że użyłem Javascript do udoskonalenia wszystkiego.
Moje skrzypce JS: https://jsfiddle.net/QEpJH/612/
HTML:
<div class="container"> <img src="http://placekitten.com/240/300"> </div> <h3 style="clear: both;">Full Size Image - For Reference</h3> <img src="http://placekitten.com/240/300">
CSS:
.container { background-color:#000; width:100px; height:200px; display:flex; justify-content:center; align-items:center; overflow:hidden; }
JS:
$(".container").each(function(){ var divH = $(this).height() var divW = $(this).width() var imgH = $(this).children("img").height(); var imgW = $(this).children("img").width(); if ( (imgW/imgH) < (divW/divH)) { $(this).addClass("1"); var newW = $(this).width(); var newH = (newW/imgW) * imgH; $(this).children("img").width(newW); $(this).children("img").height(newH); } else { $(this).addClass("2"); var newH = $(this).height(); var newW = (newH/imgH) * imgW; $(this).children("img").width(newW); $(this).children("img").height(newH); } })
źródło
Najlepszy sposób, w jaki znalazłem, aby przywrócić ustawienie minimalnej szerokości, to:
min-width: 0; min-width: unset;
specyfikacja nie jest ustawiona, ale niektóre przeglądarki (IE 10) tego nie przestrzegają, więc 0 jest dobrym rozwiązaniem w większości przypadków . min-width: 0;
źródło