CSS中*选择器的含义是什么?是否会对所有标签生效?
CSS 通用选择器
* 详解 嘿,好问题!咱们一步步来拆解你的疑问:
1. * 是什么?
* 在CSS里叫做通用选择器(Universal Selector),它的作用是匹配页面上所有的HTML元素——不管是<div>、<p>、<a>这类常见标签,还是<header>、<input>甚至<span>这类小众元素,全都会被它选中。
2. 它的样式会应用到所有标签上吗?
完全正确!你给出的这段代码就是典型的CSS重置代码片段,目的是消除不同浏览器对HTML元素的默认样式差异(比如有的浏览器默认给<body>加margin,给<ul>加padding和列表符号),让页面样式在各个浏览器里更统一:
* { margin:0; padding:0; outline:none; list-style:none; text-decoration:none; box-sizing:border-box; color:#fff; background: transparent; border:none; }
不过要注意一个关键细节:通用选择器的优先级是最低的。如果之后你给某个特定元素写了更具体的样式(比如.my-box { color: #333; }或者p { padding: 10px; }),那些更具体的选择器会覆盖*里的样式。举个例子,如果你写了a { color: blue; },那么链接文字会变成蓝色,而不是*里的白色,因为标签选择器的优先级比通用选择器高。
3. 额外小提示
- 虽然通用选择器很方便,但有时候可能会影响一些特殊元素(比如某些原生表单控件),不过你的这段代码已经针对性设置了
border:none、background:transparent,应该是特意要统一这类元素的样式。 - 曾经有人担心通用选择器会影响页面性能,但现在主流浏览器都做了优化,只要不是嵌套太多复杂选择器,基本不用顾虑。
内容的提问来源于stack exchange,提问作者haileyerickson
相关产品推荐
相关产品推荐

