visibility属性用来设置一个给定的元素是否显示(visibility="visible|hidden"),但是,虽然一个元素的visibility被设置为hidden,但是该元素仍然会占据设计的位置:
<script
language="JavaScript">
function
toggleVisibility(me){
if
(me.style.visibility=="hidden"){
me.style.visibility="visible"
}
else
{
me.style.visibility="hidden"
}
}
</script><div
onclick="toggleVisibility(this)"
style="position:relative">
This
example
displays
text
that
toggles
between
a
visibility
of
'visible'
and
'hidden'.
Note
the
behavior
of
the
next
line.</div><div>This
second
line
shouldn't
move,
since
visibility
retains
its
position
in
the
flow</div>
<script
language="JavaScript">
function
toggleVisibility(me){
if
(me.style.visibility=="hidden"){
me.style.visibility="visible"
}
else{
me.style.visibility="hidden"
}
}
</script>
<div
onclick="toggleVisibility(this)"
style="position:relative">
This
example
displays
text
that
toggles
between
a
visibility
of
'visible'
and
'hidden'.
Note
the
behavior
of
the
next
line.</div><div>This
second
line
shouldn't
move,
since
visibility
retains
its
position
in
the
flow</div>
注意如果display属性没有被明确设置,将默认被设置为该类元素的常用值。
明显地,两个属性中display属性更有用,多数情况下在隐藏文字的时候要将相关的元素做相应的调节(例如树结构)。
display 设置或检索对象是否及如何显示。display: none 隐藏对象
display:block 除了转换为块级元素之外,同时还有显示元素的意思。
登录后复制
特点: display 隐藏元素后,不再占有原来的位置。
后面应用及其广泛,搭配 JS 可以做很多的网页特效。实际开发场景:
配合后面js做特效,比如下拉菜单,原先没有,鼠标经过,显示下拉菜单, 应用极为广泛
二、visibility 可见性 (了解)
visibility 属性用于指定一个元素应可见还是隐藏。
visibility:visible 元素可视
visibility:hidden 元素隐藏
登录后复制
特点:visibility 隐藏元素后,继续占有原来的位置。(停职留薪)
如果隐藏元素想要原来位置, 就用 visibility:hidden
如果隐藏元素不想要原来位置, 就用 display:none (用处更多 重点)
三、overflow 溢出(重点)
overflow 属性指定了如果内容溢出一个元素的框(超过其指定高度及宽度) 时,会发生什么。
属性值 描述
visible 不剪切内容也不添加滚动条
hidden 不显示超过对象尺寸的内容,超出的部分隐藏掉
scroll 不管超出内容否,总是显示滚动条
auto 超出自动显示滚动条,不超出不显示滚动条
一般情况下,我们都不想让溢出的内容显示出来,因为溢出的部分会影响布局。
但是如果有定位的盒子, 请慎用overflow:hidden 因为它会隐藏多余的部分。
四、显示与隐藏总结
属性 区别 用途
display 显示 (重点) 隐藏对象,不保留位置 配合后面js做特效,比如下拉菜单,原先没有,鼠标经过,显示下拉菜单, 应用极为广泛
visibility 可见性 (了解) 隐藏对象,保留位置 使用较少
overflow 溢出(重点) 只是隐藏超出大小的部分 1. 可以清除浮动 2. 保证盒子里面的内容不会超出该盒子范围
css
javascript
CSS visibility 属性规定元素是否可见。visible 元素可见。
hidden 元素不可见。
collapse 在表格元素中使用时,此值可删除一行或一列,但它不影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 "hidden"。
inherit 从父元素继承 visibility 属性的值。
你在 html 里面写的东西默认情况下就是属于 visibility:visible 即元素可见。当某些情况下,你让元素不可见了:visibility:hidden 再通过一些事件触发后让元素变成可见,就要用到这个visibility:visible。
和display:none的区别,你理解是对的,display:none以后,元素是不占位的。