CSS 中的根元素是指 :root 选择器 匹配到的元素,
也就是文档树中最顶层结构的元素。
在不同的场景下具体的根元素不同。
在 HTML 中是 <html>元素,但在其他情况下,就不是 <html>元素。
(1)HTML
(2)XML
(3)SVG
:root伪类代表根元素,在设置样式的时候,等同于html选择器。但是它有比html更多的权限,比如在内部自定义属性创建全局级别的变量,如下:
:root{
margin:0
padding:0
--primary-color:#666666
}
h1{
color:var(--primary-color)
}
前端中有用到需要设置主题颜色,根据用户喜欢实现换肤的可以使用css中:root定义变量的方式,或者使用动态切换引入的外部css样式表实现,这里着重记录下动态修改css中:root定义的变量实现换肤:
这里定义变量必须是以'--'开头,然后其他页面的样式表就可以直接引用这个变量了
至此就完成了动态修改:root变量实现换肤了,具体的应用场景中我们应该是在页面上操作,选中需要的肤色然后修改:root定义的变量值,考虑到浏览器刷新会重置原始状态的值,这里要结合本地存储方式记住选中的肤色,具体的实现参考: