Как стать автором
Обновить

Комментарии 24

Мне нравится переводить статьи на тему истории фронтенда, как всё пришло к тому что есть сейчас, с разными размышления филосовского характера,
— я неуверен что корректно проставляю хабы и теги к таким переводам здесь на хабре.

Подскажи, пожалуйста, какие хабы и теги будут самыми уместными если текущие кажутся тебе неподходящими.

React сам по себе не диктует как работать с CSS. Только вот в сообществе очень развит синдром утенка. Увидели стрелочные функции — пихаем их везде по делу и без. Увидели Redux — добавляют в любой проект не задумываясь. Увидели css-in-js или styled-components — считают что css мертв.

Как по мне, даже CSS-разработчик, это какая-то надуманная очень узкая специализация, не говоря уже о её дальнейшем разбиении, что вообще звучит примерно как «мастер по прикручиванию правых передних колёс».
А много сайтов вы сверстали?
Когда селекторы научаться выбирать необходимые элементы, а не только >,+,~, когда свойства будут действительно свойствами (функциями с возможностью встроить логику отображения), тогда это превратиться в CssScript, но его всё равно проигнорируют, ибо существует уже JavaScript.

По мне в css нужно 3 вещи. Там нужен селектор обращения от ребенка к родителю. медиа запросы ширины контейнера, а так же флекс события, при котором можно применить свойства если элементы прыгнули на новую строчку.

Если вам всё это нужно, значит Вы что-то не так готовите…
Ахах. Это почему? Офигенно востребованные вещи, убирающие кучу проблем. Медиазапросы прошлый век. Адаптив должен зависить от того, помещается ли контент и если нет уметь оформляться по другому.
PretorDH,
Допустим, есть документ ...h,p,p,p,h,p,img,h,p,table,p… Как мне выделить заголовок, после которого идут только текстовые абзацы?
Я пытался сделать что-то вроде h~:not(h):all(p):first:before, но это не сработало.
после которого идут только текстовые абзацы?

Никак. Всё что основывается на новых элементах после текущего — никак.
Но есть несколько хаков — например nth-last-child, flex-direction: column-reverse, order: {num} (можно структурировать элементы в обратном порядке, тогда всё что нужно будет это p+h). Но это требует доступа к HTML структуре. Если он есть — проще (правильнее) поставить классы где надо.


Вообще, CSS не про решение любой сложившейся проблемы. Он про правильную структуру (html в том числе) изначально, чтоб проблемы можно было легче решать в дальнейшем. Может это то, что автор статьи имел в виду. Для решения любых проблем, краулинга, внедрения стилей (разумеется, можно, в пределах доступности) в существующие проекты извне — это не про CSS.

А если это UI фреймворк, у которого свой контроль DOM? Или я хочу использовать стили для стиля, а не разметки? Получается, что CSS как был вспомогательным инструментом, так и остался.

Скажем так, есть гораздо больше мест, где js не нужен и css вполне может справиться. Например, виджет пяти звёзд с закрашиванием всех предыдущих звёзд в том числе по :hover — как раз решается обратным порядком этих самых звёзд.
CSS всегда будет вспомогательным инструментом который решает узкую задачу — и я не вижу в этом проблемы.

НЛО прилетело и опубликовало эту надпись здесь

Какая ещё закрытая каста? Не выдумывайте.


Вот гайд Срельцина
https://css-live.ru/css/fantasticheskie-veb-specifikacii-i-gde-oni-obitayut.html


Вот GitHub
https://github.com/w3c/csswg-drafts/blob/master/CONTRIBUTING.md


Вот рассылка
https://lists.w3.org/Archives/Public/www-style/

Зачем вам медиа запросы контейнера, когда есть max width и возможность задавать детям поведение через flex?

А как мне увеличить или уменьшить font-size в зависимости от размера ширины контейнера? У вас два блока в ряду. Сегодня один блок шире, а завтра — другой или его вообще нужно убрать. Если ориентироваться на ширину контейнера, можно вообще забыть про ширину экрана.
Порой это очень удобно
github.com/marcj/css-element-queries
Ибо существует уже LESS, SASS, SCSS

Поправил
Да, вы правы. Я уже не могу поправить. Но js тоже незаменим в некоторых сложных стилях.

Когда CSS разработчику становится скучно декомпозировать стили, он начинает декомпозировать CSS разработчиков, писать об этом статьи и выступать на конференциях.

Фронтенд-разработчик, который не тянет в CSS — сомнительный фронтенд-разработчик. Да, какие-то тонкости можно не знать, но, по-моему, крепкий средний уровень обязателен.

У нас в команде из ~20 фронтов, большинство из которых нормально разбираются в CSS, есть один парень, который полностью сконцентрирован на нем, делает разные тонкие штуки, внимательно подчищает детали в компонентах и т.п. По-моему, идеальный рецепт для команды, который позволяет всем остальным не слишком отвлекаться от JS и, одновременно, держать стили в порядке.

И да, Firefox появился до 2007 года, а до Angular 2 инкапсуляция стилей была в Vue 1.
> Новый Angular стал первым кто ввел инкапсулированные стили.
Мне кажется, что первым всё-таки был Yahoo UI третьей версии задолго до Ангуляра.

В задаче "сверстать сайт" фронтендщик — это верстальщик. Верстальщик, не тащащий в CSS — это просто неважный верстальщик.


В задаче "написать веб-приложение" JS кода, как правило, на порядок больше, чем CSS. Поэтому некачественный css гораздо меньше скажется на сложности поддержки приложения, чем некачественный js. Ну и просто работаем с ним меньше в абсолютном выражении.
Что, видимо, и приводит к тому, что разработчики такой направленности уделяют изучению CSS меньше внимания (довольно обоснованно).

НЛО прилетело и опубликовало эту надпись здесь

Честно говоря, я не очень понял, что вы имеете в виду.


Огромное количество (а в моих проектах — подавляющее большинство) прикладных задач отлично решается имеющимися средствами CSS. Более того, зачастую можно сделать это разными способами (от топорных до элегантных).
Мой комментарий был как раз про то, что даже топорный CSS в коде приложения не принесет больших проблем при поддержке (по сравнению с аналогично топорным JS) — поэтому "гуру CSS" и не является широко востребованным скиллом.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.