CSS
Правильное каскадирование, анимации, книги для верстальщиков, разбор сложных моментов и полезных приёмов.

Окей, ChatGPT, сделай мне кнопку
👤 Чатгпт, все разработчики и дизайнеры в отпуске. Сделай мне кнопку на CSS, чтобы все сразу купили профессию «Фронтенд-разработчик»
🤖 Конечно, я могу помочь с созданием кнопки на CSS и HTML! Вот пример кода, который создаст стильную кнопку:
🚀 Сегодня вам бесплатно доступен тренажёр по HTML и CSS.
👤 Я попросил кнопку, а не ссылку. И что это за шрифт вообще? Давай поинтереснее какой-то
🤖 Извините за недоразумение. Вот обновленный код, где кнопка создана без использования ссылки и добавлены некоторые стили для придания ей более интересного внешнего вида:
👤 Можно текст не такой длинный? И добавь красненького, этот недостаточно продающий
🤖 Окей, я сократил текст кнопки и изменил цвет фона на красный оттенок. Размер шрифта был увеличен до 20 пикселей для лучшей видимости. При наведении на кнопку цвет фона становится ещё более ярким красным.
👤 Этот красный слишком агрессивный. И пусть у кнопки будут все состояния и модная анимация, а не только ховер
🤖 В этом обновленном примере я изменил цвет фона на более мягкий оранжевый оттенок. Также добавлены состояния для фокуса и активного нажатия кнопки. Когда кнопка получает фокус, она получает ярчайший оранжевый цвет и эффект тени. При активном нажатии кнопка немного сдвигается вниз.
👤 Твоя анимация не работает. И пусть кнопка как бы разъезжается пополам и крутится и обещает скидку
🤖 В этом обновленном примере я добавил новую анимацию, которая разъезжает кнопку пополам и вращает левую половину при наведении курсора. Также я добавил текст с обещанием скидки, который появляется при наведении на кнопку.
👤 Ты издеваешься? Я хочу красную кнопку и чтобы анимация была премиальной
🤖 В этом обновленном примере кнопка имеет красный цвет фона, анимацию, которая разъезжает красную полосу с левой стороны кнопки при наведении, и текст «Премиум», который появляется при наведении.
👤 Ты бы ещё эмодзи с трактором добавил
🤖 Конечно! Вот обновленный код с красной кнопкой, премиальной анимацией и эмодзи с трактором:
👤 Я не это имел в виду!!! Сделай мне обычную нормальную кнопку с текстом «Купить», так, чтобы не стыдно было
🤖 Понял, извините за недоразумение. Вот обновленный код с обычной кнопкой с текстом «Купить»:
👤 Не, кнопка всё равно не работает. Придётся обычную ставить.
🐈
- 21 июня 2023

Как использовать свойство object-fit в CSS
В идеальном мире разработчик берёт подготовленную картинку из макета, вставляет в вёрстку и всё получается отлично. Но в реальности работа часто связана не только с вёрсткой, но и с поддержкой сайта. Некоторые картинки могут заменяться или обновляться. Контент-менеджер может прислать картинку в любом разрешении, а верстальщик должен уметь корректно её разместить.
В тех ситуациях, когда картинка не соответствует размеру бокса, но её нужно вставить, рекомендуется использовать object-fit
. Он определяет, как элемент реагирует на размеры своего бокса. object-fit
предназначается для замещаемых элементов — <img>
, <video>
, <object>
, <input type="image">
.
С помощью object-fit
можно обрезать встроенное изображение и определить, как оно будет сжиматься и растягиваться.
- 15 июня 2023

Что такое px, rem, em, fr, %
Единицы измерения в CSS используют для определения размеров элементов, расстояний, шрифтов и других свойств. Они делятся на абсолютные и относительные.
Абсолютные единицы измерения привязаны к настоящим физическим размерам. Среди них пиксели, сантиметры, миллиметры, дюймы.
Относительные единицы измерения описывают значения, которые зависят от других значений. Среди них em
, rem
, vh
, ex
и другие единицы измерения.
В статье расскажем про пять единиц измерения: px
, em
, rem
, fr
,%
.
- 9 июня 2023

