Найти тему
Nuances of programming

8 полезных на практике приёмов для веб-разработчиков

Оглавление

Источник: Nuances of Programming

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

Поэтому я собрал полезные советы по HTML, CSS и JavaScript, которые могут пригодиться каждому веб-разработчику. Возможно, вы найдёте в этом списке несколько новых для себя приёмов.

Внешние ссылки

Стилизовать внешние ссылки можно разными способами. Например, добавить новый стилевой класс для каждой из них. Однако это довольно громоздкий метод, а с помощью CSS можно сделать всё гораздо проще.

Посмотрим на следующий селектор.

a [href*=”//”] :not( [href*=”yourwebsite.com”] ) {
/* Напишите здесь стиль*/ }

Этот CSS-селектор принимает все теги a с атрибутом href , содержащим двойную косую черту (для фильтрации относительных URL-адресов), а также те, в которых отсутствует URL-адрес сайта.

Как правило, в селекторы добавляют псевдоэлемент before или after , в котором обычно хранится иконка. Как в примере ниже:

-2

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

Легкий подсчет

Возможно, вы уже много раз использовали console.log . Для многих веб-разработчиков это лучшее решение при отладке. Но знаете ли вы, что существуют гораздо больше полезных вариантов?

Один из них  —  функция count . Она записывает, сколько раз было произведено определённых вызовов к count . Эта функция позволяет отследить количество событий без самостоятельной установки счётчика.

-3

Функция count содержит один аргумент, в примере выше  —  это метка Name. Для счётчика этот аргумент выступает как идентификатор. И если он не передаётся в функцию, то вместо него идёт метка default .

В этом примере массив names содержит 5 имён. Функция count вызывается каждый цикл, поэтому счётчик выведет 5.

Метка не была определена, поэтому использовалась метка default.
Метка не была определена, поэтому использовалась метка default.

Угол поворота

Угол поворота очень часто используется в CSS для вращения какого-либо элемента или создания анимации. В основном для этого мы применяем функцию трансформации transform: rotate(180deg) , используя градусы. Однако угол можно также задавать и в других единицах, в таких как радианы (rad), грады (grad) или в поворотах (turn).

Повороты (turn)  —  наиболее интересный вариант. Вместо transform: rotate(180deg) можно написать transform: rotate(0.5turn) . А если вы хотите повернуть элемент дважды, то transform: rotate(2turn) вместо transform: rotate(720deg) .

transform: rotate(0.5turn)  в действии
transform: rotate(0.5turn) в действии

Подписи и субтитры

Подписи и субтитры ко всем аудио- и видеозаписям сделают сайт более удобным и доступным для посетителей.

Добавить их можно с помощью тэга track , написав его внутри тэга audio или video .

Вот как это выглядит.

Атрибут label указывает на заголовок текста дорожки. Атрибут kind определяет тип текстовой дорожки и может содержать одно из следующих значений: captions (подписи) , chapter (глава) , descriptions (описание) , metadata (метаданные ) или subtitles (субтитры) . Атрибут srclang указывает на язык текста дорожки, он необходим, если атрибут kind принимает значение subtitles .

Динамические свойства

Иногда в объект нужно добавить динамическое свойство. К счастью, в JavaScript есть такая возможность и даже несколько способов реализации.

Первый выглядит так:

Важно помнить, что при работе в ES6 динамические свойства можно также совмещать с интерполяцией.

В следующем примере добавляем дополнительное свойство к объекту person , используя интерполяцию:

Последний способ присоединить динамическое свойство к объекту  —  это написать его таким же образом, как и добавление пары ключ-значение в массив.

Главное преимущество этого метода заключается в том, что, помимо добавления динамического свойства при объявлении объекта, он также позволяет выполнять другие процессы. Зачастую этот метод комбинируют с условными выражениями if .

Стилизация обязательного и необязательного элемента ввода (input)

В языке CSS имеются псевдоклассы :optional (необязательный) и :required (обязательный) для тегов input , select и textarea . Псевдокласс :optional указывает на элемент без атрибута required . А псевдокласс :required на тот, что содержит атрибуты required .

Вот так это выглядит:

-6

Список, разделённый запятой

Вот ещё один хороший приём, с помощью которого можно разделить список запятой, используя лишь маркированный список HTML и пару строк CSS:

Чтобы всё заработало нужно задать тегу li свойство display со значением inline-block .

<ul > <li >First item</li > <li >Second item</li > <li >Third item</li > </ul >

Получаем вот такой результат:

Массив уникальных значений

Последний в этом списке приём удаляет повторяющиеся элементы в массиве. Зачастую делается это с помощью функции filter . Но это не единственный способ решения проблемы.

Например, можно объединить конструктор Set и оператор Spread .

Читайте также:

Читайте нас в Telegram , VK

Перевод статьи Daan : 8 Tricks for Web Developers You Can Put Into Practice Immediately