Search
Write a publication
Pull to refresh

Comments 15

Необходимость в таком нестандартном селекторе [class*="static-font"] обоснована тем

C ходу не могу понять необходимости селектора атрибута вместо обычного селектора класса. Почему не .static-font { } ?

Ниже описан селектор static-font__M, который уже внутри себя имеет реализованные переменные для виртуальных переменных "миксина"

Вы не ответили на вопрос. Что мешает использовать простой селектор класса для описания "миксина"?

Иначе придётся реализовывать в каждом классе типо static-font__XL, static-font__L, static-font__M, static-font__S и тд. :

--_font-size: var(--font-size, 1em);
--_line-height: var(--line-height, calc(var(--_font-size) + 4px));

font-size: var(--_font-size);
line-height: var(--_line-height);

В кратце - для более лаконичного использования атомарного класса

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

<span class="my-text static-font__XS">Hallo, world!!!</span>

сделать по-настоящему "резиновый" шрифт – при изменении размера экрана динамически меняется размер текста

И такой подход себя оправдывает?

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

Соглашусь, дизайнерам не всегда получается вписаться в рамки 10 шрифтов. Но в случае когда надо в конкретном месте подменить некоторые показатели шрифта, это можно легко сделать CSS переменными прямо по селектору тега, на который навесили static-font__M

В статье есть похожий пример с цветом текста:

.my-text {
  --color: #F00;
}

Непонятно, зачем все эти сложности с line-height и прибавляемой дельтой вместо простого безразмерного множителя.

Соглашусь, зачастую дизайнеры выставляют достаточно строго разницу между font-size и line-height. Но случаются случаи когда необходимо увеличить или наоборот уменьшить line-height:

Буквально недавно мы разговаривали с нашим лидом дизайна по поводу этого шрифта для кнопок – им было необходимо, чтобы font-size сохранился, но line-height был 26px.

Относительно применения дельты, которую вы предложили – я пытался применить этот подход, но на практике он оказался неудобным, потому что в Figma line-height указан в конкретном значении и для указания значения дельты нужно делать доп услилие высчитывая её. В данном вопросе я придерживаюсь jobs to be done, чтобы сторонний разработчик просто скопировал значения из Figma и всё работало.

зачастую дизайнеры выставляют достаточно строго разницу между font-size и line-height

Это какой-то домысел, никто разницу не делает.

В реальности есть два подхода:
1. Высота строки привязывается к кеглю множителем, например line-height: 1.5;
2. Высота строки фиксируется в конкретном значении, например line-height: 24px; – в частности, этот вариант полезен, когда высота строки должна быть кратна какой-то сетке, например 8-пиксельной. Но это не фиксированная дельта.

Под строгим выставлением дельты я имею ввиду, что в фигме явно выставлен и `font-size` и `line-height` – как раз второй вариант, про который вы говорили

Ну хорошо, но в коде ведь дельта зачем-то прибавляется.

SASS’овский миксин «резинового» текста был сделан на скорую руку и я не проводил тщательного ревью (я тимлид), поэтому решили оставить так

Sign up to leave a comment.

Articles