display:none和visibility:hidden两者的区别
使用css让元素不可见的方法有很多种,裁剪、定位到屏幕外边、透明度变换等都是可以的。但是最常用两种方式就是设置元素样式为display: none或者visibility: hidden。很多公司的面试官也常常会问面试者这两者之间的区别。
display与元素的隐藏
如果给一个元素设置了display: none,那么该元素以及它的所有后代元素都会隐藏,它是前端开发人员使用频率最高的一种隐藏方式。隐藏后的元素无法点击,无法使用屏幕阅读器等辅助设备访问,占据的空间消失。
<body><div><strong>给元素设置display:none样式</strong><p>A元素</p><p style='display:none;'>B元素</p><p>C元素</p></div>
</body>
效果图:
visibility与元素的隐藏
给元素设置visibility: hidden也可以隐藏这个元素,但是隐藏元素仍需占用与未隐藏时一样的空间,也就是说虽然元素不可见了,但是仍然会影响页面布局。
<body><div><strong>给元素设置visibility:hidden样式</strong><p>A元素</p><p style='visibility:hidden;'>B元素</p><p>C元素</p></div>
</body>
效果图:
display: none与visibility: hidden的区别
很多前端的同学认为visibility: hidden和display: none的区别仅仅在于display: none隐藏后的元素不占据任何空间,而visibility: hidden隐藏后的元素空间依旧保留 ,实际上没那么简单,visibility是一个非常有故事性的属性
1、visibility具有继承性,给父元素设置visibility:hidden;子元素也会继承这个属性。但是如果重新给子元素设置visibility: visible,则子元素又会显示出来。这个和display: none有着质的区别
2、visibility: hidden不会影响计数器的计数,如图所示,visibility: hidden虽然让一个元素不见了,但是其计数器仍在运行。这和display: none完全不一样
<body><div><strong>给元素设置visibility:hidden样式</strong><ol><li>元素1</li><li style="visibility:hidden;">元素2</li><li>元素3</li><li>元素4</li></ol></div><div><strong>给元素设置display:none样式</strong><ol><li>元素1</li><li style="display:none;">元素2</li><li>元素3</li><li>元素4</li></ol></div></body>
3、CSS3的transition支持visibility属性,但是并不支持display,由于transition可以延迟执行,因此可以配合visibility使用纯css实现hover延时显示效果。提高用户体验。
display:none和visibility:hidden两者的区别相关推荐
- [css] 说说display:none和visibility:hidden的区别
[css] 说说display:none和visibility:hidden的区别 display:none dom对象不渲染. visibility:hidden 隐藏但是dom对象渲染. 个人简介 ...
- display:none和visibility:hidden的区别
在使用CSS隐藏一些元素时,我们经常用到 display:none 和 visibility:hidden.两者差别如下: 1. 是否占据空间 display:none,该元素不占据任何空间,在文档渲 ...
- _blank 和 _self的区别以及display:none和visibility:hidden的区别
_blank 和 _self的区别 target=_blank会在当前窗口之外再打开一个新窗口来显示新的页面 target=_self在当前窗口打开新页 面 display:none和visibili ...
- CSS隐藏属性display:none;visibility:hidden;overflow:hidden
前端CSS元素隐藏的知识(display:none:visibility:hidden:overflow:hidden:opacity: 0) 欢迎来到CSS隐藏属性界面 你好! 可以仔细阅读这篇文章 ...
- display:none和visibility:hidden的qubie
隐藏元素 - display:none或visibility:hidden 隐藏一个元素可以通过把display属性设置为"none",或把visibility属性设置为" ...
- display:none和visibility:hidden和透明度的区别
**当想实现一个区域或者内容的消失(隐藏)**,我们有多种代码可以实现.但是根据要求和用户体验,应该选择最合适的方法实现.代码中最常用的代码包括:display:none; visibility:hi ...
- display: none;、visibility: hidden、opacity=0区别总结
display: none; 1.浏览器不会生成属性为display: none;的元素. 2.display: none;不占据空间(毕竟都不熏染啦),所以动态改变此属性时会引起重排. 3.di ...
- display:none;与visibility:hidden;的区别
display:none;不会占用任何空间 visibility:hidden;会占用隐藏前的空间大小 转载于:https://www.cnblogs.com/yaser/p/4414825.html
- display:none和visible:hidden两者的区别
display:none和visible:hidden都能把网页上某个元素隐藏起来,但两者有区别: display:none ---不为被隐藏的对象保留其物理空间,即该对象在页面上彻底消失,通俗来说就 ...
最新文章
- 人工智能大牛的新年启示:未来要看无监督学习、自然语言处理
- 计算机常用端口一览表
- java静态变量,静态代码块,普通代码块,构造函数加载顺序
- 多线程,并发,异步,死锁
- 【Flink】SqlValidatorException: Column xxx not found in any table
- mysql修改内置函数,Mysql常见内置函数
- python类详解_python面向对象编程:python类和实例讲解
- 谈谈VIP漂移那点破事
- JAVA实现简单计算器布局与功能(附完整源码)
- 【Android系统源码修改】去掉开机时显示的正在优化应用对话框
- SPSS详细图文教程:手把手教你配对样本t检验,
- Turbo码,接近完美的编码
- 系统分析与设计的三个发展阶段
- acs代表什么_思科的ACS是什么?
- java wed 1
- access中本年度的四月一日_《四月一日灵异事件簿》一部打工人的励志故事,哈哈哈~(诙谐,温馨,人性,可爱,悬疑,友情,羁绊)...
- 《都挺好》苏大强,锦鲤杨超越,表情包为何会刷屏?
- 转帖(http://hi.baidu.com/johnehuang/blog/item/e1e96782a4b04e97f703a6dc.html)
- MySQL数据库操作练习题-各种操作掌握MySQL查询操作
- 2018年(第17届)中国软件业务收入前百家企业名单
热门文章
- java ews_Java---使用EWS 写个ExchangeMailUtil
- python编程软件排行榜_PYPL 9月编程语言排行榜发布 Python一枝独秀
- 认证服务器协议,基于口令的客户端/服务器认证协议
- 可变悬挂调节软硬_【5040地推合作品牌】荷兰高性能减震器及悬挂系统品牌—KONI...
- python-上传下载文件
- Linux C学习---递归函数
- React开发(265):ant design InputNumber
- [react] React.createClass和extends Component的区别有哪些?
- 重学java基础第十四课:java特性和优势
- 前端学习(3296):显示和隐藏