前端面试题-display:none和visibility:hidden的区别

一、display:none和visibility:hidden的区别

1.1 空间占据

1.2 回流和渲染

1.3 株连性

二、空间占据

display:none 隐藏后的元素不占据任何空间,而 visibility:hidden 隐藏的元素空间依旧存在

三、回流和渲染

display:none 隐藏产生回流和重绘(reflow 和 repaint),而 visibility:hidden 只产生重绘。

三、株连性

display:none 就是“株连性”明显的声明:一旦父节点元素应用了 display:none,父节点及其子孙节点元素全部不可见,而且无论其子孙元素如何不屈地挣扎都无济于事。

四、隐藏失效

若子孙元素应用了 visibility:visible,则这个子孙元素不但不会隐藏,而且会显现出来。

Code

Example

阅读更多

原文地址:https://www.cnblogs.com/jlfw/p/11964583.html

时间: 2024-10-05 21:42:02

前端面试题-display:none和visibility:hidden的区别的相关文章

display:none;与visibility:hidden;的区别

如果想让某一段代码在前台不显示,最简单的方法是用css的display:none即可,这样下边的内容就自动上移或右侧的左移来填补这个空隙.但特殊情况下我们只需要隐藏这个元素, 但它的位置不能被占了,那该怎么实现呢?接下来我们来看css的另外一个属性Visibility属性. visibility:隐藏对应的元素但不挤占该元素原来的空间.display:隐藏对应的元素并且挤占该元素原来的空间. 来看看下面的这个例子: XML/HTML代码 <divstyle="width:100px;hei

display:none与visibility:hidden的区别

visibility(透明度):隐藏对应的元素单不挤占该元素元来的空间. display(展示):隐藏对应的元素并且挤占该元素元来的空间. 通俗点来说 display:none的话会让某一段代码不在前台显示,但是下边的弄容就自动上移或者右移来填补这个空隙,对象不占任何空间. visibility:hidden只是让元素透明度调低被覆盖了而已,所以我们看不到,就被隐藏了起来.但是元素本身是存在的所以会占据元来空间.感觉这个和index属性有点像. 以下内容  写于2017年5月23日   来源于C

个人收集(转载)CSS中 display:none和visibility:hidden的区别

visibility和display两个属性都有隐藏元素的功能,display:none和visibility:hidden的区别,简单的总结一句话就是:visibility:hidden隐藏,但在浏览时保留位置:而display:none视为不存在,且不加载! 1.visibility:hidden--为隐藏的对象保留其物理空间 HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在. 2.display: none--不为被隐藏的对象保留其物理空间 HTML元素(

display:none和visibility:hidden的区别[]

display:none和visibility:hidden都是把网页上某个元素隐藏起来的功能,但两者有所区别,我发现使用 visibility:hidden属性会使对象不可见,但该对象在网页所占的空间没有改变(看不见但摸得到),等于留出了一块空白区域,而 display:none属性会使这个对象彻底消失(看不见也摸不到).”这样的解释.但是我觉得并不够,所以就想了一下关于他的一个加载问题.有属性display:none;的结构在加载页面时,是否会同时加载呢?或则是当他变成display:blo

CSS样式display:none和visibility:hidden的区别

同样是隐藏,display:none与visibility:hidden有什么区别呢? 虽然display:none与visibility:hidden都能达到隐藏可见元素的作用(视觉上),但事实上,visibility:hidden却占据了空间,width.height等属性依然被加载出来,它就像个透明人,会依然占据空间. 因此,在html+css布局的时候,根据需要,如果元素需要被隐藏但又要保留位置,那么就用visibility:hidden,如果要让元素彻底隐藏且不占据空间位置,那么dis

[HTML/CSS]display:none和visibility:hidden的区别

写在前面 在群里有朋友问这样一个问题,display:none的标签,影响了布局.这就引出了本篇这样的问题,印象中display:none的块元素是不占位置的. 一个例子 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; char

display:none 和visibility:hidden的区别

联系:都可以使元素不可见 区别: 1. display:none;会让元素完全从渲染树中消失,渲染的时候不占据任何空间:visibility: hidden;不会让元素从渲染树消失,渲染师元素继续占据空间,只是内容不可见 2. display: none;是非继承属性,子孙节点消失由于元素从渲染树消失造成,通过修改子孙节点属性无法显示:visibility: hidden;是继承属性,子孙节点消失由于继承了hidden,通过设置visibility: visible;可以让子孙节点显式 3. 修

display:none和visibility:hidden的区别?

display与元素的隐藏 如果给一个元素设置了display: none,那么该元素以及它的所有后代元素都会隐藏,它是前端开发人员使用频率最高的一种隐藏方式.隐藏后的元素无法点击,无法使用屏幕阅读器等辅助设备访问,占据的空间消失. visibility与元素的隐藏 给元素设置visibility: hidden也可以隐藏这个元素,但是隐藏元素仍需占用与未隐藏时一样的空间,也就是说虽然元素不可见了,但是仍然会影响页面布局. 原文地址:https://www.cnblogs.com/Rivend/

Web前端面试题集锦

Web前端面试题集锦 前端开发面试知识点大纲: 注意 转载须保留原文链接(http://www.cnblogs.com/wzhiq896/p/5927180.html )作者:wangwen896 HTML&CSS: 对Web标准的理解.浏览器内核差异.兼容性.hack.CSS基本功:布局.盒子模型.选择器优先级及使用.HTML5.CSS3.移动端适应. JavaScript: 数据类型.面向对象.继承.闭包.插件.作用域.跨域.原型链.模块化.自定义事件.内存泄漏.事件机制.异步装载回调.模板