Я работаю над экспериментом типографии CSS. http://codepen.io/vennsoh/pen/pbdyt
Я использую преимущества каскадной проблемы "em". Поэтому в моем коде вы увидите, что мой HTML имеет несколько тегов span, вложенных вместе.
Я наткнулся на другой эксперимент на днях, http://codepen.io/andyhullinger/pen/ipGht. Я бы хотел применить аналогичный эффект к моему тексту, однако у меня возникли проблемы с использованием SASS для создания отдельной задержки анимации для каждого тега span. Ниже мой код:
@for $i from 1 through 8{
span:nth-child(#{$i}){
animation-delay: $i*(0.8s/8);
}
}
Очевидно, мой CSS-селектор, span: nth-child не работает. Все теги span используют задержку анимации, определенную в span: nth-child (1). Таким образом, все они имеют одинаковую задержку анимации, а не другую.
<span>B
<span>L
<span>A</span>
</span>
</span>
Как выбрать "L, назначить значение", а затем "A, присвоить другое значение"?
Чтобы быть ясными, это то, чего я собираюсь достичь: http://codepen.io/vennsoh/pen/pAsIm. Я могу написать код, чтобы перебрать количество тегов span и объединить мой селектор. Но я просто думаю, что это можно сделать с помощью CSS-селектора.
Хорошо, ребята, я решил это программированием. Это просто, но я просто подумал, что там могут быть какие-то причудливые селектора CSS, которые могут выполнять эту работу для меня вместо того, чтобы полагаться на SASS-скрипты. http://codepen.io/vennsoh/pen/pbdyt
В этом суть:
$char: 8;
$string: " > span";
$store: ".btn-h1 span";
@for $i from 1 through $char{
#{$store}{
animation-delay: $i*(0.8s/$char);
}
$store: $store + $string;
}
Попробуйте выполнить css в первом примере (http://codepen.io/vennsoh/pen/pbdyt)
.btn-h1{
@include text-shadow(0 0 0 black, 0 0 1px black, 0 1px 2px hsla(0, 0%, 0%, .5));
font-size: 2em;
color: transparent;
}
.btn-h1 > span > span > span{
font-size: 1.1em;
animation:btn_ghost 0.8s ease-in-out infinite alternate;
@include text-shadow(0 0 0 black, 0 0 1px black, 0 1px 2px hsla(0, 0%, 0%, .5));
font-size: 1em;
color: transparent;
}
.btn-h1 > span > span{
@include text-shadow(0 0 0 red, 0 0 1px red, 0 1px 2px hsla(0, 0%, 0%, .5));
font-size: 2em;
color: transparent;
}
$char: 8;
@for $i from 1 through $char{
span:nth-child(#{$i}){
animation-delay: $i*(0.8s/$char);
}
}
@keyframes btn_ghost{
100% {text-shadow:30px 0 100px black;}
}