Демо
  • 5,24 КБ
  • HTML, CSS
  • Список
  • Лицензия MIT
HTML
<ol style="--length: 5;" role="list">
    <li style="--i: 1;">
        <h3>Обнаружение и оценка</h3>
        <p>Далеко-далеко за словесными горами в стране гласных и согласных живут рыбные тексты. Вдали от всех живут они в буквенных домах на берегу Семантика большого языкового океана.</p>
    </li>
    <li style="--i: 2;">
        <h3>Сбор и анализ информации</h3>
        <p>Далеко-далеко за словесными горами в стране гласных и согласных живут рыбные тексты. Вдали от всех живут они в буквенных домах на берегу Семантика большого языкового океана.</p>
    </li>
    <li style="--i: 3;">
        <h3>Создание претензии</h3>
        <p>Далеко-далеко за словесными горами в стране гласных и согласных живут рыбные тексты. Вдали от всех живут они в буквенных домах на берегу Семантика большого языкового океана.</p>
    </li>
    <li style="--i: 4;">
        <h3>Утверждение и представление</h3>
        <p>Далеко-далеко за словесными горами в стране гласных и согласных живут рыбные тексты. Вдали от всех живут они в буквенных домах на берегу Семантика большого языкового океана.</p>
    </li>
    <li style="--i: 5;">
        <h3>Получение пособия</h3>
        <p>Далеко-далеко за словесными горами в стране гласных и согласных живут рыбные тексты. Вдали от всех живут они в буквенных домах на берегу Семантика большого языкового океана.</p>
    </li>
</ol>
CSS
@import url("https://fonts.googleapis.com/css?family=Montserrat:400,700");
body {
    --h: 212deg;
    --l: 43%;
    --brandColor: hsl(var(--h), 71%, var(--l));
    font-family: Montserrat, sans-serif;
}
p {
    margin: 0;
    line-height: 1.6;
}

ol {
    list-style: none;
    counter-reset: list;
    padding: 0 1rem;
}

li {
    --stop: -webkit-calc(100% / var(--length) * var(--i));
    --stop: -moz-calc(100% / var(--length) * var(--i));
    --stop: calc(100% / var(--length) * var(--i));
    --l: 62%;
    --l2: 88%;
    --h: -webkit-calc((var(--i) - 1) * (180 / var(--length)));
    --h: -moz-calc((var(--i) - 1) * (180 / var(--length)));
    --h: calc((var(--i) - 1) * (180 / var(--length)));
    --c1: hsl(var(--h), 71%, var(--l));
    --c2: hsl(var(--h), 71%, var(--l2));

    position: relative;
    counter-increment: list;
    max-width: 45rem;
    margin: 2rem auto;
    padding: 2rem 1rem 1rem;
    -webkit-box-shadow: 0.1rem 0.1rem 1.5rem rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0.1rem 0.1rem 1.5rem rgba(0, 0, 0, 0.3);
    box-shadow: 0.1rem 0.1rem 1.5rem rgba(0, 0, 0, 0.3);
    -webkit-border-radius: 0.25rem;
    -moz-border-radius: 0.25rem;
    border-radius: 0.25rem;
    overflow: hidden;
    background-color: white;
}

li::before {
    content: "";
    display: block;
    width: 100%;
    height: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    background: -webkit-gradient(linear, left top, right top, from(var(--c1)), to(var(--c2)));
    background: -webkit-linear-gradient(left, var(--c1) var(--stop), var(--c2) var(--stop));
    background: -moz-linear-gradient(left, var(--c1) var(--stop), var(--c2) var(--stop));
    background: -o-linear-gradient(left, var(--c1) var(--stop), var(--c2) var(--stop));
    background: linear-gradient(to right, var(--c1) var(--stop), var(--c2) var(--stop));
}

h3 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
    -moz-box-align: baseline;
    align-items: baseline;
    margin: 0 0 1rem;
    color: rgb(70 70 70);
}

h3::before {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    align-items: center;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -moz-box-flex: 0;
    flex: 0 0 auto;
    margin-right: 1rem;
    width: 3rem;
    height: 3rem;
    content: counter(list);
    padding: 1rem;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background-color: var(--c1);
    color: white;
}

@media (min-width: 40em) {
    li {
        margin: 3rem auto;
        padding: 3rem 2rem 2rem;
    }

    h3 {
        font-size: 2.25rem;
        margin: 0 0 2rem;
    }

    h3::before {
        margin-right: 1.5rem;
    }
}

Давайте пройдемся по творческому сочетанию HTML и CSS, где на этот раз магия происходит без использования JavaScript. Представьте, что вы создаете не простой список покупок, а визуально привлекательный список, который буквально играет цветом. Здесь используется упорядоченный список <ol> в качестве основы для контента, где каждый элемент <li> выделен особенно.

Каждый элемент списка — это словно мини-холст, на котором заголовки <h3> и абзацы <p> рассказывают историю. Но веселье начинается с CSS. Здесь дело не только в красоте, но и в добавлении динамизма, делая все проще.

CSS начинается с импорта стильного шрифта от Google Fonts, делая текст современным и гладким. Затем он переходит к пользовательским свойствам (или переменным CSS), создавая цвета, которые адаптируются и создают градиенты, перетекающие от одного элемента списка к другому, создавая иллюзию цветного путешествия. Фон каждого элемента уникален благодаря его позиции в списке.

Магия не заканчивается на этом. CSS также формирует общий макет, центрируя список и распределяя элементы для удобочитаемости. Тени и скругленные углы добавляют глубину и мягкость внешнему виду списка.

Для устройств с широкими экранами медиа-запросы корректируют поля и отступы, обеспечивая отличный вид контента на всех устройствах. Это внимательное прикосновение говорит: «Неважно, откуда вы смотрите, мы позаботились о вас».

В мире веб-дизайна это классический пример того, как HTML и CSS работают вместе, создавая не только функциональное, но и визуально привлекательное решение. Это подтверждение силы CSS в добавлении личности и жизни веб-контенту, превращая простой список в визуально привлекательное произведение искусства.

Меню