css中visibility和visible的区别是什么

html-css020

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属性更有用,多数情况下在隐藏文字的时候要将相关的元素做相应的调节(例如树结构)。

CSS visibility 属性规定元素是否可见。

visible 元素可见。

hidden 元素不可见。

collapse 在表格元素中使用时,此值可删除一行或一列,但它不影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 "hidden"。

inherit 从父元素继承 visibility 属性的值。

你在 html 里面写的东西默认情况下就是属于 visibility:visible 即元素可见。当某些情况下,你让元素不可见了:visibility:hidden 再通过一些事件触发后让元素变成可见,就要用到这个visibility:visible。

和display:none的区别,你理解是对的,display:none以后,元素是不占位的。

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