8 практичных хитростей веб-разработчика — применить немедленно!

HTML, CSS и JS хинты, которые полезно знать — перевод 8 Tricks for Web Developers You Can Put Into Practice Immediately

Maria Hladka
devSchacht
5 min readJan 27, 2021

--

 Cookie the Pom  Unsplash
Фотография от Cookie the Pom на Unsplash

Веб-разработчику всегда приятно лишний раз облегчить себе жизнь. Особенно, если это можно сделать моментально и на практике. Только вот список приемов по облегчению жизни разработчика — почти бесконечен, да и не все из них безопасно часто применять.

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

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

Можно стилизовать ссылки разными методами; один из способов это сделать — приписать ко внешним ссылкам специализированный класс.

Но это громоздко и ненужно, поскольку для простых задач можно и не создавать лишний класс.
Рассмотрим CSS-селектор:

Селектор принимает все те a теги, атрибут href которых содержит две косые черты (для фильтрации относительных URL-адресов) и не содержит URL-адреса вашего веб-сайта. То есть, фильтр проходят только внешние ссылки.
Просто, неправда ли?!

     before

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

Наверное, console.log вы уже много раз использовали. Но знали ли вы о других, более полезных для отладки функциях?

Одна из этих функций - count. Она возвращает число раз, которые была вызвана. Это позволит не создавая счетчик отслеживать, сколько раз до этого происходило определенное событие:

Функция count имеет один аргумент - Name, в приведенном выше примере. Этот аргумент работает как идентификатор счетчика. Если аргумент Name не передан, то будет использовано значение «по умолчанию».

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

3. Углы

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

Самая интересная из них — это turn. Вместо записи transform: rotate(180deg) можно написать transform: rotate(0.5turn). Или, например, если необходимо повернуть элемент два раза, то transform: rotate(2turn) эквивалентно transform: rotate(720deg)

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

Добавление подписей или субтитров ко всему аудио и видео на веб-сайте очень поможет посетителям. Это, вероятно, не требует дополнительных объяснений.

Можно добавить заголовок или субтитры с помощью тега track. Он работает как для audio, так и для video тегов.
Вот как это выглядит:

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

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

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

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

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

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

Большое преимущество этого метода — он позволяет добавлять динамические свойства не только при объявлении объекта; такой способ часто комбинируется с оператором if:

6. Стилизация необязательных и обязательных элементов ввода.

CSS поставляется с псевдоклассами :optional и :required для тегов input, select и textarea.

Псевдокласс :optional представляет элемент, для которого не установлен обязательный атрибут, а псевдокласс :required - элемент, для которого обязательный атрибут установлен:

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

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

Вот небольшой хитрый трюк, который позволяет вам создать список, разделенный запятыми, используя только неупорядоченный список HTML и пару строк CSS.

Для того, чтобы это сработало, вам необходимо установить для свойства display тега li значение inline-block.

Вот как выглядит результат:

8. Уникальные значения массива

Последний трюк в этом списке позволяет удалить повторяющиеся значения из массива. Один из распространенных способов сделать это — использовать функцию filter. Как обычно, есть несколько способов решить эту проблему.

Мой любимый способ удаления повторяющихся значений из массива - это совмещение конструктора Set со spread-оператором - просто и чисто!

Слушайте наш подкаст в iTunes и SoundCloud, читайте нас на Medium, контрибьютьте на GitHub, общайтесь в группе Telegram, следите в Twitter и канале Telegram, рекомендуйте в VK и Facebook.

--

--

Maria Hladka
devSchacht

Python web developer. Django, FastAPI, Aiohttp, SQL, Docker, JavaScript. HELP IRPIN CITY!