我有一个创建弹出窗口的 javscript 包。我还为该弹出窗口提供了一些 css 样式。用户可以使用 npm 或使用 cdn 导入脚本(和 css)。
问题是有时这些样式会被网站的样式覆盖。比如这样
a {
text-decoration: none !important;
}
我不想在网站的弹出窗口上应用任何其他样式,我该如何实现这一点?
我的建议是,当您看到像这样的劣质 CSS 脚本(在基本标签上添加 !important 属性)时,请绕过制作它的开发人员,找到一个更好的开发人员。
也就是说,可以通过使用相同或更高层次标识符来覆盖 !important 属性,并在其上使用 !important 属性。由于您的 CSS 加载时间比标准 CSS 脚本晚,因此由于 CSS 的级联特性,您的 CSS 会获得优先权。
网站风格:
a {
text-decoration: none !important;
}
您的定制风格:
a {
text-decoration: underline !important;
}
请考虑 CSS 中标识符规范存在层次结构的事实。您可以在 W3 学校网站上阅读更多相关信息:https://www.w3schools.com/css/css_specificity.asp