CSS

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

Окей, ChatGPT, сделай мне кнопку

Окей, ChatGPT, сделай мне кнопку

👤 Чатгпт, все разработчики и дизайнеры в отпуске. Сделай мне кнопку на CSS, чтобы все сразу купили профессию «Фронтенд-разработчик»

🤖 Конечно, я могу помочь с созданием кнопки на CSS и HTML! Вот пример кода, который создаст стильную кнопку:

🚀 Сегодня вам бесплатно доступен тренажёр по HTML и CSS.

👤 Я попросил кнопку, а не ссылку. И что это за шрифт вообще? Давай поинтереснее какой-то

🤖 Извините за недоразумение. Вот обновленный код, где кнопка создана без использования ссылки и добавлены некоторые стили для придания ей более интересного внешнего вида:

👤 Можно текст не такой длинный? И добавь красненького, этот недостаточно продающий

🤖 Окей, я сократил текст кнопки и изменил цвет фона на красный оттенок. Размер шрифта был увеличен до 20 пикселей для лучшей видимости. При наведении на кнопку цвет фона становится ещё более ярким красным.

👤 Этот красный слишком агрессивный. И пусть у кнопки будут все состояния и модная анимация, а не только ховер

🤖 В этом обновленном примере я изменил цвет фона на более мягкий оранжевый оттенок. Также добавлены состояния для фокуса и активного нажатия кнопки. Когда кнопка получает фокус, она получает ярчайший оранжевый цвет и эффект тени. При активном нажатии кнопка немного сдвигается вниз.

👤 Твоя анимация не работает. И пусть кнопка как бы разъезжается пополам и крутится и обещает скидку

🤖 В этом обновленном примере я добавил новую анимацию, которая разъезжает кнопку пополам и вращает левую половину при наведении курсора. Также я добавил текст с обещанием скидки, который появляется при наведении на кнопку.

👤 Ты издеваешься? Я хочу красную кнопку и чтобы анимация была премиальной

🤖 В этом обновленном примере кнопка имеет красный цвет фона, анимацию, которая разъезжает красную полосу с левой стороны кнопки при наведении, и текст «Премиум», который появляется при наведении.

👤 Ты бы ещё эмодзи с трактором добавил

🤖 Конечно! Вот обновленный код с красной кнопкой, премиальной анимацией и эмодзи с трактором:

👤 Я не это имел в виду!!! Сделай мне обычную нормальную кнопку с текстом «Купить», так, чтобы не стыдно было

🤖 Понял, извините за недоразумение. Вот обновленный код с обычной кнопкой с текстом «Купить»:

👤 Не, кнопка всё равно не работает. Придётся обычную ставить.

🐈

CSS
  • 21 июня 2023
Как использовать свойство object-fit в CSS

Как использовать свойство object-fit в CSS

В идеальном мире разработчик берёт подготовленную картинку из макета, вставляет в вёрстку и всё получается отлично. Но в реальности работа часто связана не только с вёрсткой, но и с поддержкой сайта. Некоторые картинки могут заменяться или обновляться. Контент-менеджер может прислать картинку в любом разрешении, а верстальщик должен уметь корректно её разместить.

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

С помощью object-fit можно обрезать встроенное изображение и определить, как оно будет сжиматься и растягиваться.

Читать дальше
CSS
  • 15 июня 2023
Что такое px, rem, em, fr, %

Что такое px, rem, em, fr, %

Единицы измерения в CSS используют для определения размеров элементов, расстояний, шрифтов и других свойств. Они делятся на абсолютные и относительные.

Абсолютные единицы измерения привязаны к настоящим физическим размерам. Среди них пиксели, сантиметры, миллиметры, дюймы.

Относительные единицы измерения описывают значения, которые зависят от других значений. Среди них em, rem, vh, ex и другие единицы измерения.

В статье расскажем про пять единиц измерения: px, em, rem, fr,%.

Читать дальше
CSS
  • 9 июня 2023
Рамка вокруг элемента. Свойство border

Рамка вокруг элемента. Свойство border

CSS-свойство border используется для задания стиля, толщины и цвета границы элемента. Граница — это линия, которая окружает элемент и отделяет его контент от соседних элементов. С помощью свойства border можно создавать различные рамки — от простых одноцветных линий до сложных узоров и теней.

В общем виде свойство записывается так:

selector {
  border: border-width border-style border-color;
}

border-width — задаёт толщину границы.

border-style — устанавливает стиль рамки.

border-color — определяет цвет рамки.

p {
  border: 3px solid black;
}
Читать дальше
CSS
  • 31 мая 2023
Анимация на сайте. Свойство animation

Анимация на сайте. Свойство animation

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

Читать дальше
CSS
  • 29 мая 2023
Как установить стиль шрифта. CSS-свойство font

Как установить стиль шрифта. 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 — задаёт высоту строки.

Читать дальше
CSS
  • 27 мая 2023
Как работает transform в CSS на примерах

Как работает 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.

Есть некоторые другие варианты преобразований, например, на основе матриц — смотрите их в спецификации. Но они для математиков всяких :)

Читать дальше
CSS
  • 23 мая 2023
Как оформить текст: 11 главных CSS-свойств

Как оформить текст: 11 главных CSS-свойств

У любого текстового элемента есть свои стили по умолчанию. Заголовки крупные и жирные, текст в абзацах нормального размера и начертания, а ссылки обычно синие и подчёркнутые снизу.

🚀 Сегодня вам бесплатно доступен тренажёр по HTML и CSS.

Каждый из этих элементов можно стилизовать по-своему, например, поменять размер, начертание или цвет. Давайте посмотрим, как это сделать.

💡 Для каждого стиля мы подготовили пример в CodePen — попробуйте поменять значения и посмотрите, как изменится текст.

Читать дальше
CSS
  • 23 мая 2023
Трансформации в CSS с примерами

Трансформации в CSS с примерами

CSS свойство transform позволяет манипулировать элементами на вашей веб-странице, изменяя их форму, размер и положение.

👉 В общем виде свойство transform записывается так: transform: функция(значение);, где функция — это тип преобразования, который вы хотите применить, а значение — параметры этого преобразования.

Свойство transform может принимать следующие значения:

  • none — никакого преобразования не применяется.
  • rotate(angle) — вращает элемент на заданный угол.
  • scale(x,y) — масштабирует элемент по осям X и Y.
  • translate(x,y) — перемещает элемент на заданные координаты.
  • skew(x-angle,y-angle) — наклоняет элемент на заданные углы по осям X и Y.

Есть некоторые другие варианты преобразований, например, на основе матриц — смотрите их в спецификации. Но они для математиков всяких :)

Читать дальше
CSS
  • 21 мая 2023