博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用CSS隐藏HTML元素的4种常用方法
阅读量:4332 次
发布时间:2019-06-06

本文共 1493 字,大约阅读时间需要 4 分钟。

 

现在的网页设计越来越动态化,我们经常需要隐藏某些元素,在特定的时候才显示它们。我们通常可以使用4种方法来隐藏和显示元素。

这4种显示和隐藏元素的技术各自有它们自己的优点的缺点,下面来举例说明。

在这篇文章中,我们将使用下面的HTML代码和CSS样式来讲解着4种隐藏元素的技术。

<
p
>Dice used for traditional Dungeons ...</
p
>
<
img
src
=
"dice.jpg"
alt=”Photograph..."
id
=
"dice"
>
<
p
>The dice are used to determine...</
p
>                            

基本的CSS样式如下:

img#dice {
float
:
right
;
margin-left
:
2em
; }                           
VISIBILITY: HIDDEN
img#dice {
float
:
right
;
margin-left
:
2em
;
visibility
:
hidden
; }                             

Layout of image and text with visibility set to hidden on an image

visibility: hidden是许多人在隐藏某个HTML元素时的首选。如右图所示,图片不见了,但是也没中原来图片的位置留下了一片空白区域。这个属性只是简单的隐藏某个元素,但是元素占用的空间任然存在。

设置visibility: visible可以使隐藏的元素变为可见。

OPACITY: 0
img#dice {
float
:
right
;
margin-left
:
2em
;
opacity
:
0
; }                             

Layout of image and text with opacity set to 0 on an image

这是一个属性,设置opacity: 0可以使一个元素变得完全透明,从而制作出和visibility: hidden一样的效果。opacityvisibility相比,其优势在于它可以被transitionanimate

通常可以使用opacity属性来制作元素的淡入淡出效果。

设置opacity:1可以使透明元素变得可见。

POSITION: ABSOLUTE
img#dice {
position
:
absolute
;
left
:
-1000px
; }                             

Layout of image and text with position set to absolute on an image

最古老和最标准的做法是设置元素的绝对定位来隐藏元素。这种技术使元素脱离文档流,处于普通文档之上,并给它设置一个很大的left负值定位,使元素定位在可见区域之外。floatmargin都不能影响到position: absolute的元素,因此它们可以很好的被隐藏起来。

在制作一些元素的直线动画时,使用这种技术是最好的方法。

要使元素再次变得可见,可以增大left的值,使元素出现在屏幕上。

DISPLAY: NONE
img#dice {
display
:
none
; }                             

Layout of image and text with display set to none on an image

display: none也是一个非常老的技术,它是position: absolutevisibility: hidden;的折中方法,元素会变得不可见,并且不会再占用文档的空间。

display: none在制作手风琴效果时十分有用。

将元素设置为display: block或其它值可以使元素再次可见。

除了上面描述的4种方法之外,还有其它方法可以隐藏元素,特别是使用CSS3的时候。例如:你可以使用scale属性来减少元素的尺寸直到它消失。但是scale属性和opacity: 0visibility: hidden一样,不可见的元素会占用文档的空间。

在下一篇文章中,我们将另外,这些方法将只在现代浏览器中工作。

转载于:https://www.cnblogs.com/1rui/p/5573600.html

你可能感兴趣的文章
环形菜单的实现
查看>>
【解决Chrome浏览器和IE浏览器上传附件兼容的问题 -- Chrome关闭flash后,uploadify插件不可用的解决办法】...
查看>>
34 帧动画
查看>>
二次剩余及欧拉准则
查看>>
thymeleaf 自定义标签
查看>>
关于WordCount的作业
查看>>
UIView的layoutSubviews,initWithFrame,initWithCoder方法
查看>>
STM32+IAP方案 实现网络升级应用固件
查看>>
用74HC165读8个按键状态
查看>>
jpg转bmp(使用libjpeg)
查看>>
linear-gradient常用实现效果
查看>>
sql语言的一大类 DML 数据的操纵语言
查看>>
VMware黑屏解决方法
查看>>
JS中各种跳转解析
查看>>
JAVA 基础 / 第八课:面向对象 / JAVA类的方法与实例方法
查看>>
Ecust OJ
查看>>
P3384 【模板】树链剖分
查看>>
Thrift源码分析(二)-- 协议和编解码
查看>>
考勤系统之计算工作小时数
查看>>
4.1 分解条件式
查看>>