Обновить
104.88

CSS *

Каскадные таблицы стилей

Сначала показывать
Порог рейтинга
Уровень сложности

Возможности поля HTML-документа, часть 2. Внедряем CSS и JS

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров5K

В прошлой статье я рассказал, какие возможности скрывает в себе поле HTML-документа, выведенное на форму 1С. Сегодня подробнее остановлюсь на возможностях языков CSS (язык стилей и некоторых элементов поведения) и JavaScript (язык программирования, используемый в веб-разработке), которые могут пригодиться в работе с 1С-интерфейсом.

Читать далее

Неизвестно полезный CSS. Часть 6

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров9.3K


Привет, Хабр. Я продолжаю рассказывать про неизвестные широкому кругу разработчиков CSS фишки. Я отбираю их так, чтобы они были полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React приложение. Они поддерживаются большинством браузеров. Отдельно отмечу, что я не считаю IE11 современным браузером. По этой причине я не учитывал его.

Читать дальше →

style.setProperty vs setAttribute

Время на прочтение14 мин
Количество просмотров1.6K

На днях столкнулся с интересным вопросом. Что быстрее element.style.setProperty(свойство, значение)или element.setAttribute('style', 'свойство: значение')? На первый взгляд ответ кажется очевидным. Логика говорит нам, что setProperty должен устанавливать значение сразу в CSSOM, тогда как setAttributeвыставляет сначала атрибут style и уже потом значение атрибута будет разобрано в CSSOM. Таким образом, setProperty должен быть быстрее. Но действительно ли всё так однозначно? Давайте разбираться.

Начнем с того, что немного освежим мат. часть. Мы знаем, что стили описываются с помощью языка CSS. Получив строковое описание стилей на языке CSS, браузер разбирает его и составляет объект CSSOM. Интерфейс этого объекта представлен спецификацией https://www.w3.org/TR/cssom-1. Он следует принципам каскадности и наследования, изложенным в https://www.w3.org/TR/css-cascade-4.

Из выше указанных спецификаций мы знаем, что основной единицей CSS является "свойство". Свойству присваивается значение, характерное конкретно этому свойству. Если значение не задано явным образом, оно наследуется от выше стоящего стиля или, если нет вышестоящего, будет установлено initial value.

Набор свойств для элемента собирается в правила CSSRule. Правила бывают разных типов. Наиболее популярный тип - CSSStyleRule, определяющий свойства элемента. Такое правило начинается с указания одного из валидных селекторов и последующих фигурных скобок с набором свойств и значений <selector>: { ... }Имеются и другие типы правил, например CSSFontFaceRule, описывающий параметры подключаемого шрифта @font-face { ... }, CSSMediaRule - @media { ... } и др. Полный список в спецификации https://www.w3.org/TR/cssom-1/#css-rules.

Читать далее

CSS-анимации: 20 полезных библиотек для разработчиков

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров12K

Анимации в веб-дизайне давно стали стандартом. Они делают интерфейсы более живыми, помогают привлечь внимание к важным элементам и улучшают пользовательский опыт. Эти 20 библиотек помогут быстро добавить анимации в ваши проекты. 

1. Animate.css

Описание: Простая в использовании библиотека кроссбраузерных анимаций. Подключаете CSS-файл, добавляете классы к элементам, и всё работает. Поддерживает эффекты вроде fade, bounce, slide и другие.

Минусы: Ограниченный набор эффектов. Для сложных кастомизаций потребуется дописывать стили вручную.

2. Magic Animations CSS3

Описание: Базовый набор CSS-анимаций, который подойдет для простых проектов. Легко интегрируется и не требует настройки.
Минусы: Меньше эффектов, чем в Animate.css, и практически отсутствует документация.

3. Animista

Описание: Удобный инструмент для кастомизации анимаций. Сначала вы выбираете эффект в интерфейсе, настраиваете параметры (скорость, задержка, циклы), а затем скачиваете готовый CSS-код.
Минусы: Требуется онлайн-доступ для генерации анимации.

4. Hamburgers by Jonathan Suh
Описание:
Специализированная библиотека для создания анимационных кнопок-гамбургеров. Поддерживает разные стили: стрелки, крестики, линии.
Минусы: Узкая специализация, не подходит для других задач.

5. Whirl
Описание:
Набор простых CSS-загрузчиков: вращение, пульсация, изменение цвета. Легко интегрируется в проекты и не требует сложной настройки.
Минусы: Ограниченный выбор эффектов, подходит только для загрузочных индикаторов.

5. Three Dots
Описание:
Минималистичная библиотека загрузочных анимаций, которые создаются с использованием одного HTML-элемента.
Минусы: Поддерживает только базовые эффекты, не подойдет для сложных анимаций.

