У меня есть div, для которого я хочу указать ФИКСИРОВАННУЮ ширину и высоту, а также заполнение, которое можно изменить, не уменьшая исходную ширину / высоту DIV или увеличивая ее, есть ли для этого трюк CSS или альтернатива с использованием заполнения?
93
Объявите это в своем CSS, и все будет хорошо:
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
Это решение можно реализовать без использования дополнительных оболочек.
Это заставит браузер вычислять ширину в соответствии с «внешней» шириной div, это означает, что отступы будут вычтены из ширины.
источник
Похоже, вы хотите имитировать коробочную модель IE6. Для этого вы можете использовать свойство CSS 3 box-sizing: border-box . Это поддерживается IE8, но для Firefox вам необходимо использовать,
-moz-box-sizing
а для Safari / Chrome --webkit-box-sizing
.IE6 уже неправильно вычисляет высоту, так что вы хороши в этом браузере, но я не уверен в IE7, я думаю, что он будет вычислять высоту так же в режиме причуд.
источник
попробуйте этот трюк
div{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
это заставит браузер вычислять ширину в соответствии с "внешней" шириной блока div, это означает, что отступы будут вычтены из ширины.
источник
Чтобы добиться согласованного результата в кросс-браузере, вы обычно добавляете другой
div
внутриdiv
и не указываете ширину, а расширениеmargin
.margin
Будет имитироватьpadding
для внешних дел.источник