Для чего используется директива @content?
Что такое директива @content ?
@content — это правило SASSAt, используемое для повторного использования блока кода за счет уменьшения повторения одного и того же кода. Он используется как тело в @mixin для включения блока кода, который передается через @include .
Пример 1. Запустите приведенный ниже код с препроцессором SASS. Он заменяет @content внутри @mixin на «белый» цвет, переданный с помощью @include .
CSS
@mixin example { @content; } body{ @include example{ color : white } } |
Выход :
body { color: white; }
Использование @content:
Обычно используется для замены кода. Вы можете использовать его с другими At-правилами или даже во вложенных селекторах. Вы ознакомитесь с некоторыми вариантами использования @content.
Пример 1. В этом примере @content используется для замены блока кода для медиа-запросов. Так что это поможет нам передавать разные атрибуты для разных размеров экрана. Мы упорядочиваем атрибуты устройства с маленьким экраном. Медиа-запрос будет применен к экрану с минимальной шириной 600 пикселей. Точно так же мы можем передать другой блок кода для других размеров экрана.
CSS
@mixin sm($val) { @media screen and ( min-width : $val) { @content; } } @include sm( 600px ) { body { color : white ; } } |
Выход :
@media screen and (min-width: 600px) { body { color: white; } }
Пример 2. В этом примере @content используется для назначения тела @keyframes, где
- $name заменяется изменением размера
- @content заменяется на from{. . .} к {. . .}
Это помогает нам определять разные анимации с помощью одного синтаксического кода @mixin.
CSS
@mixin keyframes($name) { @keyframes #{$name} { @content; } } @include keyframes(resize) { from { width : 0% ; } to { width : 100% ; } } |
Выход :
@keyframes resize { from { width: 0%; } to { width: 100%; } }
Пример 3: В этом примере @content используется для создания кнопок с разными цветами текста. Это помогает нам определить разные кнопки для разных целей.
CSS
@mixin button{ @content; } .alert { @include button { color : red ; } } .confirm { @include button { color : blue ; } } |
Выход:
.alert { color : red; } .confirm { color : blue; }
Пример 4: В этом примере @content используется во вложенных селекторах, где . child-attr передается внутри класса .parent .
CSS
@mixin child { @content } .parent { @include child { .child- attr { color : red ; } } background-color : green ; } |
Выход :
.parent { background-color: green; } .parent .child-attr { color: red; }