Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
какой смысл писать одно свойство в классе двумя строчками?
.transition (@property: all,@duration: 0s,@delay: 0s,@ease: ease-in-out){
transition+: @arguments;
}
.button_transitions(){
.transition(height,1s);
.transition(opacity,1s);
}
.button{
.button_transitions;
.transition(color,1s);
&:hover{
.button_transitions;
}
}
.button {
transition: height 1s 0s ease-in-out, opacity 1s 0s ease-in-out, color 1s 0s ease-in-out;
}
.button:hover {
transition: height 1s 0s ease-in-out, opacity 1s 0s ease-in-out;
}
.button_transitions {
transition: height 1s 0s ease-in-out, opacity 1s 0s ease-in-out;
}
.button {
@extend .button_transitions;
transition: color 1s 0s ease-in-out;
&:hover {
@extend .button_transitions;
}
}
.button_transitions, .button, .button:hover {
transition: height 1s 0s ease-in-out, opacity 1s 0s ease-in-out;
}
.button {
transition: color 1s 0s ease-in-out;
}
$button_transitions: height 1s ease-in-out, opacity 1s ease-in-out;
button {
transition: $button_transitions, color 1s ease-in-out;
&:hover {
transition: $button_transitions;
}
}
button {
transition: height 1s ease-in-out, opacity 1s ease-in-out, color 1s ease-in-out;
}
button:hover {
transition: height 1s ease-in-out, opacity 1s ease-in-out;
}
// определяем все медиа-типы в переменные
@desktopView: ~'(min-width: @{minWidth})';
@mobileView: ~'(max-width: @{maxWidth})';
// и используем дальше, как и раньше с @media
@media @desktopView {
.someRules { ... }
}
Малоиспользуемые, но от этого не менее прекрасные возможности LESS