CSS元素的显示与隐藏

  • A+
所属分类:Web前端
摘要

我们访问某些网站的时候,经常可以看到一些广告弹出来,点击关闭就不见了,但是重新刷新页面后,广告又会重新弹出来。这就是元素的显示和隐藏的一个应用。


CSS元素的显示与隐藏

我们访问某些网站的时候,经常可以看到一些广告弹出来,点击关闭就不见了,但是重新刷新页面后,广告又会重新弹出来。这就是元素的显示和隐藏的一个应用。

1. display属性

display属性用于设置一个元素应如何显示。

  • display: none; 隐藏对象
  • display: block; 除了转换为块级元素之外,同时还有显示元素的意思

display隐藏元素后,不再占有原来的位置。

2. visibility可见性

visibility属性用于指定一个元素应可见还是隐藏。

  • visibility: visible; 元素可见
  • visibility: hidden; 元素隐藏

visibility隐藏元素后,继续占有原来的位置。

如果隐藏元素想要原来的位置,就用visibility: hidden

如果隐藏元素不想要原来的位置,就用display: none

3. overflow溢出

overflow属性指定了如果内容溢出一个元素的框(超过其指定高度和宽度)时,会发生什么。

属性值 描述
visible 不剪切内容也不添加滚动条
hidden 超出的部分隐藏
scroll 不管有没有超出,总是显示滚动条
auto 超出自动显示滚动条,不超出不显示

一般情况下,我们都不想让溢出的内容显示出来,因为溢出的部分会影响布局。但是如果有定位的盒子,请慎用overflow: hidden,因为它会隐藏多余的部分。

4. 溢出的文字省略号显示

4.1 单行文本溢出显示省略号

单行文本溢出显示省略号必须满足三个条件:

  1. 先强制一行内显示文本

    white-space: nowrap;/*默认值normal,自动换行*/ 
  2. 超出的部分隐藏

    overflow: hidden; 
  3. 文字用省略号替代超出的部分

    text-overflow: ellipsis; 

4.2 多行文本溢出显示省略号

多行文本溢出显示省略号,有较大兼容性问题,适合于webkit浏览器或移动端,移动端大部分是webkit内核。

overflow: hidden; text-overflow: ellipsis; /*弹性伸缩盒子模型显示*/ display: -webkit-box; /*限制在一个块元素显示的文本的行数*/ -webkit-line-clamp: 2; /*设置或检索伸缩盒子对象的子元素的排列方式*/ -webkit-box-orient: vertical;