Читать далее

Ошибки при работе с tailwindcss

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.1K

Рассмотрим распространенные ошибки которые допускают разработчики при работе с tailwind и пути их решения.

Читать далее

Жаркий спор по теме Masonry в CSS

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров2.8K

CSS получает новый функционал, с помощью которого можно будет создавать сетки по типу Pinterest.
Но из-за дебатов между командами WebKit и Chrome релиз задерживается. Решается вопрос о том, как должен выглядеть синтаксис.

Вырисовывается классическая картина с двумя стульями:

Читать далее

Прочитай перед тем, как делать анимацию по скроллу

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.9K

Я интегрировал видео анимацию, которая перематывается в зависимости от положения скролла, для лендинга детского парка развлечений - wizardia.land

Я думаю, я попробовал все неправильные способы, как можно это реализовать, и дальше расскажу про свой опыт.

Стек проекта: nuxt 3 (ts) / tailwindcss

Идея нашего руководства состояла втом, чтобы создать «вау» эффект для новых пользователей. Для этого оно обратились к 3д художнику, чтобы он намоделил нам видео с красивой переливающейся сферой посередине и последующим ее взрывом с разлетающимся конфетти и тематическими элементами. После того, как оказалось, что само по себе видео выглядит не так впечатляюще, они решили, что оно не должно воспроизводится сразу, а должно перематываться при скроллинге страницы - и тут все началось.

Содержание - вкратце по тупым ошибкам, которые я совершил.

Читать далее

Как сделать один плагин сразу для всех сборщиков фронтенда?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.3K

Здравствуйте, товарищи! Сегодня мы снова поговорим про тулинг для фронтенда. В этот раз обсудим разработку плагинов для сборщиков, таких как: Webpack, Vite, esbuild и подобных. За основу мы возьмем Unplugin.

Короткий ответ на вопрос из заголовка: пока никак. Чуть более длинный - изображен на обложке. А в качестве полноценного ответа, предлагаю вам эту статью. Попробуем хотя бы приблизиться к заявленному результату.

Сразу стоит уточнить: это не туториал, а скорее case-study.

Читать далее

Что должен знать Junior Frontend разработчик в 2024 году

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров18K

Рынок с каждым днем развивается и для текущих разработчиков главной задачей всегда является держать руку на пульсе и быть с курсе всех изменений в сфере IT. Будь то технологии, библиотеки, либо архитектурные решения. Программисты любого направления Middle уровня и выше понимают, что главная ценность в разработчике это — решать проблему лучшим, доступным и самым простым способом. И для достижения этой цели необходимо использовать определенный набор инструментов, который не всегда одинаковый.

Приведу аналогию.

Читать далее

Звездный рейтинг на HTML-CSS

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров5.4K

Мы знакомы с поведением поля ввода пятизвездочного рейтинга. Отображены пустые звезды. Пользователь решает, сколько баллов из пяти будет содержать его оценка. Он выбирает (тап/клик) звезду, которая соответствует оценке (в зависимости от позиции с начала). Выбранная звезда и все звезды, расположенные перед ней, отображаются закрашенными, что обозначает их активное состояние. Если, например, пользователь хочет оценить на три из пяти, он кликает на третьей звезде. После этого первая, вторая и третья звезда «зажигаются». Если не выбрана ни одна звезда, считается, что пользователь не оценивал и оценка не приравнивается к нулю. Оценив однажды, пользователь не может вернуться, чтобы отменить оценивание.

Читать далее

Векторизация с помощью Three.js

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.2K

Векторизация — это процесс преобразования растрового изображения (состоящего из пикселей) в векторное изображение, которое описывается математическими формулами. Векторные изображения имеют несколько преимуществ, таких как возможность масштабирования без потери качества и меньший размер файла для определённых типов графики.

В контексте вашего вопроса, если вы преобразуете картинку в векторное отображение с картой высот, это может означать, что вы создаёте векторную графику, которая также включает информацию о высоте или рельефе, что может быть полезно, например, в 3D-моделировании или при создании карт.

Читать далее

Пара шаблонов кастомизированных элементов Handlebars для Apache Superset — 2

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров6.6K

Причины написания статьи, общие правила использования handlebars в superset и советы содержатся в первой статье, поэтому сразу опишу следующие шаблоны.

Читать далее

Глассморфизм и SVG

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.7K

Всем привет. Я Андрей Осипов, фронтендер из Контура. Почти три года назад, когда у компании был еще старый фирменный стиль, мы столкнулись с проблемой экспорта из фигмы изображений в формате SVG. Сложность была с изображениями, где был эффект глассморфизма, он же эффект матового стекла (frosted glass).

