Основные способы центрирования колонки
Допустим, у нас есть колонка с максимальной шириной 1024px, и нам нужно ее отцентровать. Разберем самые основные способы.
Классический способ
Автоматические отступы слева и справа заставляют элемент центрироваться. Работает абсолютно везде и понятен любому разработчику, нестареющая классика)
CSS Grid
Flexbox
Flexbox превращает родитель в гибкий контейнер, а
Уверен, все об этом и без меня прекрасно знали) но пусть будет у нас здесь, чтоб в случае чего всегда под рукой было.
Код, как всегда, здесь.
Допустим, у нас есть колонка с максимальной шириной 1024px, и нам нужно ее отцентровать. Разберем самые основные способы.
Классический способ
.container {
max-width: 1024px;
margin: 0 auto;
}
Автоматические отступы слева и справа заставляют элемент центрироваться. Работает абсолютно везде и понятен любому разработчику, нестареющая классика)
CSS Grid
.wrapper {
display: grid;
place-items: center;
}
.container {
width: 100%;
max-width: 1024px;
}
place-items: center
центрирует содержимое как по горизонтали, так и по вертикали. Родитель активно управляет позиционированием дочерних элементов.Flexbox
.wrapper {
display: flex;
justify-content: center;
}
.container {
width: 100%;
max-width: 1024px;
}
Flexbox превращает родитель в гибкий контейнер, а
justify-content: center
выравнивает содержимое по центру главной оси.Уверен, все об этом и без меня прекрасно знали) но пусть будет у нас здесь, чтоб в случае чего всегда под рукой было.
Код, как всегда, здесь.
👍22❤6✍4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Простой параллакс на чистом CSS
Разберем, как сделать простейший параллакс эффект, который есть практически на всех модных лендингах)
Основа эффекта:
Здесь
HTML:
Чередуем текстовые блоки и параллакс-изображения.
Все довольно просто, но красиво)
Посмотреть можно здесь.
Разберем, как сделать простейший параллакс эффект, который есть практически на всех модных лендингах)
Основа эффекта:
.parallax-bg {
background-attachment: fixed;
background-size: cover;
background-position: center;
}
Здесь
background-attachment: fixed
— ключевой момент. Он "фиксирует" фон относительно окна, а контент прокручивается — создаётся эффект объёма.HTML:
<section class="section-text">Текст</section>
<section class="parallax-bg bg-1"></section>
<section class="section-text">Еще текст</section>
Чередуем текстовые блоки и параллакс-изображения.
Все довольно просто, но красиво)
Посмотреть можно здесь.
👍17🔥5❤3👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Звездный рейтинг на CSS
Разберём простой способ создания рейтинга без JS.
HTML-структура:
Радиокнопки скрыты, но управляют состоянием через связь
Прячем исходные radio-кнопки:
Псевдоэлемент заменяет пустые
Селектор
Принцип работы:
Благодаря
Возможных реализаций звездного рейтинга много, но этот вроде самый простой)
Код лежит здесь.
Разберём простой способ создания рейтинга без JS.
HTML-структура:
<input type="radio" name="rating" value="5" id="star5">
<label for="star5" title="5 звёзд"></label>
Радиокнопки скрыты, но управляют состоянием через связь
for
с id
.row-reverse
переворачивает порядок отображения:.rating {
display: flex;
flex-direction: row-reverse;
}
Прячем исходные radio-кнопки:
.rating input { display: none; }
Псевдоэлемент заменяет пустые
label
на звёзды:.rating label::before {
content: "★"; /* создаём визуальные звёзды */
}
Селектор
~
находит все последующие label
после выбранного input
:.rating input:checked ~ label {
color: #ffc107; /* подсветка выбранных звёзд */
}
Принцип работы:
Благодаря
row-reverse
и селектору ~
, при выборе звезды — подсвечиваются все предшествующие ей в визуальном порядке.Возможных реализаций звездного рейтинга много, но этот вроде самый простой)
Код лежит здесь.
5👍25🔥11❤5
This media is not supported in your browser
VIEW IN TELEGRAM
Тень хедера при скролле
На днях пытался запилить тень, которая появляется под хедером, при прокрутке страницы. Самое интересное из того, что перепробовал — это использование
Всё получается очень классно, но есть одно "НО": пока что не работает эта история в Firefox.
Как это работает:
■
■
■
■
Всё было бы очень классно и круто, если бы это поддерживал Firefox, но пока, к сожалению это не так(
Вот, что говорит caniuse — animation-timeline: scroll().
Ну, а пример можно глянуть здесь.
На днях пытался запилить тень, которая появляется под хедером, при прокрутке страницы. Самое интересное из того, что перепробовал — это использование
animation-timeline: scroll()
. Всё получается очень классно, но есть одно "НО": пока что не работает эта история в Firefox.
animation-timeline: scroll()
— эта фича позволяет привязать CSS-анимацию к прокрутке страницы.header {
position: sticky;
top: 0;
background: white;
/* Изначально без тени */
box-shadow: 0 0 0 rgba(0, 0, 0, 0);
/* Привязываем анимацию к скроллу */
animation: shadow-fade both linear;
animation-timeline: scroll(root);
animation-range: 0px 50px;
}
@keyframes shadow-fade {
to {
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
}
Как это работает:
■
animation-timeline: scroll(root)
— анимация управляется прокруткой страницы.■
animation-range: 0px 50px
— анимация происходит в первые 50px скролла.■
both
— анимация работает в обе стороны (при скролле вверх тень исчезает).■
linear
— равномерная скорость изменения.Всё было бы очень классно и круто, если бы это поддерживал Firefox, но пока, к сожалению это не так(
Вот, что говорит caniuse — animation-timeline: scroll().
Ну, а пример можно глянуть здесь.
1🔥15👍9
Смешивание цветов с mix-blend-mode
Давайте сегодня разберём
HTML-разметка:
Фон — диагональный градиент:
Текст:
Благодаря
Можно получать очень классные эффекты, поэкспериментируйте)
Код можно найти здесь.
Давайте сегодня разберём
mix-blend-mode: difference
— эффект, при котором текст сам становится читаемым, инвертируясь на контрастном фоне.HTML-разметка:
<div class="container">
<div class="text">ФОРМОШЛЁП</div>
</div>
Фон — диагональный градиент:
.container {
height: 100vh;
background: linear-gradient(45deg, #000 50%, #fff 50%);
display: flex;
align-items: center;
justify-content: center;
}
Текст:
.text {
color: #fff;
font-size: 120px;
font-weight: bold;
mix-blend-mode: difference;
}
Благодаря
mix-blend-mode: difference
мы получаем инвертированный цвет текста: на чёрном фоне - текст остаётся белым, на белом фоне - текст становится чёрным.Можно получать очень классные эффекты, поэкспериментируйте)
Код можно найти здесь.
1🔥16👍12❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Твои коллеги-разрабы пилят фичи пока ты ушел в отпуск)
😁36🔥10👍2
Блок на всю ширину с помощью 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🔥6❤2✍2
Большая подборка CSS Toggle
Не так давно, в этом посте мы рассматривали, как можно стилизовать чекбокс, чтобы получить модный переключатель. А на днях, я наткнулся на интересную подборку различных способов стилизации.
Там их больше 100 штук, удобно, что можно можно посмотреть, как выглядит переключатель, выбрать то, что больше нравится и сразу скопировать код, а там уже при необходимости допилить его под себя)
В общем вот — https://csstoggles.github.io/
Переключатели на любой вкус и цвет)
Не так давно, в этом посте мы рассматривали, как можно стилизовать чекбокс, чтобы получить модный переключатель. А на днях, я наткнулся на интересную подборку различных способов стилизации.
Там их больше 100 штук, удобно, что можно можно посмотреть, как выглядит переключатель, выбрать то, что больше нравится и сразу скопировать код, а там уже при необходимости допилить его под себя)
В общем вот — https://csstoggles.github.io/
Переключатели на любой вкус и цвет)
👍24🔥7❤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👍19❤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🔥7❤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🔥17👍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🔥8❤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🔥4❤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👍20❤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🔥6❤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👍18🔥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