visibility:隐藏对应的元素但不挤占该元素原来的空间。
display:隐藏对应的元素并且挤占该元素原来的空间。

下面来看visibility和dispaly的一些参数

visibility用来设置元素的可见状态。

语法:

visibility : inherit | visible | collapse | hidden

参数:

inherit :  继承上一个父对象的可见性

visible :  对象可视

hidden :  对象隐藏

collapse :  主要用来隐藏表格的行或列。隐藏的行或列能够被其他内容使用。对于表格外的其他对象,其作用等同于hidden。IE5.5尚不支持此属性。

说明:

设置或检索是否显示对象。与display属性不同,此属性为隐藏的对象保留其占据的物理空间。

如果希望对象为可视,其父对象也必须是可视的。

对应的脚本特性为visibility。请参阅我编写的其他书目。

display用来设定元素的显示状态。

语法:

display : block | none | inline | compact | marker | inline-table | list-item | run-in | table |table-caption | table-cell | table-column | table-column-group | table-footer-

group | table-header-group | table-row | table-row-group

参数:

block :  CSS1 块对象的默认值。用该值为对象之后添加新行

none :  CSS1 隐藏对象。与visibility属性的hidden值不同,其不为被隐藏的对象保留其物理空间

inline :  CSS1 内联对象的默认值。用该值将从对象中删除行

compact :  CSS2 分配对象为块对象或基于内容之上的内联对象

marker :  CSS2 指定内容在容器对象之前或之后。要使用此参数,对象必须和:after及:before 伪元素一起使用

inline-table :  CSS2 将表格显示为无前后换行的内联对象或内联容器

list-item :  CSS1 将块对象指定为列表项目。并可以添加可选项目标志

run-in :  CSS2 分配对象为块对象或基于内容之上的内联对象

table :  CSS2 将对象作为块元素级的表格显示

table-caption :  CSS2 将对象作为表格标题显示

table-cell :  CSS2 将对象作为表格单元格显示

table-column :  CSS2 将对象作为表格列显示

table-column-group :  CSS2 将对象作为表格列组显示

table-header-group :  CSS2 将对象作为表格标题组显示

table-footer-group :  CSS2 将对象作为表格脚注组显示

table-row :  CSS2 将对象作为表格行显示

table-row-group :  CSS2 将对象作为表格行组显示

说明:

设置或检索对象是否及如何显示。

目前 IE5.5仅支持以上CSS1的参数。

  以上是CSS官方给出的解释。对于这两个css属性来说,很多人都分不清楚这两个属性,尤其是其在功能上有部分重叠的地方,并且从定义中来看,元素的显示状态和元素的可见状态概念上的区别很不明显。

  visibility和display两个属性都有隐藏元素的功能。

  但使用visibility属性并不能减少浏览器打开网页的速度,就是说visibility属性所控制的元素虽然不在浏览器里面显示出来,但他在浏览区里是存在的,浏览器打开网页的时候已经下载了这个元素,只是不显示而已。

  并且这个元素在浏览器显示的页面中也要占他本身大小的位置,而这个位置显示的是空白而已。

  而display属性设置为none,这个元素就变成了一个不显示的元素,浏览器在载入网页的时候会忽略这个元素,不会下载其内容,浏览器打开速度会比没有设置display属性前要快。

总结

使用CSS display:none属性后,HTML元素(对象)的宽度、高度等各种属性值都将“丢失”;

而使用visibility:hidden属性后,HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在。

CSS display:none和visibility:hidden的区别

visibility:hidden隐藏,但在浏览时保留位置;CSS display:none视为不存在,且不加载!

Overflow属性值{visible|hidden|scroll|auto}前提是先要限制DIV的宽度(width)和高度(height)。二者都是隐藏HTML元素,在视觉效果上没有区别,但在一些DOM操作中二者还是有所不同的。

CSS display:none;

使用该属性后,HTML元素(对象)的宽度、高度等各种属性值都将“丢失”;

visibility:hidden;

使用该属性后,HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在,也即是说它仍具有高度、宽度等属性值。