Рамка вокруг элемента. Свойство border
CSS-свойство border
используется для задания стиля, толщины и цвета границы элемента. Граница — это линия, которая окружает элемент и отделяет его контент от соседних элементов. С помощью свойства border
можно создавать различные рамки — от простых одноцветных линий до сложных узоров и теней.
В общем виде свойство записывается так:
selector {
border: border-width border-style border-color;
}
border-width
— задаёт толщину границы.
border-style
— устанавливает стиль рамки.
border-color
— определяет цвет рамки.
p {
border: 3px solid black;
}
- 31 мая 2023

Анимация на сайте. Свойство animation
Свойство animation
используется для создания анимации, например движения, изменения цвета, поворотов, изменения размера элементов. animation
определяет набор ключевых кадров — keyframes, которые описывают, как изменяется свойство элемента со временем.
- 29 мая 2023

Как создать тени на CSS: свойство box-shadow
CSS-свойство box-shadow
добавляет тень вокруг элемента — внутри или снаружи. В зависимости от того, какую тень вы создадите, элемент будет казаться объёмным или глубоким:
- 28 мая 2023

Как установить стиль шрифта. CSS-свойство font
Свойство font
используется для оформления текста на сайте. Оно позволяет задавать различные атрибуты шрифта: размер, начертание, жирность, стиль и цвет.
Свойство в общем виде записывается так:
selector {
font: font-family font-style font-variant font-weight font-size line-height;
}
font-family
— устанавливает семейство шрифтов.
font-style
— задаёт стиль шрифта.
font-variant
— определяет вариант шрифта.
font-weight
— задаёт жирность шрифта.
font-size
— указывает размер шрифта.
line-height
— задаёт высоту строки.
- 27 мая 2023

Как работает transform в CSS на примерах
CSS свойство transform
позволяет манипулировать элементами на вашей веб-странице, изменяя их форму, размер и положение.
В общем виде свойство transform
записывается так: transform: функция(значение);
, где функция
— это тип преобразования, который вы хотите применить, а значение
— параметры этого преобразования.
Свойство transform
может принимать следующие значения:
none
— никакого преобразования не применяется.rotate(angle)
— вращает элемент на заданный угол.scale(x,y)
— масштабирует элемент по осям X и Y.translate(x,y)
— перемещает элемент на заданные координаты.skew(x-angle,y-angle)
— наклоняет элемент на заданные углы по осям X и Y.
Есть некоторые другие варианты преобразований, например, на основе матриц — смотрите их в спецификации. Но они для математиков всяких :)
- 23 мая 2023

Как оформить текст: 11 главных CSS-свойств
У любого текстового элемента есть свои стили по умолчанию. Заголовки крупные и жирные, текст в абзацах нормального размера и начертания, а ссылки обычно синие и подчёркнутые снизу.
🚀 Сегодня вам бесплатно доступен тренажёр по HTML и CSS.
Каждый из этих элементов можно стилизовать по-своему, например, поменять размер, начертание или цвет. Давайте посмотрим, как это сделать.
💡 Для каждого стиля мы подготовили пример в CodePen — попробуйте поменять значения и посмотрите, как изменится текст.
- 23 мая 2023

Трансформации в CSS с примерами
CSS свойство transform
позволяет манипулировать элементами на вашей веб-странице, изменяя их форму, размер и положение.
👉 В общем виде свойство transform
записывается так: transform: функция(значение);
, где функция
— это тип преобразования, который вы хотите применить, а значение
— параметры этого преобразования.
Свойство transform
может принимать следующие значения:
none
— никакого преобразования не применяется.rotate(angle)
— вращает элемент на заданный угол.scale(x,y)
— масштабирует элемент по осям X и Y.translate(x,y)
— перемещает элемент на заданные координаты.skew(x-angle,y-angle)
— наклоняет элемент на заданные углы по осям X и Y.
Есть некоторые другие варианты преобразований, например, на основе матриц — смотрите их в спецификации. Но они для математиков всяких :)
- 21 мая 2023