css中visibility和visible的区别是什么

html-css010

css中visibility和visible的区别是什么,第1张

CSS中的visibility和display两个属性很容易被混淆,因为它们看起来是做同样的事情,但实际上,这两个属性是完全不同的。

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以后,元素是不占位的。