web前端学习(二十二)——CSS3元素的显示(display)、可见性(visibility)与溢出(overflow)属性的相关设置

1.CSS元素的显示(display)、可见性(visibility)

display属性设置一个元素应如何显示,visibility属性指定一个元素应可见还是隐藏。

1.1 隐藏元素:display:none或visibility:hidden

隐藏一个元素可以通过把display属性设置为"none",或把visibility属性设置为"hidden"。但是请注意,这两种方法会产生不同的结果。

①visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。

②display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

小实例1: 

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<title>CSS简单学习</title>
		<style type="text/css">
			h1.hidden {
				display: none;
			}
		</style>
	</head>
	
	<body>
		<h1>这是一个可见标题</h1>
		<h1 class="hidden">这是一个隐藏标题</h1>
		<p>注意,该实例中的隐藏标题不占用空间。</p>
	</body>
</html>

小实例2:

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			h1.hidden {
				visibility: hidden;
			}
		</style>
	</head>
	
	<body>
		<h1>这是一个可见标题</h1>
		<h1 class="hidden">这是一个隐藏标题</h1>
		<p>注意,该实例中的隐藏标题仍然占用空间。</p>
	</body>
</html>

1.2 更改块元素和内联元素的显示

块元素是一个元素,占用了全部宽度,在前后都是换行符。

块元素的例子:

  • <h1>
  • <p>
  • <div>

内联元素只需要必要的宽度,不强制换行。

内联元素的例子:

  • <span>
  • <a>

通过display: inline; 可以将块元素的显示更改为内联元素的显示。

通过display: block; 可以将内联元素的显示更改为块元素的显示。

小实例: 

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			li {
				/* display属性的值为"inline"的结果,两个元素显示在同一水平线上。*/
				display: inline;
			}
			span {
				/* display属性值为"block"的结果,这两个元素之间的换行符。*/
				display: block;
			}
		</style>
	</head>
	
	<body>
		<p>列表中链接依次水平显示:</p>
		<ul>
			<!-- 如果不指定display: inline;
			     则下面的5个列表项会依次换行显示 -->
			<li><a href="https://www.baidu.com" target="_blank">百度</a></li>
			<li><a href="https://www.tencent.com" target="_blank">腾讯</a></li>
			<li><a href="https://www.1688.com" target="_blank">阿里巴巴</a></li>
			<li><a href="https://www.huawei.com" target="_blank">华为</a></li>
			<li><a href="https://www.jd.com" target="_blank">京东</a></li>
		</ul><hr />
		<h2>AD Carry</h2>
		<!-- 如果不指定display: block;
			 则深渊巨口会显示在探险家的后面 -->
		<span>圣枪游侠、战争女神、探险家</span>
		<span>深渊巨口</span>
		<h2>辅助</h2>
		<!-- 如果不指定display: block;
			 则弗雷尔卓德之心会显示在魂锁典狱长的后面 -->
		<span>熔岩巨兽、牛头酋长、魂锁典狱长</span>
		<span>弗雷尔卓德之心</span>
	</body>
</html>

1.3 使用表格中的collapse属性隐藏相应的元素

即 visibility: collapse;

小实例: 

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			table,th,td {
				border: 1px solid black;
			}
			tr.collapse {
				visibility: collapse;
			}
		</style>
	</head>
	
	<body>
		<table>
			<tr>
				<th>英文</th>
				<th>中文</th>
			</tr>
			<tr>
				<td>Cat</td>
				<td>猫</td>
			</tr>
			<tr class="collapse">
				<td>Dog</td>
				<td>狗</td>
			</tr>
			<tr>
				<td>Pig</td>
				<td>猪</td>
			</tr>
		</table>
	</body>
</html>


2.CSS元素的溢出(overflow)

CSS overflow 属性用于控制内容溢出元素框时显示的方式。可以控制内容溢出元素框时在对应的元素区间内添加滚动条。

overflow属性有以下值: (注意:overflow 属性只工作于指定高度的块元素上。)

描述
visible默认值。内容不会被修剪,会呈现在元素框之外。
hidden内容会被修剪,并且其余内容是不可见的。
scroll内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit规定应该从父元素继承 overflow 属性的值。

2.1 overflow: visible;

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			div {
				background-color: aqua;
				width: 200px;
				height: 50px;
				border: 1px dotted black;
				overflow: visible;
			}
		</style>
	</head>
	
	<body>
		<div>
			<p>这里的文本内容会溢出元素框!!!</p>
			<p>这里的文本内容会溢出元素框!!!</p>
			<p>这里的文本内容会溢出元素框!!!</p>
		</div>
	</body>
</html>

2.2 overflow: scroll; 和 overflow: hidden;

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			#overflowTest1 {
				background-color: #00FFFF;
				color: #FF0000;
				border: 1px solid #008000;
				width: 450px;
				height: 100px;
				padding: 30px;
				overflow: scroll;
			}
			#overflowTest2 {
				background-color: #00FFFF;
				color: #FF0000;
				border: 1px solid #008000;
				width: 450px;
				height: 100px;
				padding: 30px;
				overflow: hidden;
			}
		</style>
	</head>
	
	<body>
		<div id="overflowTest1">
			<p>这里的文本内容是可以滚动的,滚动条方向是垂直方向。</p>
			<p>这里的文本内容是可以滚动的,滚动条方向是垂直方向。</p>
			<p>这里的文本内容是可以滚动的,滚动条方向是垂直方向。</p>
			<p>这里的文本内容是可以滚动的,滚动条方向是垂直方向。</p>
			<p>这里的文本内容是可以滚动的,滚动条方向是垂直方向。</p>
		</div><br /><br />
		<div id="overflowTest2">
			<p>这里的文本内容是可以滚动的,滚动条方向是垂直方向。</p>
			<p>这里的文本内容是可以滚动的,滚动条方向是垂直方向。</p>
			<p>这里的文本内容是可以滚动的,滚动条方向是垂直方向。</p>
			<p>这里的文本内容是可以滚动的,滚动条方向是垂直方向。</p>
			<p>这里的文本内容是可以滚动的,滚动条方向是垂直方向。</p>
		</div>
	</body>
</html>

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
CSS中的visibility属性用于控制元素的可见。它有四个可能的取值:visible、hidden、collapse和inherit。\[1\] - visible:visible属性值定义的元素是可见显示的,这也是默认的属性值。 - hidden:hidden属性值定义的元素是不可见不显示的,但是元素还会占据原有的空间。 - collapse:collapse属性值定义不同的元素有不同的效果。在表格元素中,会删除一行或一列,但不会影响表格的布局;在非表格元素中,和hidden属性值的效果一样。 - inherit:inherit属性值定义的元素会继承父元素visibility属性值,即该元素visibility属性值与父元素的相同。\[1\] 与visibility属性不同,display属性可以通过display:none来隐藏元素,并且隐藏的元素不会占用任何空间。也就是说,该元素不仅被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。\[3\] 总结来说,visibility属性可以控制元素的可见,而display属性可以控制元素显示与隐藏,并且隐藏的元素不占用空间。 #### 引用[.reference_title] - *1* [CSS中visibility 属性](https://blog.csdn.net/weixin_49272677/article/details/113802739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [CSS visibility](https://blog.csdn.net/jjlome/article/details/121692600)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [web前端学习二十二)——CSS3元素显示display)、可见visibility)与溢出overflow属性相关...](https://blog.csdn.net/weixin_43823808/article/details/113548969)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胜天半子-祁同伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值