CSS面试题复习

1、选择器的权重和优先级

选择器

●通用选择器 *{属性:属性值}它的作用是匹配 html 中的所有元素标签。
●ID 选择器 #S{...} (S为选择器名)
●类选择器.S{...} (S为选择器名)
●标签选择器S{...} (S为标签名)
●包含选择器 A B{...}(A、B为HTML元素/标签,表示对处于A中的B标签有效)允许"子标签"甚至"孙子标签"及嵌套更深的标签匹配相应的样式
●子选择器A>B{...}
●兄弟选择器 是CSS3.0新增的一个选择器 A~B{...}

权重

● 从0开始,一个行内样式+1000,一个id选择器+100,一个属性选择器、class或者伪类+10,一个元素选择器,或者伪元素+1,通配符+0

优先级

● 权重相同,写在后面的覆盖前面的
● 使用 !important 达到最大优先级,都使用 !important 时,权重大的优先级高

总结

● 常用选择器权重优先级:!important > id > class > tag
● !important可以提升样式优先级,但不建议使用。如果!important被用于一个简写的样式属性,那么这条简写的样式属性所代表的子属性都会被应用上!important。 例如:background: blue !important;background里的所有子属性都变成了!important
● 如果两条样式都使用!important,则权重值高的优先级更高
● 在css样式表中,同一个CSS样式你写了两次,后面的会覆盖前面的
● 样式指向同一元素,权重规则生效,权重大的被应用
● 样式指向同一元素,权重规则生效,权重相同时,就近原则生效,后面定义的被应用
● 样式不指向同一元素时,权重规则失效,就近原则生效,离目标元素最近的样式被应用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>样式应用于非目标标签时</title>
		<style>
			div p{color: red};
			#box{color: blue}
		</style>
	</head>
	<body>
		<!-- 选中非目标元素的情况下,离目标越近者优先 -->
		<div id="box">
		  <p>
		    <span>神来之笔</span>
		  </p>
		</div>
	</body>
</html>

● 内联样式的优先级并不一定比外联样式高,因为css样式是单线程,依次从上向下加载的,这也就证明了内联样式和外联样式的优先级和加载顺序有关。

总结一下:!important > 行内样式 > 内联样式 and 外联样式

参考链接

https://zhuanlan.zhihu.com/p/41604775

2、Flex

● 弹性盒布局,CSS3 的新属性,用于方便布局,比如垂直居中
● flex属性是 flex-growflex-shrinkflex-basis 的简写

https://blog.csdn.net/weixin_45985175/article/details/118635880
https://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值