Блок на всю ширину с помощью CSS Grid
Разберем интересный способ выделения блока на странице так, чтобы он выходил за пределы основного контента.
HTML:
Здесь всё просто: контент идёт последовательно, а баннер обернут в
Базовая сетка контейнера:
Мы создаем сетку с тремя колонками, где центральная занимает 50% ширины, а боковые — по
Баннер:
Вот эта самая фишка) Свойство
Очень интересный эффект, разумеется, работает не только с баннерами)
Затестить код можно здесь.
Разберем интересный способ выделения блока на странице так, чтобы он выходил за пределы основного контента.
HTML:
<main>
<!-- Обычный контент внутри сетки -->
<h1>Full-Bleed Layout</h1>
<h2>Break elements out of their containers</h2>
<p>Lorem ipsum dolor sit amet...</p>
<!-- Full-Bleed элемент -->
<div class="full-bleed-banner">
<img src="banner.jpg" alt="">
</div>
<!-- Продолжение обычного контента -->
<p>Lorem ipsum dolor sit amet consectetur...</p>
</main>
Здесь всё просто: контент идёт последовательно, а баннер обернут в
full-bleed-banner
.Базовая сетка контейнера:
main {
display: grid;
grid-template-columns: 1fr 50% 1fr;
grid-column-gap: 3rem;
}
main > * {
grid-column: 2;
}
Мы создаем сетку с тремя колонками, где центральная занимает 50% ширины, а боковые — по
1fr
. Все дочерние элементы помещаются во вторую колонку.Баннер:
.full-bleed-banner {
grid-column: span 3;
height: 300px;
margin-block-end: 2rem;
}
Вот эта самая фишка) Свойство
grid-column: span 3
заставляет элемент растягиваться на все три колонки, "вырывая" его из ограничений контейнера.Очень интересный эффект, разумеется, работает не только с баннерами)
Затестить код можно здесь.
1👍21🔥7❤2✍2
Большая подборка CSS Toggle
Не так давно, в этом посте мы рассматривали, как можно стилизовать чекбокс, чтобы получить модный переключатель. А на днях, я наткнулся на интересную подборку различных способов стилизации.
Там их больше 100 штук, удобно, что можно можно посмотреть, как выглядит переключатель, выбрать то, что больше нравится и сразу скопировать код, а там уже при необходимости допилить его под себя)
В общем вот — https://csstoggles.github.io/
Переключатели на любой вкус и цвет)
Не так давно, в этом посте мы рассматривали, как можно стилизовать чекбокс, чтобы получить модный переключатель. А на днях, я наткнулся на интересную подборку различных способов стилизации.
Там их больше 100 штук, удобно, что можно можно посмотреть, как выглядит переключатель, выбрать то, что больше нравится и сразу скопировать код, а там уже при необходимости допилить его под себя)
В общем вот — https://csstoggles.github.io/
Переключатели на любой вкус и цвет)
👍24🔥8❤5
Эффект тетради в линейку с помощью CSS
Если вам вдруг нужно будет сверстать тетрадный лист в линейку, то надеюсь, этот пост поможет двигаться в правильную сторону) Разберем один из вариантов, как это можно реализовать с минимальными напрягами.
HTML:
Простая разметка, самое интересное здесь в CSS)
Вынесем настройки шрифтов и отступов в переменные:
Запиливаем разлиновку:
Первый градиент создает красную вертикальную линию для полей.
Второй — создает повторяющиеся горизонтальные линии.
Типографика и отступы:
Вертикальные отступы равны высоте линии
Самое ценное, я считаю, что изменение размера шрифта или высоты линии автоматически влияют на всю композицию)
Потестить можно здесь.
Если вам вдруг нужно будет сверстать тетрадный лист в линейку, то надеюсь, этот пост поможет двигаться в правильную сторону) Разберем один из вариантов, как это можно реализовать с минимальными напрягами.
HTML:
<div class="notebook">
<div class="lined-paper">
<h1>Labore et tempor</h1>
<p>Sit incididunt labore...</p>
<h2>Elit dolore lorem</h2>
<p>Dolore dolore sit...</p>
</div>
</div>
Простая разметка, самое интересное здесь в CSS)
Вынесем настройки шрифтов и отступов в переменные:
:root {
--base-font-size: 16px;
--h1-font-size: 24px;
--h2-font-size: 20px;
--line-height: 24px;
--margin-left: 70px;
--red-line-pos: 59px;
}
Запиливаем разлиновку:
background:
/* Красная линия */
linear-gradient(
to right,
transparent var(--red-line-pos),
#ff6b6b var(--red-line-pos),
#ff6b6b calc(var(--red-line-pos) + 1px),
transparent calc(var(--red-line-pos) + 1px)
),
/* Линии */
repeating-linear-gradient(
transparent,
transparent calc(var(--line-height) - 1px),
#ddd calc(var(--line-height) - 1px),
#ddd var(--line-height)
);
Первый градиент создает красную вертикальную линию для полей.
Второй — создает повторяющиеся горизонтальные линии.
Типографика и отступы:
.lined-paper {
font-size: var(--base-font-size);
line-height: var(--line-height);
padding: var(--line-height) 20px var(--line-height) var(--margin-left);
}
Вертикальные отступы равны высоте линии
var(--line-height)
— это обеспечивает совпадение текста с линиями.Самое ценное, я считаю, что изменение размера шрифта или высоты линии автоматически влияют на всю композицию)
Потестить можно здесь.
2👍20❤9🔥8🗿1
Прозрачный заголовок с mix-blend-mode
Нашел еще одно интересное применение свойства
HTML:
Для блока
Стилизуем заголовок:
Создаем белый прямоугольник с заголовком черного цвета, но благодаря
Вот так просто можно получить классный эффект)
Посмотреть код можно здесь.
Нашел еще одно интересное применение свойства
mix-blend-mode
, на этот раз со значением lighten
. Можно сделать классное выделение заголовка, например, на первом экране лендинга, ну или в каком-нить другом блоке)HTML:
<header class="header">
<h1>формошлёп</h1>
</header>
Для блока
header
зададим фон:.header {
width: 100vw;
height: 100vh;
background: url(image.jpg);
}
Стилизуем заголовок:
.header h1 {
font-size: 8vw;
padding: 4rem 8rem;
background-color: #fff;
color: #000000;
mix-blend-mode: lighten;
}
Создаем белый прямоугольник с заголовком черного цвета, но благодаря
mix-blend-mode: lighten
цвет фона заменяется цветом элемента там, где элемент светлее, а т.к. цвет заголовка черный, то "побеждает" и проступает фоновое изображение.Вот так просто можно получить классный эффект)
Посмотреть код можно здесь.
1👍23🔥8❤2✍2
This media is not supported in your browser
VIEW IN TELEGRAM
Интерактивная шпаргалка по CSS Transform
Сегодня хочу поделиться с вами крутой шпаргалкой по CSS Transform, которая поможет быстро освежить в памяти все основные трансформации или изучить их с нуля)
Полный набор демок всех важных CSS Transform функций:
■ Поворот:
■ Масштаб:
■ Наклон:
■ Перемещение:
■ Матрица:
■ 3D трансформации:
■ Перспектива:
■ Комбинированные трансформации.
В общем вот — https://codepen.io/frontbox/pen/NPGOaBr
Всё довольно удобно и наглядно, пользуйтесь на здоровье)
Сегодня хочу поделиться с вами крутой шпаргалкой по CSS Transform, которая поможет быстро освежить в памяти все основные трансформации или изучить их с нуля)
Полный набор демок всех важных CSS Transform функций:
■ Поворот:
rotate()
, rotateX()
, rotateY()
, rotateZ()
.■ Масштаб:
scale()
, scaleX()
, scaleY()
.■ Наклон:
skew()
, skewX()
, skewY()
.■ Перемещение:
translate()
, translateX()
, translateY()
.■ Матрица:
matrix()
.■ 3D трансформации:
translate3d()
, scale3d()
, rotate3d()
.■ Перспектива:
perspective()
.■ Комбинированные трансформации.
В общем вот — https://codepen.io/frontbox/pen/NPGOaBr
Всё довольно удобно и наглядно, пользуйтесь на здоровье)
1🔥18👍7
Цветной цикл для списков
Все знают, как сделать «зебру» для списка, чтобы строки были попеременно окрашены в два цвета. Мы даже рассматривали это здесь.
А что, если дизайнер зашел дальше и хочет не двухцветный паттерн, а трехцветный?
Давайте посмотрим, как реализовать это с помощью
HTML:
CSS:
Вся фишка в формуле
A — длина нашего цикла (сколько элементов в паттерне).
n — счетчик (начинается с 0: 0, 1, 2, 3...).
B — смещение (с какого элемента начать).
Получается такая история:
3n + 1
■ n=0: 3*0 + 1 = 1 (первый элемент)
■ n=1: 3*1 + 1 = 4 (четвертый элемент) и т.д.
3n + 2
■ n=0: 3*0 + 2 = 2 (второй элемент)
■ n=1: 3*1 + 2 = 5 (пятый элемент) и т.д.
3n + 3
■ n=0: 3*0 + 3 = 3 (третий элемент)
■ n=1: 3*1 + 3 = 6 (шестой элемент) и т.д.
Вот так вот получаем бесконечно повторяющийся трехцветный паттерн. Если нужно больше вариаций, то на изи добавляем еще формулу со своим цветом и всё)
Пример тут.
Все знают, как сделать «зебру» для списка, чтобы строки были попеременно окрашены в два цвета. Мы даже рассматривали это здесь.
А что, если дизайнер зашел дальше и хочет не двухцветный паттерн, а трехцветный?
Давайте посмотрим, как реализовать это с помощью
:nth-child
.HTML:
<ul>
<li>Один</li>
<li>Два</li>
<li>Три</li>
<li>Четыре</li>
<li>Пять</li>
</ul>
CSS:
li:nth-child(3n + 1) {
background-color: rebeccapurple;
}
li:nth-child(3n + 2) {
background-color: darkcyan;
}
li:nth-child(3n + 3) {
background-color: lightskyblue;
}
Вся фишка в формуле
An + B
внутри :nth-child()
.A — длина нашего цикла (сколько элементов в паттерне).
n — счетчик (начинается с 0: 0, 1, 2, 3...).
B — смещение (с какого элемента начать).
Получается такая история:
3n + 1
■ n=0: 3*0 + 1 = 1 (первый элемент)
■ n=1: 3*1 + 1 = 4 (четвертый элемент) и т.д.
3n + 2
■ n=0: 3*0 + 2 = 2 (второй элемент)
■ n=1: 3*1 + 2 = 5 (пятый элемент) и т.д.
3n + 3
■ n=0: 3*0 + 3 = 3 (третий элемент)
■ n=1: 3*1 + 3 = 6 (шестой элемент) и т.д.
Вот так вот получаем бесконечно повторяющийся трехцветный паттерн. Если нужно больше вариаций, то на изи добавляем еще формулу со своим цветом и всё)
Пример тут.
1👍14🔥4❤2
Заголовок с градиентом
Довольно попсовая тема, но на всякий случай, давайте тоже разберем, чтобы и у нас тоже это было под рукой)
HTML:
CSS:
Разберем, что для чего:
■
■
■
Довольно просто и лаконично, но эффект получается классный)
Код глянуть можно здесь.
Довольно попсовая тема, но на всякий случай, давайте тоже разберем, чтобы и у нас тоже это было под рукой)
HTML:
<h1>Формошлёп</h1>
CSS:
h1 {
-webkit-text-fill-color: transparent;
-webkit-background-clip: text;
background-image: linear-gradient(165deg, yellowgreen, cyan, mediumpurple);
}
Разберем, что для чего:
■
-webkit-text-fill-color: transparent
— делаем текст прозрачным.■
-webkit-background-clip: text
— обрезаем фон по форме текста.■
background-image
— создаем градиент.Довольно просто и лаконично, но эффект получается классный)
Код глянуть можно здесь.
1👍16🔥9❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Hover для чекбоксов
Сегодня разберем, как создать красивые и функциональные чекбоксы, которые меняют цвет при наведении и сохраняют его при выборе.
HTML-структура:
Кастомный чекбокс:
Состояние "выбрано":
Запиливаем hover:
Таким образом получаем еще более живые и красивые формы для наших сайтов)
Потестить код можно здесь.
Сегодня разберем, как создать красивые и функциональные чекбоксы, которые меняют цвет при наведении и сохраняют его при выборе.
HTML-структура:
<label>
<input type="checkbox">
<span>Уведомления по email</span>
</label>
<label>
<input type="checkbox">
<span>СМС-оповещения</span>
</label>
Кастомный чекбокс:
input[type="checkbox"] {
appearance: none;
width: 20px;
height: 20px;
border: 2px solid #ddd;
border-radius: 5px;
transition: all 0.2s ease;
display: grid;
place-content: center;
}
input[type="checkbox"]::before {
content: "✓";
color: white;
opacity: 0;
transition: opacity 0.2s ease;
}
Состояние "выбрано":
input[type="checkbox"]:checked {
background: #007bff;
border-color: #007bff;
}
input[type="checkbox"]:checked::before {
opacity: 1;
}
input[type="checkbox"]:checked + span {
color: #007bff;
font-weight: 500;
}
:checked
— псевдокласс для отмеченного состояния. Меняем фон, рамку и показываем галочку.Запиливаем hover:
/* Меняем цвет текста при hover на чекбокс */
label:has(input[type="checkbox"]:hover) span {
color: #007bff;
}
/* Меняем рамку самого чекбокса при hover */
label:has(input[type="checkbox"]:hover) input[type="checkbox"] {
border-color: #007bff;
}
Таким образом получаем еще более живые и красивые формы для наших сайтов)
Потестить код можно здесь.
1👍21🔥5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Эффект заполняющегося текста при наведении
Сегодня давайте разберем еще один эффектный прием — анимированное изменение цвета текста при наведении.
HTML:
CSS:
Мы создаем градиент, где ровно половина черная, половина белая.
Изначально показываем только белую часть градиента, а при наведении сдвигаем его, чтобы показать черную.
В итоге получаем модный эффект, достойный первого экрана лендинга)
Код, как всегда, здесь.
Сегодня давайте разберем еще один эффектный прием — анимированное изменение цвета текста при наведении.
HTML:
<a href="#" class="hover-link">Формошлёп</a>
CSS:
.hover-link {
color: transparent; /* Прозрачный текст */
text-decoration: none; /* Без подчеркивания */
-webkit-text-stroke: 2px #000; /* Черный контур */
/* Градиент: половина черная, половина белая */
background: linear-gradient(90deg, #000 50%, #fff 50%);
background-size: 200% 100%; /* Фон в 2 раза шире */
background-position: 100%; /* Показываем правую (белую) часть */
background-clip: text; /* Обрезаем фон по тексту */
transition: background-position 0.5s ease; /* Плавный сдвиг */
}
.hover-link:hover {
background-position: 0; /* Показываем левую (черную) часть */
}
Мы создаем градиент, где ровно половина черная, половина белая.
Изначально показываем только белую часть градиента, а при наведении сдвигаем его, чтобы показать черную.
Transition
обеспечивает плавную анимацию этого сдвига.В итоге получаем модный эффект, достойный первого экрана лендинга)
Код, как всегда, здесь.
1👍21❤3🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Интерактивный список покупок с :has()
Давайте сегодня разберем еще один интересный пример использования селектора
Сделаем список покупок, чтобы при установке галочки текст зачеркивался, цвет меняется на серый и добавлялась прозрачность.
HTML структура:
Ключевой CSS:
Как это работает:
■
■
■ Получаем зачеркивание и изменение цвета
Теперь CSS может даже в логику)
Код лежит здесь.
Давайте сегодня разберем еще один интересный пример использования селектора
:has()
, который показывает его крутые возможности)Сделаем список покупок, чтобы при установке галочки текст зачеркивался, цвет меняется на серый и добавлялась прозрачность.
HTML структура:
<ul class="shopping-list">
<li>
<input type="checkbox" id="milk">
<label for="milk">Молоко</label>
</li>
<li>
<input type="checkbox" id="bread">
<label for="bread">Хлеб</label>
</li>
</ul>
Ключевой CSS:
li:has(input:checked) label {
text-decoration: line-through;
color: #999;
opacity: 0.7;
}
Как это работает:
■
li:has(input:checked)
— выбираем <li>
, который содержит отмеченный чекбокс■
label
— применяем стили к лейблу внутри такого <li>
■ Получаем зачеркивание и изменение цвета
Теперь CSS может даже в логику)
Код лежит здесь.
1👍26🔥7❤2
Чередование элементов с nth-child
Есть довольно популярная задача — создание чередующегося макета, где элементы меняют своё расположение через один.
Допустим, у нас есть список карточек с текстом и изображением. Нужно, чтобы в четных карточках порядок элементов был обратным.
Давайте разберем простое решение с использованием Flexbox и псевдокласса
HTML:
CSS:
Это правило меняет направление flex-контейнера для каждой четной карточки, перемещая цветной блок в противоположную сторону.
Такая вот мелочь, которая превращает скучный список в продуманный интерфейс)
Полный код можно посмотреть здесь.
Есть довольно популярная задача — создание чередующегося макета, где элементы меняют своё расположение через один.
Допустим, у нас есть список карточек с текстом и изображением. Нужно, чтобы в четных карточках порядок элементов был обратным.
Давайте разберем простое решение с использованием Flexbox и псевдокласса
:nth-child()
.HTML:
<div class="card">
<div class="text-content">
Текст...
</div>
<div class="color-block"></div>
</div>
<div class="card">
<div class="text-content">
Текст...
</div>
<div class="color-block"></div>
</div>
CSS:
.card:nth-child(even) {
flex-direction: row-reverse;
}
Это правило меняет направление flex-контейнера для каждой четной карточки, перемещая цветной блок в противоположную сторону.
Такая вот мелочь, которая превращает скучный список в продуманный интерфейс)
Полный код можно посмотреть здесь.
1👍19🔥7❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Текст с анимированным градиентом
Наткнулся на интересный эффект для текста, делается буквально в несколько строк CSS, а выглядит классно. Неплохо подойдет для заголовков лендингов на первых экранах)
HTML:
CSS:
Весь фокус в том, что мы создаем градиент из трех цветов (черный → белый → черный) и анимируем его позицию:
■ Градиент (#000 → #fff → #000) — создаем полосу света на темном фоне.
■
■
■
■ Анимация — двигаем градиент от -500% до 500%, создавая эффект пробегающего света.
Так что если заказчик попросить "оживить лендос", запилите ему этот эффект)
Потестить код можно здесь.
Наткнулся на интересный эффект для текста, делается буквально в несколько строк CSS, а выглядит классно. Неплохо подойдет для заголовков лендингов на первых экранах)
HTML:
<p>Шлёпаем формы и красим кнопки...</p>
CSS:
p {
background: linear-gradient(90deg, #000, #fff, #000);
background-size: 80%;
animation: animate 4s linear infinite;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
@keyframes animate {
0% { background-position: -500%; }
100% { background-position: 500%; }
}
Весь фокус в том, что мы создаем градиент из трех цветов (черный → белый → черный) и анимируем его позицию:
■ Градиент (#000 → #fff → #000) — создаем полосу света на темном фоне.
■
background-size: 80%
— делаем градиент уже самого текста, чтобы свет не покрывал всю ширину сразу.■
background-clip: text
— обрезаем градиент по форме букв.■
text-fill-color: transparent
— делаем сам текст прозрачным, видим только фон.■ Анимация — двигаем градиент от -500% до 500%, создавая эффект пробегающего света.
Так что если заказчик попросить "оживить лендос", запилите ему этот эффект)
Потестить код можно здесь.
1👍13🔥13❤3
This media is not supported in your browser
VIEW IN TELEGRAM
ContentEditable и списки
Думаю, все знают про
Но только сегодня я попробовал применить его к упорядоченному списку)
Получается интересная вещь, при Enter автоматом создается новый
Пока не придумал, где это можно применить, но будем держать в уме)
Посмотреть можно здесь.
Думаю, все знают про
contenteditable
— этот атрибут позволяет делать любой HTML-элемент редактируемым прямо в браузере. Обычно его применяют к div
для создания простых текстовых редакторов. Но только сегодня я попробовал применить его к упорядоченному списку)
Получается интересная вещь, при Enter автоматом создается новый
<li>
, нумерация сама проставляется:<ol contenteditable>
<li>Первый пункт</li>
<li>Второй пункт</li>
<li>Третий пункт</li>
<li>Четвертый пункт</li>
</ol>
Пока не придумал, где это можно применить, но будем держать в уме)
Посмотреть можно здесь.
1🔥18👍12❤6✍3
This media is not supported in your browser
VIEW IN TELEGRAM
Цветной цикл для карточек
Здесь мы с вами разбирали, как делать цветной цикл для списков. Но эту фишку, как понимаете, можно использовать не только в списках, но и в целом на любых элементах.
Можно сделать классный список одинаковых блоков, но со своей изюминкой)
Создадим сетку карточек на гридах и добавим каждой свой цвет.
HTML:
Запилим гриды для карточек:
Автоматическое назначение цветов через :nth-child():
Формула
■
■
То есть
А
Добавляем ховер:
Цветной кружок изначально частично скрыт за границами карточки
Получаем классное чередование цветов со стильным ховером)
Потестить код можно здесь.
Здесь мы с вами разбирали, как делать цветной цикл для списков. Но эту фишку, как понимаете, можно использовать не только в списках, но и в целом на любых элементах.
Можно сделать классный список одинаковых блоков, но со своей изюминкой)
Создадим сетку карточек на гридах и добавим каждой свой цвет.
HTML:
<div class="card-container">
<div class="card-grid">
<div class="card">
<a href="#" class="card__link">
<div class="card__decoration"></div>
<h3 class="card__title">Первая карточка</h3>
</a>
</div>
<!-- и так далее -->
</div>
</div>
Запилим гриды для карточек:
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 30px;
}
Автоматическое назначение цветов через :nth-child():
.card:nth-child(6n+1) .card__decoration { background-color: #f9b234; }
.card:nth-child(6n+2) .card__decoration { background-color: #3ecd5e; }
.card:nth-child(6n+3) .card__decoration { background-color: #e44002; }
.card:nth-child(6n+4) .card__decoration { background-color: #952aff; }
.card:nth-child(6n+5) .card__decoration { background-color: #cd3e94; }
.card:nth-child(6n+6) .card__decoration { background-color: #4c49ea; }
Формула
6n+1
:■
6n
— это кратность (каждый 6-й элемент)■
+1
— это смещение (начинаем с 1-го элемента)То есть
6n+1
выберет элементы: 1, 7, 13, 19... и так далее.А
6n+2
выберет: 2, 8, 14, 20...Добавляем ховер:
.card__decoration {
height: 130px;
width: 130px;
position: absolute;
top: -75px;
right: -75px;
border-radius: 50%;
transition: transform 0.5s ease;
z-index: 1;
}
.card:hover .card__decoration {
transform: scale(8);
}
Цветной кружок изначально частично скрыт за границами карточки
overflow: hidden
, а при hover
увеличивается в 8 раз и заливает всю карточку.Получаем классное чередование цветов со стильным ховером)
Потестить код можно здесь.
1🔥19❤8👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Краткая видео-шпаргалка по gap в grid css
Наткнулся на наглядный видос по работе gap в grid, решил с вами тоже поделиться.
Ну, а
В общем, сохраняем в коллекцию и забываем)
Наткнулся на наглядный видос по работе gap в grid, решил с вами тоже поделиться.
row-gap
и column-gap
задают отступы между рядами или колонками:.container {
display: grid;
/* Отступы между рядами */
row-gap: 50px;
/* Отступы между колонками */
column-gap: 20px;
}
Ну, а
gap
это шорткат для записи значений свойств row-gap
и column-gap
. Значения разделяются пробелом:.container {
display: grid;
gap: 50px 20px;
}
В общем, сохраняем в коллекцию и забываем)
1👍18❤5🔥3😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Только смелым покоряется фронтенд)
😁45🔥9👍3
Циклические CSS-счетчики
Иногда нужно сделать так, чтобы список выглядел нестандартно, т.е. не просто «точки» или «дефисы».
Давайте разберем, как создать кастомные цикличные маркеры, которые будут повторяться по кругу.
HTML:
CSS:
■
■
■
■
Разумеется, можно использовать не только эмодзи, но и любые другие символы.
Пример кода здесь.
Иногда нужно сделать так, чтобы список выглядел нестандартно, т.е. не просто «точки» или «дефисы».
Давайте разберем, как создать кастомные цикличные маркеры, которые будут повторяться по кругу.
HTML:
<ul>
<li>Первый</li>
<li>Второй</li>
<li>Третий</li>
<li>Четвертый</li>
<li>Пятый</li>
<li>Шестой</li>
</ul>
CSS:
@counter-style thumbs {
system: cyclic;
symbols: 😀 😡 😍;
suffix: " ";
}
li {
list-style-type: thumbs;
}
■
@counter-style
— определяем свой стиль счетчика.■
system: cyclic
— система чередования (маркеры должны циклически повторяться).■
symbols: 😀 😡 😍
— последовательность эмодзи, которые будут использоваться как маркеры. ■
suffix: " "
— суффикс после маркера (чтобы был пробел после каждого эмодзи).Разумеется, можно использовать не только эмодзи, но и любые другие символы.
Пример кода здесь.
1👍24🔥8❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Кнопка-переключатель с меняющимся текстом
Давайте сегодня разберем, как с помощью одного
HTML:
В html у нас будет простой чекбокс.
Превращаем его в кнопку:
Добавляем текст через псевдоэлемент:
Состояние "нажато":
Когда чекбокс отмечен, мы меняем фон на красный, текст — на белый.
Меняем текст при переключении:
Когда чекбокс отмечен — меняем текст с "Открыть" на "Закрыть".
Собственно всё, получаем крутую кнопку, которую не стыдно повесить на самое заметное место)
Код, как всегда лежит здесь.
Давайте сегодня разберем, как с помощью одного
<input type="checkbox">
и немного CSS можно создать красивую, анимированную кнопку-переключатель.HTML:
<input type="checkbox">
В html у нас будет простой чекбокс.
Превращаем его в кнопку:
input {
appearance: none;
padding: 15px 40px;
background: #ffffff;
border: 2px solid #ddd;
border-radius: 8px;
cursor: pointer;
color: #333;
}
Добавляем текст через псевдоэлемент:
input::before {
content: "Открыть";
}
Состояние "нажато":
input:checked {
background: #ff6b6b;
color: white;
}
Когда чекбокс отмечен, мы меняем фон на красный, текст — на белый.
Меняем текст при переключении:
input:checked::before {
content: "Закрыть";
}
Когда чекбокс отмечен — меняем текст с "Открыть" на "Закрыть".
Собственно всё, получаем крутую кнопку, которую не стыдно повесить на самое заметное место)
Код, как всегда лежит здесь.
1👍14🔥5❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Оживление форм с помощью accent-color
По умолчанию элементы форм в браузерах выглядят функционально, но скучно.
Для того, чтобы создать хоть какую-то минимальную интерактивность можно использовать
Базовая реализация:
Всего несколько строк кода — и формы уже выглядят интересней. Но конечно, использовать это нужно там, где это уместно)
Пример можно глянуть здесь.
По умолчанию элементы форм в браузерах выглядят функционально, но скучно.
Для того, чтобы создать хоть какую-то минимальную интерактивность можно использовать
accent-color
с псевдоклассом :hover
, чтобы при наведении менялся цвет.Базовая реализация:
/* Базовые стили - серый цвет */
input[type="range"],
input[type="checkbox"],
input[type="radio"] {
accent-color: #888;
cursor: pointer;
}
/* При наведении - меняем цвет */
input[type="range"]:hover,
input[type="checkbox"]:hover,
input[type="radio"]:hover {
accent-color: #ff1493;
}
Всего несколько строк кода — и формы уже выглядят интересней. Но конечно, использовать это нужно там, где это уместно)
Пример можно глянуть здесь.
1🔥12👍6❤1