css隐藏页面元素的多种方法

在平常的样式排版中,我们经常遇到将某个模块隐藏,下面我整理了一下隐藏元素的多种方法以及对比(有的占据空间,有的不占据空间。有的可以点击,有的不能点击。):

( 一 )  display:  none;

  特点:元素不可见,不占据空间,无法响应点击事件。

.hide{
    display: none;
}

  

( 二 )  opacity: 0; ( IE8以下版本:filter:Alpha(opacity=50) )

  特点:改变元素透明度,元素不可见,占据页面空间,可以响应点击事件。

.hide{
    opacity: 0;
    filter:Alpha(opacity=0);
}

  

( 三 ) visibility: hidden;

  特点:元素不可见,占据页面空间,无法响应点击事件。

.hide{
    visibility: hidden;
}

  

( 四 ) transform: scale(0); 

  ( 1 ) zoom: 0.1; transform: scale(0);

    特点:元素不可见,IE 6 7 9 不占据页面空间,IE8 谷歌 火狐 欧朋 等浏览器占据空间,无法响应点击事件。

.hide{
    zoom: 0.1;
    transform: scale(0);
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
}

  

( 2 ) position: absolute; zoom: 0.1; transform: scale(0);

    特点:元素不可见,不占据页面空间,无法响应点击事件。

.hide{
    position: absolute;
    zoom: 0.1;
    transform: scale(0);
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
}

  

( 五 ) width: 0; height: 0; 配合overflow: hidden;

  特点:元素不可见,不占据页面空间,无法响应点击事件。但 padding值 和 margin值 依然存在,需要将内外边距都调整为0。

.hide{
   display: inline-block;
   width: 0;
   height: 0;
   padding: 0;
   margin: 0;
   overflow: hidden;
}

    

( 六 ) position: absolute; left: -200%; 或者 top: -200%;等,父级需要相对定位,这种left top值可以根据具体的实际情况去定义

  特点:元素不可见,不占据页面空间,无法响应点击事件。

. father{
    position: relative;
    overflow: hidden;
}
.hide{
    position: absolute;
    left: -200%;//或top: -200%;
}

  

( 七 ) clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px)

  特点:元素不可见,占据页面空间,无法响应点击事件。

.hide{
    float: left;
    width: 150px;
    margin: 20px;
    clip-path: polygon(0px 0px, 0px 0px, 0px 0px, 0px 0px);
}

  

( 八 ) margin: top | right | bottom | left ;父级添加overflow: hidden; (margin的值 一定要小于(子级的宽度加上边距的总和的负数))

  特点:元素不可见,不占据页面空间,无法响应点击事件。

.father{
    width: 400px;
    height: 400px;
    overflow: hidden;
}
.hide{
    display: inline-block;
    width: 200px;
    height: 200px;
    margin-left: -200px;
}

以上就是几种隐藏元素的方法,我在以前的面试中,也碰到了面试官提出的一些关于隐藏元素css的对比,查阅了一些资料,做了以下整理:

  ( 一 ) display: none 和 visibility: hidden 的区别

    1. 占据页面空间( display: none 将元素隐藏后,在页面是是不占有空间位置的,而visibility: hidden 将元素隐藏后,还保留着元素大小的空间位置 ) ;

    2. display: none 影响了 reflow和repaint(回流与重绘),而visibility: hidden并没有影响

    3. 某个模块添加了display: none; 它下面的任何子级都会被隐藏,而添加了visibility: hidden,子级一旦有添加visibility: visible的css,该子级将不会被隐藏。

  ( 二 ) display: none 和 opacity: 0的区别

    1. 占据页面空间( display: none 将元素隐藏后,在页面是是不占有空间位置的,而opacity: 0 只是改变了元素的透明度将其隐藏,还保留着元素大小的空间位置 ) ;

    2. display: none 不会被子类继承,但是子类一样不会显示。 opacity: 0 会被子类继承,但不能像visibility的属性一样,给子类添加opacity:1,并不能将子类显示。

    3. css3 transition 属性对display:none 并无效果,但对opacity 则有效果。(附加一句,对visibility: hidden也无效果)

原文地址:https://www.cnblogs.com/a-cat/p/9039962.html

时间: 2024-09-30 02:23:14

css隐藏页面元素的多种方法的相关文章

CSS 隐藏页面元素的 几 种方法总结

