169 похожих чатов

Привет ) А во svelte можно ли как то сделать

что бы внешние стили body не влияли на веб компонент ? И еще вопрос, только стили html/body могут повлиять на веб компонент, в плане перебить какие то стили ?

20 ответов

16 просмотров

А где такое вообще возможно?)

Из коробки — нет. Для этого нужно втаскивать ЦСС-модули в свелт. Способы для этого есть. Кирилл, не подскажешь? Я ссылку не могу найти на этот кайфовый препроцессор.

Вадим-Коваленко Автор вопроса
Roman Yu.
А где такое вообще возможно?)

вот например в этом варианте )

Roman Yu.
А где такое вообще возможно?)

Везде. По сути, проблема в том, что когда ты в свелте пишешь class='modal', то он оставляет этот класс всегда. Если ты вдобавок в компоненте же в теге style пишешь какие-то стили к этому селектору, тогда свелт хеширует и делает class='modal svelte-hasdasd'. То есть изоляция стилей компонента есть, но извне они протекают. Мне это норм, я пользуюсь глобальными стилями (бульма). Но не всем.

Daniil Kozlov
Везде. По сути, проблема в том, что когда ты в све...

Стоп стоп стоп, вопрос был про каскадность.

Вадим-Коваленко Автор вопроса
Daniil Kozlov
Из коробки — нет. Для этого нужно втаскивать ЦСС-м...

понял, спасибо ) Если найдете ссылку буду очень благодарен )

Roman Yu.
Стоп стоп стоп, вопрос был про каскадность.

А, вот с скриншотом я понял, да. Нет, от такого не защититься, разумеется.

Вадим Коваленко
понял, спасибо ) Если найдете ссылку буду очень бл...

Не, это нерешаемо. Только ресет в веб-компоненте делать, хаха

Daniil Kozlov
А, вот с скриншотом я понял, да. Нет, от такого не...

Такое просто нужно контролировать. При правильной архитектуре это возможно. А css-modules это один из инструментов, не самый лучший, но для большинства хоть что-то…

Вадим-Коваленко Автор вопроса
Daniil Kozlov
Не, это нерешаемо. Только ресет в веб-компоненте д...

да, я тоже думал о ресете ) но это же только для body и html требуется сделать как я понял ? Другими вариантам я стили перебить не смог, хоть это порадовало

Вадим Коваленко
да, я тоже думал о ресете ) но это же только для b...

Не очень понятная задача. Вы делаете какой-то встраиваемый виджет, поэтому вы не контролируете стили на бади?

Вадим Коваленко
да, я тоже думал о ресете ) но это же только для b...

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

Вадим-Коваленко Автор вопроса
Daniil Kozlov
Не очень понятная задача. Вы делаете какой-то встр...

Да, так и есть. Клинты буду встраивать грубо говоря наш виджет себе на сайт. Вот и требуется что бы их стили не перебивали стили нашего виджета. Надеялся что со svelte не придется пихать все во фрейм.

svelte-preprocess-cssmodules https://github.com/sveltejs/rfcs/pull/13#issuecomment-823835345 Он уже вышел из rc, можно ставить без next

Вадим Коваленко
Да, так и есть. Клинты буду встраивать грубо говор...

Я вижу тут два варианта: 1. держать свой UI в iframe 2. попробовать поиграться с all: unset или all: initial

Вадим-Коваленко Автор вопроса
Daniil Kozlov
Я вижу тут два варианта: 1. держать свой UI в ifra...

Да, тоже думаю что в итоге придется пихать UI в iframe все таки

Вадим-Коваленко Автор вопроса
Daniil Kozlov
Я вижу тут два варианта: 1. держать свой UI в ifra...

Вообщем обернул в компоненте все в общий див, задал ему all: initial и вродь сработало даже ) Фиг знает какие конечно тут подводные камни будут )

Вадим Коваленко
screenshot вот например в этом варианте )

что в этом варианте? у компонента просто задан недефолтный бэкграунд? потому что дефолтный прозрачный. здесь не про компоненты и не про изоляцию. хоть в модулях, хоть свелте и хоть в шедоу доме пришлось бы в компоненте сделать непрозрачный бэк

Вадим Коваленко
Вообщем обернул в компоненте все в общий див, зада...

Тут есть подводные камни, конечно, потому что тут всё еще работает каскад и стилизация извне :) Условно, * {color: white !important;} перебьёт этот ресет. Если добавишь !important в своём ресете, всё равно извне можно будет стилизовать более специфичными селекторами. Короче, реальная изоляция только в iframe.

Вадим-Коваленко Автор вопроса
Daniil Kozlov
Тут есть подводные камни, конечно, потому что тут ...

Я потестил с * {color: white !important;}, не перебивает ) на main стоит all: initial; и это помогает

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта