2014-10-13 2 views
-1

Я использовал Sass какое-то время, и я не могу придумать использование @extend. Я имею в виду, что является точкой расширения, если вы не можете расширить вложенные селектора. В моем коде у меня есть несколько стилей, которые имеют глубину 2 или 3 уровня, и я хотел бы просто передать их другому селектору. Чтобы использовать @extend, мне нужно создать специальный класс, а затем расширить его, какой смысл использовать @mixin?Что такое sass @extend?

+0

'@ extends' предоставляет [DRY] (http://en.wikipedia.org/wiki/Don't_repeat_yourself) вывод CSS (в отличие от mixins), и это помогает сохранить вашу разметку чистой при применении методологии OOCSS. См. Http://takazudo.github.io/presentation-oocss-sass/ и http://csswizardry.com/2014/01/extending-silent-classes-in-sass/ –

ответ

0

В большинстве случаев @extend делает вывод css меньше, чем если бы вы использовали mixin. Но наиболее эффективным способом является включение этого класса @extend в html и не расширение его на элемент, который не имеет этого класса. В конце концов DOM может запутаться, но это быстрее.

+0

Вот довольно хороший ответ о mixins vs extends , http://csswizardry.com/2014/11/when-to-use-extend-when-to-use-a-mixin/ – hanserino

Смежные вопросы