Шпаргалка по XPath и CSS-селекторам

Шпаргалка по XPath и CSS-селекторам

Для написания автотестов используются XPath и CSS-селекторы. Они помогают найти элемент на странице, чтобы потом с ним как-то взаимодействовать (кликнуть, ввести текст, или что-то другое). Я видела много статей о том, что это вообще такое, но мне очень не хватало шпаргалки по разным селекторам, причем в разрезе «Вот он в CSS и он же в XPath» для сравнения. А мне такое для студентов надо. Поэтому решила сделать сама. Вдохновлялась страничкой «Xpath cheatsheet», но сделала на свой вкус —…

Подробнее
HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 8

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 8

Хабр, я снова пришёл к вам с практическими советами про доступность вместе с Ильёй. Мы показываем, как HTML и CSS могут улучшить или ухудшить её. Напоминаю, что Илья — мой незрячий знакомый, который помогает мне найти наши косяки в вёрстке. Сегодня мы рассмотрим следующие аспекты: какие скрытые проблемы с паттерном «visually-hidden» нас ждут; в каких ситуациях кнопка «Закрыть» указывает на выход; чем вредно значение contents у свойства display; почему подсказка с помощью…

Подробнее
[Перевод] 37 Советов от Senior Frontend Разработчика. Для начинающих

[Перевод] 37 Советов от Senior Frontend Разработчика. Для начинающих

Мне очень понравился пост abbeyperini, и я решил поделиться своими советами после более чем 5-летнего опыта работы разработчиком программного обеспечения. Готовы? Давайте погрузимся 💪. 1. Освойте основы Дом, построенный на шатком фундаменте, развалится при малейшей проблеме. Аналогично, если у вас нет прочных основ: Читать далее

Подробнее
[Перевод] Анимации CSS, основанные на времени

[Перевод] Анимации CSS, основанные на времени

Демонстрация анимаций В моем предыдущем посте Time Uniform For CSS Animation я рассказал о способе создания CSS-анимации с использованием тиков вместо ключевых кадров. Он был ограничен в применении, поскольку в CSS отсутствовала возможность выполнять сложные математические вычисления. После долгих лет ожидания в CSS теперь поддерживается достаточное количество математических функций, в частности, mod(), round() и тригонометрические функции. Пришло время вернуться к анимации, основанной

Подробнее
Неизвестно полезный CSS. Часть 3

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

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

Подробнее
Рендерим таблицы с помощью Symbiote.js

Рендерим таблицы с помощью Symbiote.js

В этой статье, я хочу показать базовые приемы работы с HTML-таблицами при использовании библиотеки Symbiote.js и раскрыть на практике некоторые ее важные особенности. Читать далее

Подробнее
Как мы применяем гибкую вёрстку для адаптива страниц под большие экраны

Как мы применяем гибкую вёрстку для адаптива страниц под большие экраны

Привет! Меня зовут Оля и я расскажу о том, как мы при помощи гибкой вёрстки настроили отображение контента на широких экранах. Эта статья будет полезна разработчикам веб-сайтов и послужит примером использования CSS при разработке адаптивности сайта для экранов свыше 1921 пикселей. Читать далее

Подробнее
[Перевод] Применение ключевого слова revert-layer в CSS

[Перевод] Применение ключевого слова revert-layer в CSS

В веб-разработке не так просто добиться идеально масштабируемого дизайна для разных браузеров и устройств. Трудности могут возникать везде, от настройки стиля для экранов разных устройств до переопределения стилей, попавших в наш код неизвестно откуда. Читать дальше →

Подробнее
[Перевод] Путь к потрясающему CSS Easing с помощью новой функции linear()

[Перевод] Путь к потрясающему CSS Easing с помощью новой функции linear()

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

Подробнее
[Перевод] Сложнейшая проблема компьютерных наук: центрирование

[Перевод] Сложнейшая проблема компьютерных наук: центрирование

Заявляю: «Мы, как цивилизация, разучились использовать центрирование». Ну то есть мы, конечно, знаем, как это делать — очень просто: display: flex;justify-content: center; /* Горизонтальное центрирование */align-items: center; /* Вертикальное центрирование */ Не спрашивайте, почему вам нужно запомнить четыре слова вместо просто горизонтальное/вертикальное; всё равно лучше, чем было до этого. Ещё можно использовать сетку: display: grid;justify-items: center; /* Горизонтальное…

Подробнее
Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: значения свойства display

Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: значения свойства display

Привет, Хабр. Я продолжаю отвечать на вопросы из собеседований на должность фронтендера. Сегодня я отвечу на следующий вопрос: «В чём отличия между значениями block, inline, flex, inline-flex, grid и inline-grid для свойства display?» Прошу внимания. Мой ответ будет основан на теории, которую я описал в статье «Зачем нужно использовать свойство display?». Прочитайте, пожалуйста, сначала её. Читать дальше →

Подробнее
Неизвестно полезный CSS. Часть 2

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

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

Подробнее