css隐藏元素的方法及区别,哪个css令可以隐藏当前元素
css隐藏元素的方法及区别,哪个css令可以隐藏当前元素
一说起隐藏HTML页面上的元素,很多人反应就是设置元素的CSS属性display:none;值,这是一种最常见的隐藏页面元素方法。本篇文章我们就一起看看使用CSS隐藏页面元素的方法,以及它们的区别。
本篇文章中的例子直接放到github地址中,感兴趣的同学可以自取。
CSS
正如上文说的一样,最简单也最粗暴的方法就是设置元素的display属性为none;
display:none;
设置为display:none;的元素将不会再占用页面空间,其占用的空间会被其他元素所占有,从而会引起浏览器的重排和重汇。
另外一种方法是设置元素的visibility属性为hidden。
visibility: hidden
这种做法虽然能够隐藏元素,但是该元素仍会占用页面空间,因此只会导致浏览器的重汇而不会引起重排。
如果希望元素隐藏后不会引起页面布局的变化,则使用visibility:hidden;方式。
设置元素透明度opacity属性为0,也可以隐藏页面元素。
opacity:0
在呈现上与visibility:hidden;方式一样,同样会占据页面空间。
对页面布局的影响主要是看是否会引起浏览器的重汇和重排,对应的差异如下图所示。
页面布局差异
display:none;的元素会直接从页面上消失,因此在该元素上绑定的事件不会生效。
visibility: hidden;的元素不会触发绑定的事件。
opacity:0; 的元素会触发绑定的事件,例如点击会触发click函数。
我们可以通过以下的例子来看看。
首先我们定义两个div,分别设置为visibility: hidden;和opacity:0,在两个div上分别绑定一个click事件。
定义div元素
绑定的事件
当我们在两个元素都进行点击时,可以在控制台看到如下输出结果。
结果
从上述结果可以看出和上述结论一致。
display:none;的元素会直接从页面消失,因此定义transition效果完全无效。
visibility:hidden;的元素会在transition设置的时间内消失,但是没有动画效果。
opacity:0;的元素可以和正常元素一样,从页面以动画效果消失。
同样我们可以通过以下这个例子来看看。
首先,我们定义两个div,并设置其transition属性。
div元素
定义transition效果
我们通过将鼠标移元素上,可以看到两者的差异,从而验证了上述结论的正确性。
本篇文章主要讲解了使用CSS隐藏元素的几种常用方法,并讲解了它们之间的区别,以便大家在特定的场景中进行选择。
css
- 随机文章
- 核心危机(核心危机魔石合成攻略)
- 风儿(风儿轻轻的吹)
- 儿童教育文章(儿童教育)
- 光遇花手先祖位置(安卓光遇手花先祖)
- 广州4a广告公司(广州4a广告公司创意总监年薪)
- xboxones(xboxone手柄怎么配对主机)
- 兵马俑(兵马俑介绍和历史背景)
- 陈武简历
- 帆船比赛(帆船比赛视频)
- 海猫鸣泣之时游戏(海猫鸣泣之时游戏在哪玩)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 儋州市第二中学(儋州市第二中学录取分数线)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 地球日主题(2020年世界地球日主题)
- 和柳亚子(和柳亚子先生于田)
- 冰客(冰客果汁)
- yy魔兽(yy魔兽世界)
- 国外成人游戏(国外成人游戏注册需要visa信用卡)
- 充值卡代理(充值卡代理加盟)
- 拆奶罩
- 郭妮小说(恶魔的法则郭妮小说)
- 东天目山(东天目山景区)
- 杭同(杭同培训中心怎么样)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 服饰加盟(服饰加盟店招商)
- 疯狂填字(疯狂填字5)
- 点对点短信息(点对点短信息费是什么意思)
- 观音普门品(观音普门品念诵全文)
- 河北省大运会(河北省大运会时间)
- 哈利波特官网(哈利波特官网在哪里)
