Web-заметки №7. CSS-функции min(), max(), clamp()

preview_player
Показать описание
Привет!
Решил создать новую рубрику на канале - Web-заметки. Буду рассказывать тут про различные свойства, теги, js-методы и просто какие-то небольшие новости из мира веба.

В этом видео показываю удобные функции чистого css - min, max, clamp.

Меня зовут Максим Васянович. Фрилансер уже 5 лет, создал более 50 коммерческих сайтов. Преподаватель в онлайн-университете Skillbox, автор курса Веб-верстка.

#ityoutubersru #web_заметки #верстка
Рекомендации по теме
Комментарии
Автор

Хрена-се! Два года назад Макс уже сделал обзор на эти новые свойства, которые многие верстальщики только сейчас начинают использовать в своих проектах! )

_Fantom_.
Автор

Здорово! выглядит полезно. Будем использовать

jascherkagri
Автор

Даже не думал, что есть что-то подобное на css, а так писал свой хук на scss) очень полезный урок!

ggo_webdev
Автор

"кроме не браузера"
Хехе) Годно, как всегда!

enfllome
Автор

для font-size подходит отлично, а вот для обычных блоков можно использовать with + (max-width/min-width), например:

вместо min()/max()

.block{max-width: 500px; width: 50%;}
.block{min-width: 500px; width: 50%;}

А так вариаций может быть очень много:
calc()/vmin/vmax/vw/vh/% и т.д.

wmxhhot
Автор

Слегка сумбурно, но спасибо ) Что-то новенькое

aceracer
Автор

CSS функции: min(), max(), clamp()
Width: min (50%; 500px) - если 50% > 500px, то ширина = 500px, иначе ширина = 50%.

Width: max (50%; 500px) - если 50% < 500px, то ширина = 500px, иначе ширина = 50%.

Width: clamp(300px, 50%, 1000px) - минимальная ширина = 300px, если ширина < 1000px, то равна 50%, максимальная ширина = 1000px

Конспект урока

const-shish
Автор

Макс, спасибо за видео, полезные функции, я на препроцессоре sass попробовал скомпилировать их в обычный css, а он не хочет, ругается на разные единицы, % и px, но если написать вот так: calc(min(100%, 1000px)); то работает все, компилируется, подскажи пожалуйста, уместно так использовать эти функции? Еще раз спасибо за видео)))

ibjvqcn
Автор

Шикарные функции. Не знал даже про них. Сходу так сложно их куда-то вставить. Но их функционал шикарен

alym.aleksey
Автор

8:00 я не понял момент с 5vw. Для чего мы его там написали? Это шаг уменьшения и увеличения или что?

SireneviyRay
Автор

есть разница между min-width: / max-width: и width: clamp; ?

DrakeUA
Автор

Решил тут в качестве эксперимента потестить клампы не только для font-size, но и для line-height. И столкнулся со странным поведением элементов.
Допустим я задал переменную подобного плана:

--lineHeight: clamp(2.50rem, calc(1.63rem + 4.38vw), 6.88rem);
что равняется 40.00px при размере экрана 320px и 110.00px при 1920px

и еще с кучу других для разных абзацев и заголовков согласно макету, который нарисовал дизайнер для этих разрешений экрана.

и при изменении окна браузера многие элементы начинают скакать +-1px, оно и логично ибо размер строки меняется и размер шрифта, но вот чего я не могу понять, так это то, что background-image тоже начинают скакать. Есть кнопка размером 30 на 30 с bckg-pos: center center, bckg-size: 10 на 10 и вот при изменении размера окна браузера изображение прыгает на эти +-1px. Не скачет только в том случае, если кнопку вынем из потока задав ей скажем pos:fix. Принудительное обнуление или переназначение lh у данной кнопки не приводит к желаемому результату, чтобы иконка не скала. Через костыли конечно нашел вариант, как поправить это, но всё-же, почему так происходит.

NotForSale