首页 > 试题广场 >

要让一个元素不可见且在文档流中不占位,应该使用下面哪个 CS

[单选题]
要让一个元素不可见且在文档流中不占位,应该使用下面哪个 CSS 规则?
  • display: none
  • visibility: hidden
  • overflow: hidden
  • opacity: 0
display:none和visibility:hidden都能把网页上某个元素隐藏起来,但是两者有区别:
一、display:none
1、不为被隐藏的对象保留其物理空间。html对象在页面上彻底消失(display:none会让元素完全从渲染树中消失,渲染的时候不占据任何空间)。
2、是非继承属性,子孙节点消失由于元素从渲染树消失造成的,通过修改子孙节点,属性无法显示。
3、修改常规文档流元素的display通常会造成文档的重排(reflow)重绘(repaint)。
二、visibility:hidden
1、为隐藏的对象保留其物理空间,html对象仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在(visibility:hidden不会让元素从渲染树中消失,渲染树元素继续占据空间,只是内容不可见)。
2、是继承,子孙节点消失由于继承了hidden,通过visibility:visible可以让子孙节点显示。
3、修改visibility属性只会造成文档的重绘(repaint)。
三、关于什么是重排重绘,请参考链接:http://blog.sina.com.cn/s/blog_c112a2980102xmf6.html
发表于 2019-08-26 10:26:23 回复(1)
display:none 不可见,不占据文本流位置,事件不可触发
overflow:hidden 不可见,占据文本流位置,事件不可触发
opacity:0 不可见,占据文本流位置,事件可以触发
发表于 2021-10-15 11:31:21 回复(0)
发表于 2022-04-06 11:56:24 回复(0)
display:none 不会占位置
opacity:0 和 visibility: hidden 都会占据原来的位置
发表于 2021-08-10 14:46:12 回复(0)
display是不可触发的事件 overflow 是可触发的
发表于 2023-12-17 23:29:47 回复(0)
display:none,不显示,且不占文档对象
发表于 2020-11-24 21:18:25 回复(0)