display 是样式中的显示
"none"和"block"都是显示中的参数
none 为不显示
block为显示
参考
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 将对象作为表格行组显示
区别:
1、占用域的空间不同。
visibility要占用域的空间,而display则不占用。
visibility和display都可以实现对页的隐藏,例如:
将元素display属性设为 block,会在该元素后换行。
将元素display属性设为 inline,会消除元素换行。
将元素display属性设为 none,隐藏该元素内容,且不占用域的空间。
将元素visibility属性设为 hidden,隐藏该元素内容,但占用域的空间。
将元素visibility属性设为 visible,显示元素内容。
2、回应正常文档流的不同。
如果你想隐藏某元素,但在页面上保留该元素的空间的话,你应该使用visibility:hidden 。如果你想在隐藏某元素的同时让其它内容填充空白的话应该使用display:none 。
在现实中我发现人们更多的倾向于使用display 属性(相信这也是大多数人的习惯)。当你决定用display:none 来隐藏一个元素时,你必须知道其它内容将填充到该元素留下的空白位置,从而改变页面的布局。
扩展资料
在SEO中有时我们会通过把堆砌的关键词隐藏而达到作弊的目的,但不应该使用visibility:hidden 和display:none ,而应该把关键词颜色设为和背景色相同,或者把关键词的字号设为非常小,而令访客无法发现。
有的人则因为害怕搜索蜘蛛的的反感而为visibility:hidden 和display:none 的使用的烦恼。其实有很多漂亮的效果是通过元素可见性的转换而实现的。
搜索引擎也理解这一做法(事实上搜索引擎往往忽略CSS),因此如果你的目的不是欺骗搜索引擎,你大可以放心地使用visibility:hidden 和display:none 去隐藏内容。
参考资料:百度百科-Visibility