认识CSS中高级技巧之元素的显示与隐藏

时间:2023-03-08 19:47:19

前端之HTML,CSS(八)

  CSS高级技巧

  元素的显示与隐藏

  CSS中有三个属性可以设置元素的显示于隐藏,分别是:display、visibility和overflow。

  display

  隐藏元素:display:none;

  显示元素:display:block;(两层含义:1.显示模式转换为块级元素显示;2.显示元素)

  display属性缺省默认属性值为:block或者inline,至于选择哪一个交给HTML元素确定,块级元素如<div>、<p>等默认显示为block,行内元素如<span>、<em>等默认显示为inline,但是无论block还是inline都表示元素显示。此外,display属性设定元素隐藏以后,隐藏元素是不占有原本位置的。

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>元素显示与隐藏-测试</title>
<style type="text/css">
.up {
width: 200px;
height: 200px;
background-color: red;
display: none;
}
.down {
width: 200px;
height: 200px;
background-color: blue;
}
</style>
</head>
<body>
<div class="up"></div>
<div class="down"></div>
</body>
</html>

  效果

认识CSS中高级技巧之元素的显示与隐藏

  visibility    

  隐藏元素:visibility:hidden;

  显示元素:visibility:visible;

  visibility属性设定元素隐藏以后,隐藏元素是保留原本位置的。

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>元素显示与隐藏-测试</title>
<style type="text/css">
.up {
width: 200px;
height: 200px;
background-color: red;
/*display: none; */
visibility: hidden;
}
.down {
width: 200px;
height: 200px;
background-color: blue;
}
</style>
</head>
<body>
<div class="up"></div>
<div class="down"></div>
</body>
</html>

  效果

认识CSS中高级技巧之元素的显示与隐藏

  overflow

  overflow属性有4个属性值:visible、hidden、scroll、auto。

  overflow:visible;缺省默认属性,盒子内容超出盒子大小,超出的内容部分会显示在盒子外部。

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>元素显示与隐藏-测试</title>
<style type="text/css">
p {
width: 100px;
height: 50px;
border: 1px solid #f00;
}
</style>
</head>
<body>
<p>
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
</p>
</body>
</html>

  等同于

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>元素显示与隐藏-测试</title>
<style type="text/css">
p {
width: 100px;
height: 50px;
border: 1px solid #f00;
overflow: visible;
}
</style>
</head>
<body>
<p>
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
</p>
</body>
</html>

  效果

认识CSS中高级技巧之元素的显示与隐藏

  overflow:hidden;超出盒子大小的内容部分会隐藏。

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>元素显示与隐藏-测试</title>
<style type="text/css">
p {
width: 100px;
height: 50px;
border: 1px solid #f00;
overflow: hidden;
}
</style>
</head>
<body>
<p>
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
</p>
</body>
</html>

  效果

认识CSS中高级技巧之元素的显示与隐藏

  overflow:scroll;为盒子添加滚动条,无论盒子内容是否超出盒子大小。

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>元素显示与隐藏-测试</title>
<style type="text/css">
p {
width: 100px;
height: 50px;
border: 1px solid #f00;
overflow: scroll;
}
</style>
</head>
<body>
<p>
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
</p>
</body>
</html>

  效果自行测试

  overflow:auto;盒子内容不超出盒子大小不添加滚动条,盒子内容超出盒子大小的情况下自动添加滚动条。

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>元素显示与隐藏-测试</title>
<style type="text/css">
p {
width: 100px;
height: 50px;
border: 1px solid #f00;
overflow: auto;
}
</style>
</head>
<body>
<p>
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
</p>
</body>
</html>

  效果自行测试

  文本内容溢出其他处理

  文本内容溢出是指文本内容超出盒子大小,产生溢出,处理方法可以上面一样对溢出部分设置隐藏,也可强制于一行显示,还可以将溢出部分转化为省略号形式。

  white-space

  white-space属性有两个属性值,分别为normal,和nowrap。其中normal为缺省默认值,样式显示与overflow:visible;显示一致。nowrap属性值设置,样式表现为文本内容强制在一行显示到结束,除非在文本中加入<br />换行元素。可以说有纵向溢出转变为横向溢出。

  white-space:normal;

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>溢出文本处理-测试</title>
<style type="text/css">
div {
width: 200px;
height: 20px;
border: 1px solid red;
}
</style>
</head>
<body>
<div>
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
</div>
</body>
</html>

  效果

认识CSS中高级技巧之元素的显示与隐藏

  white-space:nowrap;

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>溢出文本处理-测试</title>
<style type="text/css">
div {
width: 200px;
height: 20px;
border: 1px solid red;
white-space: nowrap;
}
</style>
</head>
<body>
<div>
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
</div>
</body>
</html>

  效果

认识CSS中高级技巧之元素的显示与隐藏

  超出部分隐藏

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>溢出文本处理-测试</title>
<style type="text/css">
div {
width: 200px;
height: 20px;
border: 1px solid red;
white-space: nowrap;
overflow: hidden;
}
</style>
</head>
<body>
<div>
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
</div>
</body>
</html>

  效果

认识CSS中高级技巧之元素的显示与隐藏

  超出部分省略号表示

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>溢出文本处理-测试</title>
<style type="text/css">
div {
width: 200px;
height: 20px;
border: 1px solid red;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
</head>
<body>
<div>
CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
</div>
</body>
</html>

  效果

认识CSS中高级技巧之元素的显示与隐藏

  注意:text-overflow:ellipsis;设置超出部分转化省略号必须结合white-space:nowrap;和overflow:hidden;共同使用才可以作用。