lesson3--html-css基础主要知识点

1.用定位实现两栏布局
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>两栏布局</title>
	<style>
	*{
		margin:0;
		padding:0;
	}
	.right{
		position:absolute;
		right:0;
		width:100px;
		height:50px;
		background-color:#f66;
		opacity:0.5;
	}

	.left{
		margin-right:100px;
		height:50px;
		background-color:#ff3;
	}

	</style>
</head>
<body>
<div class="right"></div>
<div class="left"></div>
</body>
</html>

注意:一定要先写right,先出生,不然定义了位置之后他会在出生时的位置进行定位
在这里插入图片描述2.两个bug(margin塌陷和margin合并)
margin塌陷:父子嵌套的两个或多个元素的margin-top属性,会取最大的那个值,而且全部元素会一起动

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>margin塌陷</title>
	<style>
	*{
		margin:0;
		padding:0;
	}

	.wrapper{
		width:100px;
		height:100px;
		background-color:black;
		margin-top:100px;
	}
	
	.contern{
		width:50px;
		height:50px;
		background-color:green;
		/*会取这个值并且带着父级一起动*/
		margin-top:150px;
	}
	</style>
</head>
<body>
<div class="wrapper">
	<div class="contern"></div>
</div>
</body>
</html>

*解决margin塌陷的方法====bfc*
1.如何出发一个盒子的bfc
①position:absolute
②display:inline-block
③float:left/right
④overflow:hidden//溢出盒子的部分要隐藏起来

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>解决margin塌陷</title>
	<style>
	*{
		margin:0;
		padding:0;
	}

	.wrapper{
		width:100px;
		height:100px;
		background-color:black;
		margin-top:100px;
		/*超出盒子的部分会被隐藏,让这个大盒子变成bfc,
		假如要他超出的部分隐藏了,就用overflow:hidden*/
		/*overflow:hidden;*/
		/*display:inline-block;*/
		/*position:absolute;*/
		/*float:left;*/
		float:right;
	}
	
	.contern{
		width:50px;
		height:50px;
		background-color:green;
	    margin-top:40px;
	}
	
	</style>
</head>
<body>
<div class="wrapper">
	<div class="contern"></div>
</div>
</body>
</html>

margin合并

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>margin合并</title>
	<style>
	*{
		margin:0;
		padding:0;
	}
    .wrapper{
          height:10px;
          background-color:red;
          /*和margin-top合并了,两个div的距离只有500px,
          如果margin-top:600px那么两个div的距离只有600px,
          就像是两个两个国家不能同时共用同一个领地,但是margin
          合并可以*/
          margin-bottom:500px;
     }
    .wrapper1{
    	 height:10px;
    	 background-color:green;
    	 margin-top:400px;
    }
	
	</style>
</head>
<body>
<div class="wrapper"></div>
<div class="wrapper1"></div>
</body>
</html>

如何解决margin合并的bug,触发bfc(但是在现实开发中,不需要解决合并问题)

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>margin合并</title>
	<style>
	*{
		margin:0;
		padding:0;
	}
    .wrapper{
          height:10px;
          background-color:red;
          margin-bottom:500px;
     }
    .wrapper1{
    	 height:10px;
    	 background-color:green;
    	 margin-top:400px;
    }
	/*让他在一个bfc里面*/
	.wwwww{
		overflow: hidden;
	    }
	</style>
</head>
<body>
<!-- ① -->
<!-- <div class="wwwww">
<div class="wrapper"></div>
</div>
<div class="wwwww">
<div class="wrapper1"></div>
</div> -->

<!-- ② -->
<!-- <div class="wrapper"></div>
<div class="wwwww">
<div class="wrapper1"></div>
</div> -->

<!-- ③ -->
<div class="wrapper1"></div>
<div class="wwwww">
<div class="wrapper"></div>
</div>
</body>
</html>

3.浮动元素

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>浮动元素float</title>
	<style>
	*{
		margin:0;
		padding:0;
	}
    
    .wrapper{
    	width:350px;
    	height:300px;
    	border:1px solid black;
    }	
    .contern{
    	/*浮动元素*/
    	float:left;
    	height:100px;
    	width:100px;
    	color:#fff;
    	background-color:black;
    }
	</style>
