Список №2
- 6,57 КБ
- HTML, CSS
- Список
- Лицензия MIT
<ul>
<li class="curved-arrow">Летят по небу журавли</li>
<li class="cross">На фоне красного пятна.</li>
<li class="heart">А в созерцании земли</li>
<li class="star">Нам дарит образы весна.</li>
<li class="circle-checkmark">Когда шумит листва в саду,</li>
<li class="checkmark">Подобно нашим сожаленьям</li>
<li class="diamond">Ветра не знают направленья —</li>
<li class="plus">С ветрами нужно жить в ладу.</li>
<li class="line">На свете жил камыш пруда,</li>
<li class="arrow">Забытый Богом в тишине,</li>
<li class="triangle">И корни он пускал на дне,</li>
<li class="square">Чтоб не оставить и следа.</li>
</ul>
li {
list-style: none;
position: relative;
padding: 0 0 0 20px;
color: #9c9fa3;
}
li.square:before {
content: "";
position: absolute;
left: 0;
top: 5px;
width: 10px;
height: 10px;
background-color: rgb(0, 102, 204);
}
li.triangle:before {
content: "";
position: absolute;
left: 0;
top: 5px;
width: 0;
height: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-bottom: 10px solid rgb(0, 102, 204);
}
li.arrow:before {
content: "";
position: absolute;
left: 0;
top: 6px;
height: 5px;
width: 5px;
border: 1px solid rgb(0, 102, 204);
border-width: 2px 2px 0 0;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
li.line:before {
content: "";
position: absolute;
left: 0;
top: 9px;
width: 8px;
display: block;
border-top: 2px solid rgb(0, 102, 204);
}
li.plus:before {
content: "";
position: absolute;
background: rgb(0, 102, 204);
left: 0;
top: 9px;
height: 2px;
width: 8px;
}
li.plus:after {
content: "";
position: absolute;
background: rgb(0, 102, 204);
left: 3px;
top: 5px;
height: 10px;
width: 2px;
}
li.diamond:before {
content: "";
position: absolute;
left: 0px;
top: 0px;
width: 0;
height: 0;
border: 5px solid transparent;
border-bottom-color: rgb(0, 102, 204);
}
li.diamond:after {
content: "";
position: absolute;
left: 0px;
top: 10px;
width: 0;
height: 0;
border: 5px solid transparent;
border-top-color: rgb(0, 102, 204);
}
li.checkmark:before {
content: "";
position: absolute;
left: 2px;
top: 5px;
width: 3px;
height: 6px;
border: solid rgb(0, 102, 204);
border-width: 0 2px 2px 0;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
li.circle-checkmark:before {
content: "";
position: absolute;
left: 0;
top: 2px;
border: solid 8px rgb(0, 102, 204);
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
border-radius: 8px;
}
li.circle-checkmark:after {
content: "";
position: absolute;
left: 5px;
top: 5px;
width: 3px;
height: 6px;
border: solid rgb(22, 26, 34);
border-width: 0 2px 2px 0;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
li.star:before {
content: "";
position: absolute;
left: 0;
top: 5px;
background: rgb(0, 102, 204);
width: 10px;
height: 10px;
text-align: center;
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
li.star:after {
content: "";
position: absolute;
top: 5px;
left: 0;
height: 10px;
width: 10px;
background: rgb(0, 102, 204);
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
li.heart:before,
li.heart:after {
content: "";
position: absolute;
left: 7px;
top: 5px;
width: 7px;
height: 12px;
background: rgb(0, 102, 204);
-webkit-border-radius: 50px 50px 0 0;
-moz-border-radius: 50px 50px 0 0;
border-radius: 50px 50px 0 0;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
-webkit-transform-origin: 0 100%;
-moz-transform-origin: 0 100%;
-o-transform-origin: 0 100%;
transform-origin: 0 100%;
}
li.heart:after {
content: "";
position: absolute;
top: 5px;
left: 0;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
-webkit-transform-origin: 100% 100%;
-moz-transform-origin: 100% 100%;
-o-transform-origin: 100% 100%;
transform-origin: 100% 100%;
}
li.cross:before {
content: "";
position: absolute;
height: 15px;
border-left: 2px solid rgb(0, 102, 204);
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
top: 2px;
left: 5px;
}
li.cross:after {
content: "";
position: absolute;
height: 15px;
border-left: 2px solid rgb(0, 102, 204);
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
top: 2px;
left: 5px;
}
li.curved-arrow:before {
content: "";
position: absolute;
width: 0;
height: 0;
left: 4px;
top: 3px;
border-top: 9px solid transparent;
border-right: 9px solid rgb(0, 102, 204);
-webkit-transform: rotate(10deg);
-moz-transform: rotate(10deg);
-o-transform: rotate(10deg);
transform: rotate(10deg);
}
li.curved-arrow:after {
content: "";
position: absolute;
border: 0 solid transparent;
border-top: 3px solid rgb(0, 102, 204);
-webkit-border-radius: 20px 0 0 0;
-moz-border-radius: 20px 0 0 0;
border-radius: 20px 0 0 0;
top: 0;
left: -5px;
width: 12px;
height: 12px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
Давайте разберемся в этом интересном коде, который добавляет изюминку в обычный список с помощью CSS, делая его не просто списком, а настоящей коллекцией иконок. Представьте себе обыденный список, как список покупок на вашем холодильнике. Теперь, вместо скучных точек, вы хотите добавить уникальные иконки для каждого пункта – например, сердечко для любимого лакомства вашего партнера или звездочку для того самого незаменимого снека. Вот что делает этот код, но для веб-страницы.
Сначала у нас есть список элементов (<li> теги), каждый с собственным классом, например heart или star. Это не просто элементы списка; они собираются преобразиться.
Магия происходит в части с CSS (это та самая волшебство стилей). CSS нацелен на каждый элемент списка по его классу и использует псевдоэлементы :before и :after для создания эффектных иконок перед текстом каждого пункта. Это как бы сообщение: «Эй, прежде чем показать этот текст, вставь сюда крутую иконку.» Например, иконка сердца создается путем сочетания двух форм с закругленными вершинами, а иконка звезды получает свои острые углы за счет перекрывающихся квадратов, повернутых под углом. Каждая форма аккуратно расположена и окрашена, чтобы выглядеть именно так, как нужно.
Цвета, формы, даже поворот – все тщательно определено, чтобы превратить каждый элемент списка из обычного в захватывающий внимание. Это идеальный способ выделить важные моменты или просто добавить немного индивидуальности на страницу.
Так что, в следующий раз, когда вы увидите на веб-странице эффектные иконки рядом с текстом, помните, за кулисами действует изощренный CSS, делающий эти списки гораздо более интересными для взгляда!