Веб-версияОткрыть в Telegram
CCSS mind

CSS mind

@css_mind · канал · Технологии · в индексе с 2026-05-24
2 642подписчиков−3 за неделю
96постов в индексе
C
CSS mind
Ссылка
нажмите — покажем
Недавно сделала на работе красивую анимацию для иконки играющего трека, делюсь демкой - https://codepen.io/ariarzer/pen/XWQGaoG. Там можно использовать принцип цикады в работе. Делаете циклы анимаций длинами, равнимы двум простым числам (у меня 5 и 3), накладываете друг на друга, и получаете отрезок уникальных анимаций длиной в их произведение (у меня 15).
30 · 4.7K ·
CSS mind
GIF
ezgif-4-8e67f2f446 (1).mp4 · 231 КБ · нажмите — покажем
Изучала вчера якорное позиционирование, собрала такую демку. https://codepen.io/ariarzer/pen/mdZodep Как сделать без такой дикой вложеннсоти пока не придумала, но буду рада услышать ваши идеи. Тем не менее, все равно впечатляет, какие вещи теперь можно делать на css.
25 · 3.1K ·
C
GIF
ezgif-5-ea57b2790b.mp4 · 117 КБ · нажмите — покажем
Оказывается это работает без вложенности без каких-либо трюков, оно просто работает. Потому что у якорей нет области видимости - "the anchor names of its descendants are visible to elements elsewhere in the page." Я даже не проверила, была уверена, что так нельзя. Оказывается можно. Держите красивую демку - https://codepen.io/ariarzer/pen/wvLOwKd?
54 · 3.7K ·
CSS mind
Фотография
нажмите — покажем
В начале месяца вышел первый рабочий черновик спецификации CSS values and units 5, а в пятницу вечером в нем уже исправили первые опечатки и огрехи. Напишу серию постов о том, что нового и полезного готовит нам csswg. Смотрите ниже по тегу #css_values_5.
1 · 2.4K ·
Фотография
нажмите — покажем
P.S Напоминаю, что следить за работой csswg можно, подписавшись на их рассылку. Кнопку подписки выделила на скриншоте. Раз в неделю, приходит агенда на встречу, а через день протокол c решениями. Так же ссылки на протоколы публикуются на сайте W3C и в твиттере рабочей группы css.
4 · 2.5K ·
C
Запятые в аргументах функции Аргументы в функциях сейчас разделяются запятыми. Это создает противоречие с тем, что аргумент может уже содержать запятую как часть себя. Появляется потребность в разделителе более высокого порядка. Им стала точка с запятой. При парсинге списка аргументов фунцкции сначала все запятые будут считаться разделителями аргументов функции. Если будет встречена точка с запятой, то все предыдущие аргументы, написанные через запятую, превратяться в один большой аргумент. И для этой конкретной функции запятая больше не будет считаться разделителем высшего порядка. Эти два примера эквивалентны: list-style: random-item(--x, disc, circle, square); list-style: random-item(--x; disc; circle; square); А здесь три аргумента, один из которых состоит из списка двух значений через запятую: list-style: random-item(--x; disc, circle; square); P.S. Пост из серии про новый пятый уровень спецификации CSS values, остальные смотрите по тегу #css_values_5
7 · 2.5K ·
CSS mind
Функции интерполяции Группа функций с постфиксом *-progress(), позволяющих посчитать положение значения на заданном промежутке между двумя другими в заданном контексте. Функция без префикса, просто progress(), принимает три значения и возвращает пропорцию (progress_value - start_value) / (end_value - start_value). То есть, грубо говоря, где находится progress_value на шкале между start_value и end_value. /* * @param {<calc-sum>} --progress_value * @param {<calc-sum>} --start_value * @param {<calc-sum>} --end_value * @return {<number>} */ progress(var(--progress_value) from var(--start_value) to var(--end_value)); Обратите внимания, что типы агрументов указаны как <calc-sum>. Так же, как, например, у фукнций min(), max() и clamp(). Это значит, что можно писать вычисления внутри, не оборачивая их в calc(). Аналогично, функция media-progress() возвращает число, представляющее собой текущее положение между двумя заданними значениями в контексте указанного медиа-запроса. /* * @param {<media-feature>} --media_feature * @param {<calc-sum>} --start_value * @param {<calc-sum>} --end_value * @return {<number>} */ media-progress(var(--media_feature) from var(--start_value) to var(--end_value)); И такая же функция для интерполяции в контексте контейнера, где необязательный аргумент <container-name> позволяет допольнительно указать имя контейнера: /* * @param {<size-feature>} --size_feature * @param {<calc-sum>} --start_value * @param {<calc-sum>} --end_value * @param {<container-name>} [optional] --container_name * @return {<number>} */ container-progress(var(--size_feature) of <container-name> from var(--start_value) to var(--end_value)); P.S. Пост из серии про новый пятый уровень спецификации CSS values, остальные смотрите по тегу #css_values_5
10 · 3K ·
C
CSS mind
Ссылка
нажмите — покажем
Вычисление с использованием собственных размеров. Не смотря на наличие определение собственных размеров в словаре Веб-стандаров, здесь можно считать, что собственные размеры - это те, что не могут быть установлены без отрисовки документа. Например нельзя знать, какой размер текста, пока он не будет нарисован заданным шрифтом. В таких случаях мы не можем использовать проценты и другие зависимые от контента значения в свойствах, связанных с размерами элемента. Но функция calc-size() можно позволить это делать некоторым образом. calc-size( <calc-size-basis>, <calc-sum> ) Она принимает два аргумента, базис и выражение, которое должно быть рассчитано на основе этого базиса. При этом внутри выражения разрешено ключевое слово size, значения которого будет равно базису. А в качетве базиса можно указать не только численные значения, но и <intrinsic-size-keyword>, то есть вещи типа auto, min-content, max-content и тому подобное. Значение базиса будет рассчитано на основе контекста свойства, в котором используется выражение. Например, так можно сделать блок равным половине максимально возможной ширины по контенту: width: calc-size(max-content, size / 2); P.S. Пост из серии про новый пятый уровень спецификации CSS values, остальные смотрите по тегу #css_values_5
21 · 5K ·
C
CSS mind
ОтветВычисление с использованием собственных размеров. Не смотря на наличие определение собственных размеров в словаре Веб-стандаров, здесь можно считать, что собственные размеры - это те, что не могут быть установлены без отрисовки документа. Например нельзя знать, какой размер текста, пока он не будет
Ссылка
нажмите — покажем
Вообще самая приятная вещь относительно calc-size() это не то, что можно растягивать блок на половину максимального размера. А то, что размеры, рассчитанные внутри calc-size(), считаются определелямыми. Значит они могут быть конечной точкой анимации. Проще говоря, скоро у нас будет возможность анимировать что-нибудь в нулевого размера до размера auto. Подробности в заметке: https://ru.ariarzer.dev/2024/notes/calc-size-2024/
11 · 5.5K ·
C
CSS mind
Ссылка
нажмите — покажем
У меня сегодня первый рабочий день на новой работе, и я конечно же первым делом потащила в прод container queries. Поэтому хочу показать вам красивую адаптивную сетку с сепараторами - https://codepen.io/ariarzer/pen/dPbEKaq P.S. комментарии по демкам всегда принимаются в личку, ссылка в закрепе. P.P.S на самом деле сетка красивая, а вот код не очень, писать столько выражений для каждого случая - жесть. Но в жизни редко бывают такие мелкие сетки, поэтому можно немного пострадать, пока нам не завезут в каком-нибудь виде циклы.
33 · 3.9K ·
C
CSS mind
Ссылка
нажмите — покажем
Нам наконец-то завезут в следующем хроме функцию attr() в том виде, в котором ее планировали много лет назад! Источник: https://developer.chrome.com/blog/advanced-attr Раньше с её помощью можно было получать значение атрибута только в виде строки. Теперь можно будет указывать тип значения, и это очень важно, потому что преобразования типов в css нет как явления. И если у вас в атрибуте лежало число, использовать его для вычислений было невозможно. Пример тут. P.S. Для преобразования типов был только известный хак от Анны Тюдор как привести число к строке через счетчик. Можно было использовать для отображения числовых переменных через свойство content - https://codepen.io/ariarzer/pen/mdvwzaq
17 · 4.1K ·
C
C
CSS mind
Фотография
нажмите — покажем
Сегодня день рождения CSS2 🥳🎂
7 · 4K ·
CSS mind
Фотография
нажмите — покажем
Между прочим в сегодняшнюю агенду CSS Working Group включено обсуждение возможности вынимать единичные значения из шортхендов.
4 · 2.4K ·
C
ОтветМежду прочим в сегодняшнюю агенду CSS Working Group включено обсуждение возможности вынимать единичные значения из шортхендов.
Ссылка
нажмите — покажем
Из аудитории поступил вопрос что такое шортхенды. Это от английского short hand, короткие руки. Так вот, представьте тиранозавра. У него лапки короткие, печатать неудобно. Поэтому он печатает не border-width, border-color и border-style отдельно, а сразу все в border. Чтобы меньше печатать короткими лапками. А вообще официальное определение есть на MDN, например. 🦖🦖🦖
3 · 3.2K ·
C
CSS mind
А вы знали, что next ломает вам типизацию перменных? Если вы напишите ... @property --var { syntax: "<percentage>"; initial-value: 0%; inherits: true; } ...то next оптимизирует до initial-value: 0;, потому что cssnano в текущей последней версии next считает что это хорошо. И работать конечно ничего не будет. Что делать? Писать initial-value: 0.0%;, либо менять тип на <length-percentage>. Ну и ждать пока next обновит версию cssnano. P.S. первый ночной пост в канале 👩‍💻🌚
10 · 4.6K ·
C
CSS mind
Фотография
нажмите — покажем
Просто напоминаю, что существует сайт на старомонгольском. У него уникальный режим письма: сверху вниз и слева направо. https://president.mn/mng/
105 · 6.9K ·
C
CSS mind
Фотография
нажмите — покажем
Кстати если у вас разные конфиги для разных директорий (например у меня для работы один юзернейм и имеил в одном конфиге, а для фриланса другой в другом), то у гита есть вот такая штука. Что-то вроде условных импортов. На скрине буквально написано, что если ты сейчас в директории freelance, то сходи и возьми вот этот файл конфига. А то что выше в секции core, и если бы там еще что-то было, остается для всех вне зависимости от директории.
26 · 1.9K ·
C
CSS mind
Фотография
нажмите — покажем
Говорят верстать легко, а мне вот сегодня калькулятор с регрессиией понадобился P.S. Кстати пользуйтесь десмосом, он удобный https://www.desmos.com/calculator
7 · 981 ·

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем