Size: a a a

2020 September 29

МТ

Марк Танащук... in Svelte [svelt]
Alexander Ponomarev
margin: var(—margin, 0);
margin-right: var(—margin-right, 0);
margin-left: var(—margin-left, 0);
margin-top: var(—margin-top, 0);
margin-bottom: var(—margin-bottom, 0);
margin-inline: var(--margin-inline, 0);
margin-inline-start: var(—margin-inline-start, 0);
margin-inline-end: var(—margin-inline-end, 0);
margin-block: var(--margin-block, 0);
margin-block-start: var(—margin-block-start, 0);
margin-block-end: var(—margin-block-end, 0);

плюс каждую еще заскоупить чтобы на других компонентах эти же переменные незаработали =)
https://svelte.dev/repl/d6037c6ce0494002b79ae59f4cc7bdca?version=3.28.0

Мне кажется или такой варик не так плох для такого кейса?
источник

МТ

Марк Танащук... in Svelte [svelt]
Типо всяко удобнее(кастомизируемее?) css переменных и в целом подходит под концепт инкапсулированности свелта =P
источник

МТ

Марк Танащук... in Svelte [svelt]
Константин
но я хз, что ты делаешь, потому что без слотов никакую серьёзную композицию ты не сделаешь
Пропсы =)
источник

AP

Alexander Ponomarev in Svelte [svelt]
Марк Танащук
Типо всяко удобнее(кастомизируемее?) css переменных и в целом подходит под концепт инкапсулированности свелта =P
Я тут только фейспалм могу поставить.
источник

МТ

Марк Танащук... in Svelte [svelt]
Alexander Ponomarev
Я тут только фейспалм могу поставить.
Причина?
источник

AP

Alexander Ponomarev in Svelte [svelt]
потому что реальный вариант будет иметь префикс у каждой цсс переменной иначе ты всему поддереву будешь маржины менять на всех уровнях вложенности
источник

AP

Alexander Ponomarev in Svelte [svelt]
а это как бы дохрена бойлерплейт кода если что
источник

AP

Alexander Ponomarev in Svelte [svelt]
который решается одной строчкой и 9 строчками в компиляторе
источник

МТ

Марк Танащук... in Svelte [svelt]
О каких цсс переменных речь?
источник

МТ

Марк Танащук... in Svelte [svelt]
Alexander Ponomarev
margin: var(—margin, 0);
margin-right: var(—margin-right, 0);
margin-left: var(—margin-left, 0);
margin-top: var(—margin-top, 0);
margin-bottom: var(—margin-bottom, 0);
margin-inline: var(--margin-inline, 0);
margin-inline-start: var(—margin-inline-start, 0);
margin-inline-end: var(—margin-inline-end, 0);
margin-block: var(--margin-block, 0);
margin-block-start: var(—margin-block-start, 0);
margin-block-end: var(—margin-block-end, 0);

плюс каждую еще заскоупить чтобы на других компонентах эти же переменные незаработали =)
?
источник

AP

Alexander Ponomarev in Svelte [svelt]
зачем ты процитировал мое сообщение?
источник

МТ

Марк Танащук... in Svelte [svelt]
Alexander Ponomarev
зачем ты процитировал мое сообщение?
Потому что я постоянно слышу о "Вот как нам плохо, нам нужно прописывать отступы цсс переменными" и вспомнил корень всея проблемы
источник

AP

Alexander Ponomarev in Svelte [svelt]
не все верстают по гребанным сеткам и не все маржины укладываются в какие-то изотерические значения mr/ml/lm
источник

МТ

Марк Танащук... in Svelte [svelt]
Alexander Ponomarev
не все верстают по гребанным сеткам и не все маржины укладываются в какие-то изотерические значения mr/ml/lm
Так теилвинд работает =\
источник

AP

Alexander Ponomarev in Svelte [svelt]
еще есть auto, calc и тд
источник

МТ

Марк Танащук... in Svelte [svelt]
Ровно также прокидывается
источник

МТ

Марк Танащук... in Svelte [svelt]
ж
источник

МТ

Марк Танащук... in Svelte [svelt]
auto ? "auto" : calc ? calcVar : size + unit
источник

AP

Alexander Ponomarev in Svelte [svelt]
ты мне поддержку RTL тоже на такой штуке напишешь?
источник

AP

Alexander Ponomarev in Svelte [svelt]
и все шортхенд варианты
источник