Size: a a a

Веб-компоненты

2017 November 11

MB

Mikhail Bashkirov in Веб-компоненты
там часть про то "Почему не надо это использовать" просто великолепна 😀
> Here's my summary of why you should never create web components with {mode: 'closed'}:
...
источник

l(

lolmaus (Andrey Mikhaylov) in Веб-компоненты
API shadow DOM позволяет применить scoped styles к обычному DOM-элементу?

Задача -- устранить протечку стилей из приложения в компонент, вроде aside {float: left;}.
источник

l(

lolmaus (Andrey Mikhaylov) in Веб-компоненты
Лол, полез в яндекс-карты по своим делам, на автопилоте написал "shadow dom". ЯК направил в самый центр Минска, в театр теней.
источник

MB

Mikhail Bashkirov in Веб-компоненты
lolmaus (Andrey Mikhaylov)
API shadow DOM позволяет применить scoped styles к обычному DOM-элементу?

Задача -- устранить протечку стилей из приложения в компонент, вроде aside {float: left;}.
я так понял твоя боль все еще актуальна  😂
источник

l(

lolmaus (Andrey Mikhaylov) in Веб-компоненты
Куда деваться с подводной лодки...

Ну так каков ответ?
источник

MB

Mikhail Bashkirov in Веб-компоненты
вопрос не изменился насколько я вижу, ответ тоже
источник

MB

Mikhail Bashkirov in Веб-компоненты
или переформулируй вопрос, чтобы стало понятнее, а то ты спрашиваешь так, что совершенно непонятно что ты с ShadowDOM делаешь
источник
2017 November 12

l(

lolmaus (Andrey Mikhaylov) in Веб-компоненты
Я ничего не делаю с Shadow DOM, я его совсем не знаю.

У меня есть проблема протечки стилей из глобальной области в компонент (традиционный, т. е. просто кусок обычного DOM).

Я хочу понять, может ли Shadow DOM помочь мне ее решить без усложнения/переиначивания способа работы с компонентами.

Т. е. если можно сделать что-то вроде:

on("didInsertElement", function () {
 this.element.scopeCSSWithShadowDOM()
})

То это то, что мне нужно.

А если нужно плясать с бубном, прикручивать Polymer, приносить жертвы богам glue code, то нет.
источник

MB

Mikhail Bashkirov in Веб-компоненты
Я выше вполне серьезно отвечал на этот же вопрос. Могу только подтвердить четко и коротко, что да, в основном решит.
источник

MB

Mikhail Bashkirov in Веб-компоненты
Другое дело, что есть подврдные камни о которых надо знать. И конечно же не все браузеры роддерживают, что делает его пока неполноценным решением без помощи дополнительных тулзов.
источник

l(

lolmaus (Andrey Mikhaylov) in Веб-компоненты
Благодарю. Просто ты в прошлый раз очень поверхностно ответил. Я воспринял ответ как "можно, но нельзя", поэтому и решил сформулировать вопрос более конкретно.
источник
2017 November 13

MB

Mikhail Bashkirov in Веб-компоненты
@lolmaus таки не поверишь, но вчера я стокнулся с этой же проблемой в совершенно непредвиденном месте) я тут пилю тулзу для веб-компонентов и по определению не могу юзать ShadowDOM в ней, так как она должна поддерживать окружения без ShadowDOM (с полифиллом)... так что пришлось искать как изолировать мой тултип, встроенный на страницу, от стилей страницы... и я вспомнил старый добрый метод из начал нулевых - reset.css

https://github.com/bashmish/web-components-inspector/blob/master/src/publisher/ui/highlighter.js#L143
источник

MB

Mikhail Bashkirov in Веб-компоненты
по иронии, способ тоже может как минимум сломаться на text-decoration))) как и ShadowDOM (выше писал про эту особенность, что оно всегда протекает), но это мелочь, которая в жизни пренепрежимо маловероятна
источник

l(

lolmaus (Andrey Mikhaylov) in Веб-компоненты
Но тогда обычный цсс будет заслонен инлайновым 😰
источник

MB

Mikhail Bashkirov in Веб-компоненты
@lolmaus .my-reset-wrapper * { ... }
и я не говорил, что это будет красиво и шустро)
источник

l(

lolmaus (Andrey Mikhaylov) in Веб-компоненты
Об этом пути я думал, но селекторы получаются очень специфичные, неудобно. 😕
источник
2017 November 15

MB

Mikhail Bashkirov in Веб-компоненты
немножко про законодательную сторону вопроса A11Y в Евросоюзе
https://axesslab.com/web-accessibility-directive/

обратите внимание на сроки
23 September 2018 – deadline for countries to have put laws and regulations in place to comply with the directive.
23 September 2019 – all new websites (created after 23 September 2018) need to be accessible
23 September 2020 – all websites (not just new ones) need to be accessible
23 June 2021 – all mobile apps need to be accessible
источник

MB

Mikhail Bashkirov in Веб-компоненты
не знаю насколько у нас собираются регулировать этот вопрос, но думаю что подтянутся
и я бы рекомендовал задуматься о самообучении в этом вопрос, чтобы не отставать от индустрии, так как это все равно затронет нас всех и надо быть готовым
источник

MB

Mikhail Bashkirov in Веб-компоненты
и тут я понял, что запостил не в тот канал блин :)
источник

l(

lolmaus (Andrey Mikhaylov) in Веб-компоненты
Ты перепостил это куда-то или можно обсуждать тут?
источник