CSS选择器中比较常见的有标签选择器、ID选择器、类选择器以及子选择器。而事实上,CSS选择器如果细分下来,竟然多达40多种。那他们的优先级该怎么比较呢,下面就来看看吧。
● 不同级别
1. 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式。
2. 作为style属性写在元素内的样式
3. id选择器
4. 类选择器
5. 元素选择器
6. 通配符选择器
7. 浏览器自定义或继承
总结排序:!important > 行内样式 > ID选择器 > 类选择器 > 元素 > 通配符 > 继承 > 浏览器默认属性
● 同一级别
(1) 同一级别中后写的会覆盖先写的样式
(2) 同一级别css引入方式不同,优先级不同
总结排序:内联(行内)样式 > 内部样式表 > 外部样式表 > 导入样式(@import)。
对于选择器优先级,还可以通过计算权重值来比较
@ css布局的三种机制?
CSS 布局的 3 种机制分别是普通流(标准流)、浮动和定位。
①普通流(标准流)
(1) 块级元素会独占一行,从上向下顺序排列;
常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table
(2) 行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行;
常用元素:span、a、i、em等
②浮动
让盒子从普通流中浮起来,主要作用让多个块级盒子一行显示。
③定位
将盒子定在浏览器的某一个位置——CSS 离不开定位,特别是后面的 js 特效。
@ CSS的类选择器和id选择器各有什么优势?
ID用于标识页面上的特定元素(比如站点导航),而且必须是唯一的。 ID也可以用来标识持久的结构性元素,例如主导航或内容区域。ID还可以用来标识一次性元素,例如某个链接或表单元素。一个ID只能应用于页面上的一个元素。
class同一个类名可以应用于页面上任意多个元素,因此类的功能强大的多。类非常适合表示内容的类型或其他相似的条目。
在实际开发中,要根据实际使用情况来决定是使用哪种样式。对于单一元素的在单一界面的展示样式可以推荐是用id来定位。多余多个界面公用,或者同一界面多个元素风格一致,样式统一使用class类要方便的多。
下面就是最简单的一个小例子:
展示效果:
@ 前端中css星号是什么意思?
在css样式中,星号代表的是“所有元素”,“*”选择器能够选取所有的元素或者一个元素中的所有子元素。使用“*”选择器来设置样式,会统一设置所有元素的样式,语法为“*{css属性:属性值;}”。
星号选择器(*)表示选中所有的元素。
* 选择器选取所有元素。
* 选择器也能选取另一个元素中的所有元素。
注意:*选择器比较消耗性能,尽量避免使用,应使用更加精确的选择器选择元素。