css隐藏元素的几种方法

一说起CSS隐藏元素,我想大部分小伙伴们都会想到的第一种方法就是设置display为none。这是最为人所熟知也是最常用的方法。我相信还有不少人想到使用设置visibility为hidden来隐藏元素,这种方式也是常用的方法,而且也有很多人知道两者的不同。除了这两种方法,小编还总结了一些比较不常用的方法,比较了这几种“隐藏”元素方法的区别和优缺点!

操作方法

  • 01

    首先我们分别来说说到底有哪几种隐藏元素的方法,有一些方法是众所周知的,还有一些算是一种技巧。 display:none设置元素的display为none是最常用的隐藏元素的方法。 将元素设置为display:none后,元素在页面上将彻底消失,元素本来占有的空间就会被其他元素占有,也就是说它会导致浏览器的重排和重绘。

  • 02

    visibility:hidden设置元素的visibility为hidden也是一种常用的隐藏元素的方法,和display:none的区别在于,元素在页面消失后,其占据的空间依旧会保留着,所以它只会导致浏览器重绘而不会重排。visibility:hidden适用于那些元素隐藏后不希望页面布局会发生变化的场景

  • 03

    opacity:0opacity属性我相信大家都知道表示元素的透明度,而将元素的透明度设置为0后,在我们用户眼中,元素也是隐藏的,这算是一种隐藏元素的方法。这种方法和visibility:hidden的一个共同点是元素隐藏后依旧占据着空间,但我们都知道,设置透明度为0后,元素只是隐身了,它依旧存在页面中。

  • 04

    设置height,width等盒模型属性为0这是我总结的一种比较奇葩的技巧,简单说就是将元素的margin,border,padding,height和width等影响元素盒模型的属性设置成0,如果元素内有子元素或内容,还应该设置其overflow:hidden来隐藏其子元素,这算是一种奇技淫巧。 这种方式既不实用,也可能存在着着一些问题。但平时我们用到的一些页面效果可能就是采用这种方式来完成的,比如jquery的slideUp动画,它就是设置元素的overflow:hidden后,接着通过定时器,不断地设置元素的height,margin-top,margin-bottom,border-top,border-bottom,padding-top,padding-bottom为0,从而达到slideUp的效果。

  • 05

    元素隐藏后的事件响应如果被隐藏的元素绑定了一些事件,我们执行了相关操作后,这些事件是否会被响应并执行呢,看看下面的代码:

  • 06

    这段代码将四种隐藏元素的方法分别展示出来,然后绑定其点击事件,经过测试,主要有下面的结论: 1、display:none:元素彻底消失,很显然不会触发其点击事件 2、visibility:hidden:无法触发其点击事件,有一种说法是display:none是元素看不见摸不着,而visibility:hidden是看不见摸得着,这种说法是不准确的,设置元素的visibility后无法触发点击事件,说明这种方法元素也是消失了,只是依然占据着页面空间。 3、opacity:0:可以触发点击事件,原因也很简单,设置元素透明度为0后,元素只是相对于人眼不存在而已,对浏览器来说,它还是存在的,所以可以触发点击事件 4、height:0:将元素的高度设置为0,并且设置overflow:hidden。使用这种方法来隐藏元素,是否可以触发事件要根据具体的情况来分析。如果元素设置了border,padding等属性不为0,很显然,页面上还是能看到这个元素的,触发元素的点击事件完全没有问题。如果全部属性都设置为0,很显然,这个元素相当于消失了,即无法触发点击事件。 但是这些结论真的准确吗?我们在上面的代码中添加这样一句代码: $(".none").click();结果发现,触发了click事件,也就是通过JS可以触发被设置为display:none的元素的事件。所以前面无法触发点击事件的真正原因是鼠标无法真正接触到被设置成隐藏的元素!

  • 07

    CSS3 transition对这几种方法的影响CSS3提供的transition极大地提高了网页动画的编写,但并不是每一种CSS属性都可以通过transition来进行动画的。 总结:说了“隐藏”元素的几种方式,其中最常用的还是display:none和visibility:hidden。其他的方式只能算是奇技淫巧,并不推荐使用它们来隐藏元素,它们的真正用途应该不在隐藏元素,而是通过了解这些方法的特点,挖掘出其真正的使用场景。

(0)

相关推荐

  • word隐藏怎么文字呢?word隐藏文字的三种方法

    通过word隐藏文字可以很好的隐藏文档中的隐私内容,下面小编教大家word隐藏文字的三种方法,来看看吧. word隐藏文字方法1 1.word隐藏文字方法有很多,在word中选中想要隐藏的文字. 2. ...

  • 解决Excel2007/2010隐藏功能区的四种方法

    第一、双击任一选中的功能区选项卡,如当前“视图”选项卡已被选择,直接双击该选项卡即可隐藏功能区。再次双击该功能区选项卡将取消隐藏。 第二、按快捷键Ctrl+F1直接隐藏功能区。再次按Ctrl+F1取消 ...

  • ps中隐藏图层的几种方式

    ps中作图经常碰到有的设计元素暂时不需要但是又不能删掉怕后续设计又要用到,这种很是纠结的时候隐藏图层就很重要了,ps中隐藏图层的方法有好多种,你们知道多少种隐藏图层的方法呢?这里小编给大家介绍一下, ...

  • css样式如何设置div元素水平垂直居中的三种方法

    CSS实现绝对定位元素的居中效果,有时候需要把一个元素进行居中,在这里讲解三种方法,各种方法有它的优缺点. 操作方法 01 1.建立txt文档,更改后缀名为html,如图: 02 2.右击html文件 ...

  • CSS垂直居中的8种方法

    设计网页的时候,除了CSS水平居中的需求外,还会经常遇到CSS垂直居中的需求,CSS垂直居中跟CSS水平居中一样都是前端设计师的基本功. 这篇教程将我以往用过的8种CSS实现垂直居中的方法总结出来,也 ...

  • 2种方法快速把word隐藏起来

    第一种:windos自带的加密方法,适合给单个word加密,不利于给多个word加密。 现在我就以使 用 Word 多年的经验, 谈谈保护 Word 2003文件的方法和措 施。 隐藏文档纪录 当我们 ...

  • 百度贴吧怎么隐藏关注的贴吧?百度贴吧隐藏关注贴吧的2种方法介绍

    百度贴吧怎么隐藏关注的贴吧?如果你不想自己关注隐私贴吧被其他人看到,要怎么隐藏呢?下文小编就为大家带来百度贴吧隐藏关注贴吧的方法,下面就和小编一起去看下2种隐藏关注贴吧的方法吧。 电脑上设置百度贴吧隐 ...

  • win7系统隐藏qq图标的两种方法

    win7系统隐藏qq图标的两种方法 具体方法如下: 一.半隐藏法 1.这种方法是利用系统隐藏QQ的!右键电脑底部任务栏,点击属性; 2.点开属性设置,找到通知区域,点开自定义; 3.我们会看到QQ旁边 ...

  • [两种方法]Win10内部隐藏的全局程序视图如何启用?

    你一般怎么看自己在Windows 10上已经安装了那些应用程序?想必多数人的第一反应就是瞄向左下角的开始按钮. 当然,这是最符合常识和逻辑的,然而这并不是最有效率和最好的办法. 之所以这么说,一是因为 ...