</head>
<body>
<div class="wrapper">
	<div class="contern">1</div>
	<div class="contern">2</div>
	<div class="contern">3</div>
	<div class="contern">4</div>
	<div class="contern">5</div>
	<div class="contern">6</div>
	<div class="contern">7</div>
</div>
</body>
</html>

在这里插入图片描述

3.浮动元素产生浮动流
①所有产生浮动流的元素,块级元素看不见他们,所以如下例子demo就会跑上去。
②但是产生了bfc的元素和文本类属性的元素inline以及文本 都能看到浮动属性,就不会跑上 去,而是在box后面展示

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>浮动元素float</title>
	<style>
	*{
		margin:0;
		padding:0;
	}
    
    .box{
    	float:left;
    	height:100px;
    	width:100px;
    	background-color:red;
    	opacity:0.5;
    }

    .demo{
    	height:150px;
    	width:150px;
    	background-color:green;
    }
	</style>
</head>
<body>
<div class="box"></div>
<div class="demo"></div>
</body>
</html>

在这里插入图片描述
4.用伪元素清除浮动流

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>用伪元素清除浮动元素</title>
	<style>
	*{
		margin:0;
		padding:0;
	}
    
    .wrapper{
    	border:1px solid black;
    }	
    .contern{
    	/*浮动元素,产生了浮动流,wrapper元素变成行级标签*/
    	float:left;
    	height:100px;
    	width:100px;
    	color:#fff;
    	background-color:black;
    }
    .wrapper::after{
    	/*因为clear属性只能由块级元素调配所以让wrapper元素变成块级元素*/
    	clear:both;
    	display:block;
    	/*content一定要加*/
    	content:"";
    }
	</style>
</head>
<body>
<div class="wrapper">
	<div class="contern">1</div>
	<div class="contern">2</div>
	<div class="contern">3</div>
</div>
</body>
</html>

浮动作用
1、用浮动实现文字环绕图片的效果

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>用浮动实现文字环绕图片的效果</title>
	<style>
	*{
		margin:0;
		padding:0;
	}
    
    img{
    	float:left;
    	height:100px;
    	width:100px;
    }
    
	</style>
</head>
<body>
<img src="捕获.png" alt="">
<span>文本,是指书面语言的表现形式,从文学角度说,通常是具有完整、系统含义(Message)的一个句子或多个句子的组合。一个文本可以是一个句子(Sentence)、一个段落(Paragraph)或者一个篇章(Discourse)。广义“文本”:任何由书写所固定下来的任何话语。(利科尔) 狭义“文本”:由语言文字组成的文学实体,代指“作品”,相对于作者、世界构成一个独立、自足的系统。文本,是指书面语言的表现形式,从文学角度说,通常是具有完整、系统含义(Message)的一个句子或多个句子的组合。一个文本可以是一个句子(Sentence)、一个段落(Paragraph)或者一个篇章(Discourse)。广义“文本”:任何由书写所固定下来的任何话语。(利科尔) 狭义“文本”:由语言文字组成的文学实体,代指“作品”,相对于作者、世界构成一个独立、自足的系统。文本,是指书面语言的表现形式,从文学角度说,通常是具有完整、系统含义(Message)的一个句子或多个句子的组合。一个文本可以是 </span>
</body>
</html>

2.制作导航栏

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>导航栏</title>
	<style>
	*{
		margin:0;
		padding:0;
		color:#424242;
		font-family: arial;
	}
     .nav{
     	list-style: none;
     }
     /*清除浮动流*/
     .nav::after{
     	content:"";
     	display:block;
     	clear:both;
     }
     /*产生浮动流*/
     .nav .List-item{
     	float:left;
     	margin-left: 5px;
     	height:30px;
     	line-height: 30px;
     }
     
     a{
     	text-decoration: none;
     }
     .nav .List-item a{
     	display: block;
     	height:30px;
     	color:#f40;
     	padding:0 5px;
     	border-radius: 15px;
     }
     /*鼠标移上去的效果*/
      .nav .List-item a:hover{
       background-color: #f40;
       color:#fff;
      }
	</style>
</head>
<body>
<ul class="nav">
	<li class="List-item"><a href="#">天猫</a></li>
	<li class="List-item"><a href="#">聚划算</a></li>
	<li class="List-item"><a href="#">天猫超市</a></li>
</ul>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值