CSS基础:清除浮动带来的影响

本文详细介绍了CSS中关于浮动元素导致的父级高度塌陷问题及其解决方案,包括设置固定高度、使用`overflow:hidden`以及添加清除浮动的`<br>`标签和`::after`伪元素。通过实例展示了如何应用这些技术来实现布局的正常显示,同时讲解了`clear:both`属性的作用。此外,还提及了不同方法的优缺点和适用场景。
摘要由CSDN通过智能技术生成
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			ul,li{
				margin: 0;
				padding: 0;
			}
			#ul1{
				border: 1px solid #000000;
			
				/* 子元素都浮动父级没有高度:给父级标签设置高度 */
					height: 100px;
				/* 子元素都浮动父级没有高度:使用块级格式上下文清楚浮动带来的异常 */
					overflow: hidden;
			}
			ul>li{
				width: 100px;
				height: 100px;
				float: left;
				list-style: none;
			}
			ul>li:nth-child(1){
				background-color: #000000;
			}
			ul>li:nth-child(2){
				background-color: #0000FF;
			}
			ul>li:nth-child(3){
				background-color: #006400;
			}
			ul>li:nth-child(4){
				background-color: #00FFFF;
			}
			#div1{
				width: 200px;
				height: 200px;
				background-color: #98FB98;
				float: right;
			}
			#div2{
				width: 400px;
				height: 400px;
				background-color: #A52A2A;
			}
			/* 兄弟元素之间有元素浮动,对后面的兄弟元素产生了影响
			单独在浮动的元素后面加一个标签,该标签通过类设置清楚浮动样式属性 */
			.clear{
				/* 只有块级元素可以使用clear属性,为了保证当前元素是块级 */
				display: block;
				/* 当前标签不占位 */
				width: 0;
				height: 0;
				/* 元素透明度为0,让元素不显示 */
				opacity: 0;
				/* 让元素的内容也不占位 */
				line-height: 0;
				/* 元素隐藏 */
				visibility: hidden;
				/* 清楚浮动:属性值,left,清除左浮动,right,清除右浮动,both,清除左右浮动 */
				clear: both;
			}
			
			#ul2{
				border: 1px solid #000000;
			}
			/* 针对子元素浮动父元素没有高度,给当前元素添加动态伪类选择器 */
			#ul2::after{
				/* 动态为当前元素最后添加内容,content的值就是内容 */
				content: "";
				display: block;
				width: 0;
				height: 0;
				opacity: 0;
				line-height: 0;
				visibility: hidden;
				clear: both;
			}
		</style>
	</head>
	<body>
			<ul id="ul1">
				<li></li> <li></li>
				<li></li> <li></li>
			</ul>
			<br><br><br>
			<div >
				<div id="div1">
					
				</div>
				<span class="clear"></span>
				<div id="div2">
					
				</div>
			</div>
			<br><br><br>
			<ul id="ul2">
				<li></li> <li></li>
				<li></li> <li></li>
			</ul>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值