Недавно чисто из любопытства я решил проверить, починили ли в Figma эту проблему. Проблема осталась. Плагинов так и нет, а гугл не предлагает хороших решений. Поэтому решил выложить эту статью сюда, может, кому пригодится.

Читать далее

Ближайшие события

Мощь CSS-масок

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров13K

Декабрь 2023 года стал значимой датой в истории развития CSS-свойства mask: все современные браузеры в своих последних версиях обеспечили его полную поддержку, теперь без использования своих вендорных префиксов. А это означает, что данное свойство прочно и надолго вошло в жизнь каждого фронтенд-разработчика. Осталось лишь фронтенд-разработчикам принять его в свою жизнь и перестать его бояться!

В статье я кратко напомню основные теоретические идеи свойства и подробно расскажу о реальных примерах использования на основании опыта разработки Taiga UI.

Читать далее

Магия CSS на практике: советы по вёрстке от гика. Часть 5

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров8.3K


Хабр, привет! Я снова пришёл к вам со статьёй, где показываю мои любимые техники вёрстки. Моя цель — поделиться опытом с вами. Я использую не только трюки известных экспертов, есть лично мои придумки. Но, пожалуйста, относитесь к этому контенту, как просто альтернативному мнению. Мои техники не являются единственными правильными решениями.

Читать дальше →

Пара шаблонов кастомизированных элементов Handlebars для Apache Superset

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.3K

Apache Superset всё чаще становится выбором для визуализации данных благодаря открытому коду. Но, увы, столкнувшись с его ограничениями и тонкостями, даже самые опытные пользователи могут столкнуться с трудностями. Есть много ограничений, которые требуют обращения за доработками к разработчикам, но с помощью шаблона Handlebars в сочетании с шаблонизацией jinja некоторые трудности можно обойти.

С его помощью можно внедрить web-верстку прямо в ваши дашборды, обходя множество подводных камней. Готовых шаблонов для handlebars (superset) мало, так как это довольно трудоемкая задача, часто выходящая за рамки работы с готовыми BI-системами.

Читать далее

Что нового в Chrome 130?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.6K

Вот что вам нужно знать:

Document "picture-in-picture" дает вам больше возможностей для управления окнами "picture-in-picture".

Вложенные объявления в CSS - исправление некоторых сложных ситуаций.

Вы можете задать поведение декораций для элементов, которые разделяются на несколько строк.

И многое другое.

Читать далее

Неизвестно полезный CSS. Часть 5

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров14K


Привет, Хабр. Я продолжаю рассказывать про неизвестные широкому кругу разработчиков CSS-фишки. Я отбираю их так, чтобы они были полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React-приложение. Они поддерживаются большинством браузеров. Отдельно отмечу, что я не считаю IE11 современным браузером. По этой причине я не учитывал его.

Читать дальше →

Создание навигации с «плавающим» фоном ссылок на чистом CSS

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.4K

Если у вас есть аккаунт на Vercel, вы, наверное, замечали, как плавно фон ссылок в панели навигации перемещается, следуя за курсором мыши. Такого эффекта несложно добиться с помощью CSS и нескольких строчек JS. Однако, интереса ради, я решил попробовать добиться похожего эффекта на чистом CSS.

Ссылка на конечный результат для тех, кто спешит: https://codepen.io/simzikov/pen/zYgojrb. Остальных прошу читать далее.

Читать далее

Bootstrap или свое решение

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.4K

Хекслет и все его сайд-проекты: code-basics.com, codebattle.hexlet.io, guides.hexlet.io реализованы с помощью Bootstrap. Причем, в основном, это стандартный бутстрап, иногда расширенный с помощью его встроенных механизмов (theming).

Почему мы это делаем?

Процесс разработки, который включает в себя этап дизайна, а следом и верстки, значительно медленнее, чем процесс, в котором интерфейсы создаются из готовых блоков без привлечения дополнительных людей. Думаю, не ошибусь, если скажу, что скорость отличается в разы. По моей оценке, задача на полдня может выливаться в неделю работы.

Это особенно важно, учитывая, что для современных it-бизнесов наиболее критичная метрика — time to market, то есть скорость, с которой изменения доставляются до пользователей. Быстрые и частые релизы позволяют не тратить время на ненужные вещи и делать только то, что пользователям нужно по-настоящему.

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

С плюсами понятно, а что насчет минусов? Ведь сайт выглядит не “круто”.

Как показывает практика, влияние дизайна на успешность продукта нередко переоценивается. Более того, на Хекслете происходит ровно наоборот. Сейчас дизайн более стандартный для Bootstrap, чем был в начале 2018 года (у нас была попытка сделать что-то совсем своё), и мы получаем много положительных отзывов:

Читать далее

Вклад авторов