Я не использовал SASS в течение очень долгого времени и хотел знать, есть ли какие-то проблемы с псевдоэлементами, такими как :first-child
или :last-child
?
Sass: первый ребенок не работает
Ответ 1
Хотя @Andre правильно, что есть проблемы с псевдоэлементами и их поддержкой, особенно в более старых (IE) браузерах, эта поддержка постоянно улучшается.
Что касается вашего вопроса о том, есть ли какие-либо проблемы, я бы сказал, что я их вообще не видел, хотя синтаксис псевдоэлемента может быть немного сложным, особенно когда он сначала разбирается. Итак:
div#top-level
declarations: ...
div.inside
declarations: ...
&:first-child
declarations: ...
который компилируется, как и следовало ожидать:
div#top-level{
declarations... }
div#top-level div.inside {
declarations... }
div#top-level div.inside:first-child {
declarations... }
Я не видел ни одной документации по этому поводу, за исключением утверждения, что "sass может делать все, что может сделать css". Как всегда, с Haml и SASS отступом является все.
Ответ 2
Я думаю, что лучше (по моему опыту) использовать: :first-of-type
, :nth-of-type()
, :last-of-type
. Это можно сделать с небольшим изменением правил, но я смог сделать гораздо больше, чем whit *-of-type
, чем селектора *-child
.
Ответ 3
Прежде всего, есть еще браузеры, которые не поддерживают эти псевдоэлементы (то есть: first-child,: last-child), поэтому вам нужно "решить" эту проблему.
Есть хороший пример, как сделать эту работу без использования псевдоэлементов:
- см. пример трубы разделителя.
Надеюсь, это было полезно.