用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 display 设为 none 或者将 position 设为 absolute 然后将位置设到不可见区域. 你有没有想过,为什么我们要有这么多技术来隐藏元素,而它们看起来都实现的是同样的效果?每一种方法实际上与其他方法之间都有一些细微的不同,这些不同决定了在一个特定的场合下使用哪一个方法.我们只需要记住的细小不同点,根据不同情况选择上面这些方法中适合的方法来隐藏元素. d

用 CSS 隐藏页面元素的 5 种方法

原文链接:用 CSS 隐藏页面元素的 5 种方法,转载请注明来源! 用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 display 设为 none 或者将 position 设为 absolute 然后将位置设到不可见区域. 你有没有想过,为什么我们要有这么多技术来隐藏元素,而它们看起来都实现的是同样的效果?每一种方法实际上与其他方法之间都有一些细微的不同,这些不同决定了在一个特定的场合下使用哪一个方法.这篇教程将覆盖到

用 CSS 隐藏页面元素

用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0 将 visibility 设为 hidden 将 display 设为 none 将 position 设为 absolute 然后将位置设到不可见区域. Opacity,占据网页布局,可以交互,读屏软件可以读到它  opacity 属性的意思是设置一个元素的透明度.它不是为改变元素的边界框(bounding box)而设计的.这意味着将 opacity 设为 0 只能从视觉上隐藏元素.而元素本身依然占据它自己的位置并对网

CSS隐藏页面元素方法

一.css隐藏页面盒子 overflow:hidden;   隐藏盒子超出的部分,溢出隐藏 position:absolute; /left/top...-999px;  将位置设到不可见区域,隐藏盒子,而且占位置. opacity:0;  隐藏盒子   隐藏之后还占据原来的位置. visibility:hidden;   隐藏盒子    隐藏之后还占据原来的位置. display:none;        隐藏盒子    隐藏之后不占据原来的位置. display:block;       元

CSS隐藏页面元素的方法

Opacity opacity属性的意思是设置一个元素的透明度.它不是为改变元素的边界框而设计的.这意味着将 opacity 设为 0 只能从视觉上隐藏元素.而元素本身依然占据它自己的位置并对网页的布局起作用.它也将响应用户交互. .hide { opacity: 0; } Visibility 将visibility的值设为 hidden 可以隐藏元素.如同 opacity 属性,被隐藏的元素依然会对我们的网页布局起作用.与 opacity 唯一不同的是它不会响应任何用户交互.此外,元素在读屏

使用CSS隐藏HTML元素的四种常用方法

CSS隐藏HTML元素的四种常用方法 1.opacity:设置opacity: 0可以使一个元素变得完全透明. 设置的透明度会被子元素继承,而且无法取消. 通常可以使用opacity属性来制作元素的淡入淡出效果. 设置opacity:1可以使透明元素变得可见. 2.visibility: 是许多人在隐藏某个HTML元素时的首选. visibility:hidden视觉上看不见,但它所占据空间的位置仍然存在. 3.display:none它是position:absolute和visibility

CSS导航菜单水平居中的多种方法

在网页设计中,水平导航菜单使用是十分广泛的,在CSS样式中,我们一般会用Float元素或是「display:inline-block」来解决.而今天主要讲解如何让未知宽度的元素居中,下面我们会列出几种方法来解决水平居中问题.当然这些方法不一定是用来解决导航菜单问题,还有其它类似情况也是可以使用的. 在线演示:Demo CSS导航菜单水平居中的多种方法: 方法1:display:inline-block 方法2:position:relative 方法3:display:table 方法4:dis

css 隐藏html元素的方法

1.常见方法 display:none 这个方法的问题是 元素被隐藏了 同时该元素不占位置了,应该也可以说该元素没有高度和宽度了 2.常见方法 visibility: hidden; 这个方法和display 都是常规的方法 但是 它隐藏了元素后元素还是占着原来的位置的 3.opacity:0 这个方法 就是通过设置透明度的方法 让元素看不到了 4.position:absolute:left:9999px 这个方法是让元素浮动到 left的很大的值 更多的方法还在挖掘

sellenium页面元素的定位方法

1.findElements函数可用于多个元素定位 (1)使用ID定位:driver.findElement(By.id("ID值")); 例:HTML代码: 定位语句代码:WebElement username=driver.findElement(By.id("username")); WebElement password=driver.findElement(By.id("password"));  WebElement subimit=