Рубрика «Grid Style Sheets»

Продолжение. Первая часть была опубликована вчера.


Почему вы предпочли блочную модель, в которой отступы, границы и поля добавляются к заданной ширине, а не модель box-sizing: border-box из IE5?

Есть подходящие случаи использования для обеих моделей. Если вы хотите, чтобы изображение растягивалось, чтобы заполнить блок — оригинальная модель CSS подходит лучше. А если надо, чтобы поля и границы не выходили за пределы определённой области, лучше модель IE5. Лично я думаю, что случаев, для которых лучше подходит стандартная модель CSS, больше, но некоторые люди, которых я очень уважаю, считают иначе. Этот конфликт был изящно разрешён добавлением свойства box-sizing, которое сейчас поддерживают все браузеры.

Я никогда не любил абсолютное позиционирование. Я не прав? Как оно появилось в спецификации?

Ваш вопрос возвращает меня в 1996 год, когда по этому поводу шли жаркие дебаты. В двух словах: Microsoft предлагала ввести абсолютное позиционирование в черновике CSS Regions: Absolute Positioning and Z-Ordering (к сожалению, обсуждение проходило в закрытом списке рассылки W3C, вот ближайший по смыслу общедоступный документ). У некоторых членов сформированной недавно рабочей группы по CSS возникли сомнения, и Берт и я написали упрощенное встречное предложение. В нём мы предлагали избавиться от свойства position (и использовать вместо него display) и описали только относительно позиционирование (что давало нам время хорошенько продумать позиционирование абсолютное). Тем не менее, Microsoft уже реализовала собственное предложение и не хотела убирать эту функцию. В конце концов единственными существенными изменениями были добавление свойств right и bottom в дополнение к left и top и position: fixed. В таком виде спецификация стала частью стандарта CSS2.

Как и вам, мне никогда не было приятно работать с абсолютным позиционированием. Тем не менее, оно нашло своё место в веб-разработке, и иногда я его использую, чтобы сделать то, что по-другому сделать трудно или невозможно.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js