我正在Vue中构建第三方网络组件,该组件在大部分样式上主要依赖于Tailwindcss。
组件的shadow-dom封装了大部分样式和css,因此在组件所在的网页和shadow dom内部之间几乎没有样式泄漏。
但是,Tailwind几乎在所有字体、填充、高度、宽度等方面都使用基于rem的值进行大小调整。
我刚刚发现,唯一的例外是来自父页面的样式会流入到shadow-dom中,即shadow-dom会继承在主页面样式表中设置的html{ }部分的基础字体大小。
由于基于rem的值从父级的html{}块继承,这意味着如果主页面的html{}块中设置的字体大小不是16px,则所有基于Tailwind的高度、字体、填充等都会被任意调整大小。
在我回去尝试彻底删除组件中的Tailwind之前,是否有任何方法可以防止shadow-dom从主页面的html {}块中继承字体大小?一个提供了几乎所有封装样式的网络组件被迫从页面继承根字体大小似乎很荒谬。
我尝试过用!important覆盖字体大小,也尝试用另一个标签包装组件,但两者都似乎不起作用。
组件的shadow-dom封装了大部分样式和css,因此在组件所在的网页和shadow dom内部之间几乎没有样式泄漏。
但是,Tailwind几乎在所有字体、填充、高度、宽度等方面都使用基于rem的值进行大小调整。
我刚刚发现,唯一的例外是来自父页面的样式会流入到shadow-dom中,即shadow-dom会继承在主页面样式表中设置的html{ }部分的基础字体大小。
由于基于rem的值从父级的html{}块继承,这意味着如果主页面的html{}块中设置的字体大小不是16px,则所有基于Tailwind的高度、字体、填充等都会被任意调整大小。
在我回去尝试彻底删除组件中的Tailwind之前,是否有任何方法可以防止shadow-dom从主页面的html {}块中继承字体大小?一个提供了几乎所有封装样式的网络组件被迫从页面继承根字体大小似乎很荒谬。
我尝试过用!important覆盖字体大小,也尝试用另一个标签包装组件,但两者都似乎不起作用。