Pull to refresh
3
0
Send message

Тоже случается всякое. То картинки при скролле плывут и колбасятся, то еще что-то этакое… С другой стороны, и c hasLayout в IE случались приколы типа "обнуления" нумерованных списков, и со слоями бывали занятные артефакты рендеринга шрифтов (не говоря уж о плясках z-index-ов, хоть они и часть стандарта)… В общем, как по мне, вполне достойная замена:)

По сути это такой же хак внутренних механизмов рендеринга ради побочных эффектов (производительность этим можно как улучшить, так и ухудшить, если насоздавать таких слоев слишком много). И работает это во всех браузерах слегка по-разному (везде свои эвристики).

Потому что крутой он в 2001 году, а говно – в 2020 (утрирую, но лишь слегка:)

Имхо, прекрасным, великолепным, очень технологичным браузером в момент выхода в 2000 году был IE5.5. IE6 уже попытался усидеть на двух стульях (всех инновациях предшественника и нарождавшихся стандартах W3C, местами плохо сочетавшихся друг с другом, как в той же пресловутой блочной модели по дефолту), а это неоптимальная стратегия. Если бы IE продолжал четко гнуть свою линию, возможно, пересмотр стандартов в сторону "лучшего соответствия реальности" и переход на что-то типа HTML5 произошел бы раньше...

трюки с внутренним свойством hasLayout, которое "волшебным" образом чинило некоторые приколы.

Свято место пусто не бывает: разве мало сейчас приколов, которые чинятся выносом на отдельный композитный слой через трюки с will-change: transform, transform: translateZ(0) и подобные? :)

Вообще он только альфаканал в PNG не поддерживал. Индексную палитру с полупрозрачными цветами – только в путь. Другое дело, что Фотошоп такого не умел, а других инструментов в ту пору особо в ходу и не было...

Реализация через фреймы засоряла history браузера. В NS4, конечно, был свой чудесный <layer>, который кроме прочего умел асинхронно подгружаться (вроде как)… но в IE4 работа с тогдашним прообразом DOM субъективно и вправду выглядела поприятнее:)

Прошу прощения, можно пояснить, почему из этого сравнения следует такой вывод? Разве 8,23 не попадает в диапазон 6-9?

Бывает… Но лучше поздно, чем никогда! :)

Анимации немного в эту схему не вписываются, в них !important, судя по всему, просто игнорируется. Но в большинстве случаев – вполне удобное правило

Не спорю, общая суть верна, просто хотел предостеречь от буквальной трактовки этой "тысячи" как какой-то реальной волшебной константы

Не совсем так. Во многих популярных руководствах вес селекторов записывают трех-четырехзначными числами, что возникает такое впечатление, но по стандарту это числа в "бесконечноричной", в крайнем случае "дофигаричной", системе:). Когда-то давно был в некоторых браузерах курьез, что 256 классов перебивали-таки один id. Но это с тех пор исправили. А !important и вовсе не перебить никаким кол-вом id, потому что по стандарту он считается отдельным уровнем происхождения и важности, который важнее специфичности.

Несколько лет назад Гарри Робертс предлагал использовать !important для гарантии неизменяемости для служебных классов, этакий аналог const для CSS.

В некоторых случаях, напр., если этот стиль навешивается динамически по условию/событию, то можно. А если Firefox не важен, то можно практически всегда (пока:). Но это не по стандарту и дикий хак.

Пытались..:)


Grid уже полгода как вышел в релиз

Вы хотели сказать, два с половиной года (все основные браузеры дружно выкатили релизы с их поддержкой в марте 2017-го)?

Про флекс там такая пометка из-за большого количества багов, для большинства из которых есть довольно простые обходные пути. Ну и из-за того, что со времени его выхода сама спецификация слегка поменялась, и он чуть по-другому работает в паре-тройке граничных случаев (типа анонимных боксов вокруг табличных ячеек во флекс-контейнере). Но основные моменты – последний синтаксис, многострочность, все способы выравнивания (кроме появившегося позже space-evenly) и т.п. там вполне можно использовать.


Вот с гридами, да, там проблема – другой старый синтаксис и отсутствие алгоритма авторазмещения (надо всегда явно указывать грид-области для элементов, иначе они все валятся в первую ячейку). Но многое, включая minmax() и аналог функции repeat(), там неплохо работает и поддерживается Автопрефиксером (сам использовал в двух реальных проектах).

У dev.to тоже лицензия, гм… специфичная. Если я правильно понимаю, даже переводить оттуда легально нельзя...

На зимних каникулах, вероятно. Он же самый юный из "большой тройки"..:)

Information

Rating
4,020-th
Registered
Activity