display:none;与visibility:hidden;的区别的更多相关文章

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

    visibility和display两个属性都有隐藏元素的功能,display:none和visibility:hidden的区别,简单的总结一句话就是:visibility:hidden隐藏,但在浏 ...

  2. display:none和visibility:hidden的区别?

    css控制元素不可见的方法 { display: none; /* 不占据空间,无法点击 */ } /************************************************* ...

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

    一.display:none和visibility:hidden的区别 1.1 空间占据 1.2 回流和渲染 1.3 株连性 二.空间占据 display:none 隐藏后的元素不占据任何空间,而 v ...

  4. display:none与visibility: hidden的区别

    display:none和visibility: hidden都能把网页上某个元素隐藏起来,但两者有区别: display:none ---不为被隐藏的对象保留其物理空间,即该对象在页面上彻底消失. ...

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

    同样是隐藏,display:none与visibility:hidden有什么区别呢? 虽然display:none与visibility:hidden都能达到隐藏可见元素的作用(视觉上),但事实上, ...

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

    display:none和visibility:hidden都是把网页上某个元素隐藏起来的功能,但两者有所区别,我发现使用 visibility:hidden属性会使对象不可见,但该对象在网页所占的空 ...

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

    写在前面 在群里有朋友问这样一个问题,display:none的标签,影响了布局.这就引出了本篇这样的问题,印象中display:none的块元素是不占位置的. 一个例子 <!DOCTYPE h ...

  8. css中display:none与visibility: hidden的区别

    display: none; 隐藏元素,不占用其本来空间------对应元素显示用的是display:block; visibility: hidden:元素隐藏,占用其本来的页面空间-------- ...

  9. CSS display:none和visibility:hidden区别

    你知道CSSdisplay:none和visibility:hidden的区别吗,这里和大家分享一下,使用CSS display:none属性后,HTML元素(对象)的宽度.高度等各种属性值都将&qu ...

随机推荐

  1. tlProPlayer for windows

    tlProPlayer tlProPlayer简介 tlProPlayer是一款定位高性能产品,支持透传,原生输出,并支持硬解码(硬件加速)的多媒体产品,兼容tlplayer所有特性.支持视频加密播放 ...

  2. UVa 11609 (计数 公式推导) Teams

    n个人里选k个人有C(n, k)中方法,再从里面选一人当队长,有k中方法. 所以答案就是 第一步的变形只要按照组合数公式展开把n提出来即可. #include <cstdio> typed ...

  3. Dapper使用在WCF上总是说Service找不到

    原因是用Console Application 做宿主的时候,创建的时候默认是Client Profile 4 ,坑爹啊.改成Net framework 4 即可.

  4. asp.net 2.0中新增的web.config的默认namespace功能 (转)

    看上去这个题目比较长,但实际上,我在看资料时发现,这就是说,在asp.net 2.0中,只需要在web.config里定义你要用的那些namespace,则在aspx页面中就不需要再象1.1那样,用 ...

  5. 一个java高级工程师的进阶之路

    宏观方面 一. JAVA.要想成为JAVA(高级)工程师肯定要学习JAVA.一般的程序员或许只需知道一些JAVA的语法结构就可以应付了.但要成为JAVA(高级) 工程师,您要对JAVA做比较深入的研究 ...

  6. 用NSData和NSFileManager保存内存中的对象

    曾经接触过iOS开发,并且开发过两个应用,纵然青涩,也算是一断美好的回忆.转眼就已经一年多了!现在回过头来决定再次拿起iOS开发. 下面讲NSData: NSdata的概念 1.使用文件时需要频繁地将 ...

  7. 【WEB】jsp向servlet传参中文乱码问题解决

    传参方式:POST.GET.link方式 servlet向jsp传中文参数msg if(username.equals("") || password.euqals("& ...

  8. Java Error和Exception区别

    Error和Exception都继承自Throwable: 二者不同之处: Exception: 1.可以是可被控制(checked)或者不可控制(unchecked): 2.表示一个由程序员导致的错 ...

  9. Android Failure [INSTALL_FAILED_OLDER_SDK]

    今天编译工程发现 提示“ Failure [INSTALL_FAILED_OLDER_SDK]” 最后发现最小minSdkVersion 超过当前机器的版本,修改配置表中的minSdkVersion, ...

  10. Android访问权限大全

    android.permission.ACCESS_CHECKIN_PROPERTIES 允许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/w ...