[personal profile] tymofiy
какая будет ширина ящика которому указана width, а кроме того указан padding, border и margin?

Отгадка: смотря где. По стандарту width задает только ширину содержимого. всё остальное будет пририсовано снаружи. В мозилла так.

По логике width это ширина, верно? так почему же её надо как-то хитро вычислять? И потому IE на пару с Opera паддинги и бордеры считают внутрь.

Однако, учитывая то что многие ломать себе голову дурацким стандартом не хотят, стандарт решили подправить.

свойства
box-sizing: border-box;
box-sizing: content-box;

позволяют выбрать нужную модель. Поскольку css3 еще не принят, мозилловцы реализовали их как

-moz-box-sizing: border-box;
-moz-box-sizing: content-box;
-moz-box-sizing: padding-box;

добавив свой -- третий -- ширина считается по содержимому и паддингам.

Вывод:
в стили подобавлять
-moz-box-sizing: border-box;
и забыть навсегда об этом кошмаре.
Depth: 1

Date: 2004-11-15 18:12 (UTC)
From: [identity profile] sb16.livejournal.com
А опера? Нах такой прикол!
Depth: 1

Date: 2004-11-16 15:09 (UTC)
From: [identity profile] tymofiy.livejournal.com
Опера понимает box-sizing. просто по умолчанию работает в режиме IE
Depth: 1

Date: 2005-06-08 21:40 (UTC)
From: [identity profile] acekievua.livejournal.com
где ж такого кодера найти, который все это знает?
Depth: 1

Date: 2005-06-08 21:51 (UTC)
From: [identity profile] tymofiy.livejournal.com
Я просто открыл своим эту Страшную Тайну -- они поняли и прониклись. :)
Depth: 1

Date: 2005-06-08 21:56 (UTC)
From: [identity profile] acekievua.livejournal.com
пора брать кодера на работу :)

Tags