Size: a a a

2020 November 25

СА

Сергей Артёмов... in Svelte [svelt]
Это ведь простое удаление лишних стилей? В этом проблема?
источник

A

Alexey in Svelte [svelt]
Без него в некоторых случаях никак, особенно когда у тебя какой нибудь перебор массива в котором ставится свг иконка у которой есть своя стилизация на ховер парент дива например
источник

К

Константин in Svelte [svelt]
Сергей Артёмов
Это ведь простое удаление лишних стилей? В этом проблема?
вот именно, что простое. Удаляются нужные селекторы. Тут такое нефиговое противоречие получается, я только что это понял.
источник

СА

Сергей Артёмов... in Svelte [svelt]
Противоречия в логике компилятора вроде нет. Если он не видит в текущем компоненте последовательность нод с классом одним и тем же, он и селектор с такой последовательностью выкидывает.
Другое дело, что даже для меня (новенького тут) очень часто всплывает вопрос, "как заставить неудалять мои стили?" (в смысле я его тут уже не раз видел)

А нет какой-то опции в svelte.config.js, которая бы запрещала удалять? Или к примеру в <style> эту опцию добавлять как lang?
источник

МТ

Марк Танащук... in Svelte [svelt]
Сергей Артёмов
Противоречия в логике компилятора вроде нет. Если он не видит в текущем компоненте последовательность нод с классом одним и тем же, он и селектор с такой последовательностью выкидывает.
Другое дело, что даже для меня (новенького тут) очень часто всплывает вопрос, "как заставить неудалять мои стили?" (в смысле я его тут уже не раз видел)

А нет какой-то опции в svelte.config.js, которая бы запрещала удалять? Или к примеру в <style> эту опцию добавлять как lang?
:global =\
источник

МТ

Марк Танащук... in Svelte [svelt]
Хеш не дают возможность добавить
источник

СА

Сергей Артёмов... in Svelte [svelt]
Марк Танащук
:global =\
а если хочется изоляцию оставить?
источник

МТ

Марк Танащук... in Svelte [svelt]
Сергей Артёмов
а если хочется изоляцию оставить?
.parent__class :global(.child)
источник

ER

Eric Rovell in Svelte [svelt]
Вот, было бы неплохо сделать это опцией.
В том же <svelte:option /> чтобы не удалять "лишние" стили.
источник

К

Константин in Svelte [svelt]
Логика такая - мы убираем якобы лишние селекторы, потому что хотим изолировать стили в компоненте. При этом. Я хочу на верхнем элементе компонента (хотя тут не суть, даже если бы это был один единственный элемент где-то в глубине разметки компонента - не важно) некий класс (условно .cls), однозначно идентифицирующий такого рода ноды во всём приложении. И я также хочу в этом самом компоненте определить стили для таких же точно компонентов, которые могут появиться за моим. Я не могу этого сделать, потому что селектор с .cls+.cls в данном случае удаляется. (надеюсь, нить рассуждений ещё не потеряна)
И как же мне предлагает решить эту проблему свелт? Чувак! Ебашь свой селектор в :global, потому что больше никак!
И тут мы получаем противоречие. С одной стороны мы изолируем стили в компонентах, чтобы в том числе можно было классы с одними и теми же именами использовать где угодно, не боясь бесконтрольного пересечения правил, но с другой нам как решение предлагают :global, который порождает как раз ровно ту проблему, от которой нас хотели избавить изоляцией.

Тут ошибка в самой концепции.
источник

ER

Eric Rovell in Svelte [svelt]
Константин
Логика такая - мы убираем якобы лишние селекторы, потому что хотим изолировать стили в компоненте. При этом. Я хочу на верхнем элементе компонента (хотя тут не суть, даже если бы это был один единственный элемент где-то в глубине разметки компонента - не важно) некий класс (условно .cls), однозначно идентифицирующий такого рода ноды во всём приложении. И я также хочу в этом самом компоненте определить стили для таких же точно компонентов, которые могут появиться за моим. Я не могу этого сделать, потому что селектор с .cls+.cls в данном случае удаляется. (надеюсь, нить рассуждений ещё не потеряна)
И как же мне предлагает решить эту проблему свелт? Чувак! Ебашь свой селектор в :global, потому что больше никак!
И тут мы получаем противоречие. С одной стороны мы изолируем стили в компонентах, чтобы в том числе можно было классы с одними и теми же именами использовать где угодно, не боясь бесконтрольного пересечения правил, но с другой нам как решение предлагают :global, который порождает как раз ровно ту проблему, от которой нас хотели избавить изоляцией.

Тут ошибка в самой концепции.
Что-то в этом есть😅
источник

К

Константин in Svelte [svelt]
(я понимаю, что изоляция не только для использования классов с одинаковыми именами)
источник

К

Константин in Svelte [svelt]
(поправил)
источник

СА

Сергей Артёмов... in Svelte [svelt]
Вот с помощью препроцессора (вроде) можно врубить в конфиге вообще на всё глобал. А при этом можно где надо указать :isolate(selector) ?
источник

СА

Сергей Артёмов... in Svelte [svelt]
Меня бы такой вариант устроил))
источник

К

Константин in Svelte [svelt]
Сергей Артёмов
Вот с помощью препроцессора (вроде) можно врубить в конфиге вообще на всё глобал. А при этом можно где надо указать :isolate(selector) ?
хм, а разве удаляет лишние классы не свелт?
источник

СА

Сергей Артёмов... in Svelte [svelt]
свелт
источник

К

Константин in Svelte [svelt]
или препроцессор автоматом оборачивает всё в глобал, кроме того, что в :isolated и убирает обёртку :isolated?
источник

СА

Сергей Артёмов... in Svelte [svelt]
просто svelt-preprocessor может врубить в конфиге опцию global, и тогда вообще все стили будут глобальными. Лучше сказать не изолированными.
источник

К

Константин in Svelte [svelt]
а это опция свелт или препроцессора?
источник