前端路线--H5篇(day04)

flex-direction弹性盒子

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
		/* display: flex;使用弹性布局
			flex-direction:主轴的方向(设置在父盒子里)
			flex-direction: row;//默认行排列
			row-reverse  //行倒置
			column//按列排列
			column-reverse  //列倒置
			
			//盒子1:2的关系
			flex:1;
			flex:2;
			
		 */
			.box{
				width: 100%;
				height: 200px;
				background-color: aqua;
				display: flex;
				flex-direction: row;
			}
			.b_left{
				flex: 1;
				background-color: blue;
			}
			.b_right{
				flex: 2;
				background-color: pink;
			}
		</style>
	</head>
	<body>
		<!-- 移动端布局,任何容器(包括行内)都可以用flex进行布局 -->
		<!-- 使用flex后,子元素的float clear verticle-align失效 -->
		<div class="box">
			<div class="b_left">1</div>
			<div class="b_right">2</div>
		</div>
	</body>
</html>

弹性布局换行

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
		/* 如何换行*/
		/* flex-wrap: nowrap; //默认不换行,平均分空间  不给父级设置高度*/
		/* 			   wrap     		  //默认换行(平均分空间)  */
		/*             wrap-reverse       //第一行在下方           */
		
		/* flex-flow:direction wrap;    	//上两个的简写 */
			.box{
				width:600px;
				display: flex;
				background-color: #FFC0CB;
				flex-wrap: wrap-reverse;		/* 配合使用*/
				flex-direction: row-reverse;    /* 配合使用*/
				
			}
			.box div{
				width: 100px;
				height: 100px;
				font-size: 30px;
				color: white;
				background-color: #00FFFF;
			}
		</style>
	</head>
	<body>
		<div class="box">
			<div>1</div>
			<div>2</div>
			<div>3</div>
			<div>4</div>
			<div>5</div>
			<div>6</div>
			<div>7</div>
			<div>8</div>
			<div>9</div>
			<div>10</div>
		</div>
	</body>
</html>

主轴和副轴的对齐方式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
		/* 主轴上的对齐方式:
			justify-content: center; 居中
							flex-start  左对齐
							flex-end    右对齐
							space-between  两端对齐
							space-around   围绕对齐(相当于margin)
		 */
		/* 副轴上的对齐方式:
				  align-items: center; 	居中对齐
							flex-start  上对齐
							flex-end    下对齐
							baseline     从第一行字的基线对齐(以最大字的基线对齐)
							stretch 	 没有高或者高为auto时,会拉伸撑满
		 */
			.box{
				width: 800px;
				height: 600px;
				background-color: aqua;
				display: flex;
				/* justify-content: space-around; */
				align-items: stretch;
			}
			.son1{
				width: 100px;
				/* height: 100px; */
				background-color: #FFC0CB;
			}
			.son2{
				width: 200px;
				/* height: 200px; */
				background-color: #0000FF;
				font-size: 50px;
			}
			.son3{
				width: 300px;
				/* height: 300px; */
				background-color: blueviolet;
				font-size: 40px;
			}
		</style>
	</head>
	<body>
		<div class="box">
			<div class="son1">1</div>
			<div class="son2">2</div>
			<div class="son3">3</div>
		</div>
	</body>
</html>

多根轴线对齐方式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			/*只有一根轴该属性不起作用  */
			/*align-content: flex-start; 		与交叉轴的起点对齐。
 							 flex-end			与交叉轴的终点对齐。
							 center				与交叉轴的中点对齐。
							 space-between;		与交叉轴两端对齐,轴线之间的间隔平均分布。
							 space-around;		每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
							 stretch(默认值)	轴线占满整个交叉轴。
							
			 */
			.box{
				width:1000px;
				height: 800px;
				border: solid 1px orange;
				display: flex;
				flex-wrap: wrap;
				align-content:stretch;
				
				
			}
			.box div{
				width: 200px;
				height: 200px;
				font-size: 30px;
				color: white;
				background-color: #00FFFF;
			}
		</style>
	</head>
	<body>
		<div class="box">
			<div>1</div>
			<div>2</div>
			<div>3</div>
			<div>4</div>
			<div>5</div>
			<div>6</div>
			<div>7</div>
			<div>8</div>
			<div>9</div>
			<div>10</div>
		</div>
	</body>
</html>

弹性子元素属性

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.box{
				width:1000px;
				height: 800px;
				border: solid 1px orange;
				display: flex;
				flex-wrap: wrap;	
			}
			.box div{
				width: 200px;
				height: 200px;
				font-size: 30px;
				color: white;
				background-color: #00FFFF;
			}
			/* 项目的排列顺序
				order:数字;
				数字越大,值越靠后,其余不设置的默认为0
			 
			 
			 */
			.box1{
				order: 5;
			}
			.box5{
				order: 1;
			}
		</style>
	</head>
	<body>
		<div class="box">
			<div class="box1">1</div>
			<div>2</div>
			<div>3</div>
			<div>4</div>
			<div class="box5">5</div>
			<div>6</div>
			<div>7</div>
			<div>8</div>
			<div>9</div>
			<div>10</div>
		</div>
	</body>
</html>

放大和缩小比例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.box{
				width:1000px;
				border: solid 1px orange;
				display: flex;	
			}
			.box div{
				width: 600px;
				height: 200px;
				font-size: 30px;
				color: white;
				background-color: #00FFFF;
			}
			/*  flex-grow: 数字;
				按照比例关系扩容项目
				flex-shrink: 数字;
				按照比例关系缩小项目
			*/
			.box1{
				/* flex-grow: 1; */
				flex-shrink: 2;
			}
			.box5{
				/* flex-grow: 5; */
				flex-shrink:4;
			}
		</style>
	</head>
	<body>
		<div class="box">
			<div class="box1">1</div>
			<div>2</div>
			<!-- <div>3</div>
			<div>4</div> -->
			<div class="box5">5</div>
			<!-- <div>6</div>
			<div>7</div>
			<div>8</div>
			<div>9</div>
			<div>10</div> -->
		</div>
	</body>
</html>

项目占据的主轴空间

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.box{
				width:1000px;
				border: solid 1px orange;
				display: flex;	
			}
			.box div{
				width: 600px;
				height: 200px;
				font-size: 30px;
				color: white;
				border: solid 1px #FFA500;
			}
			
			.box1{
				flex-basis:800px;
			}
		</style>
	</head>
	<body>
		<!-- 
		flex-basis:数值;
		项目占据主轴的空间,等同于width ,数值方向等同于高度。
		
		简写:
		flex:grow shrink basis;
			auto 		//根据宽度自动扩容和缩小
			none 		//几部扩容也不缩小
			1  			( (1,1,0%))
			initial 	(默认 即:(0,1,auto))
		 -->
		<div class="box">
			<div class="box1">1</div>
			<div>2</div>
			<!-- <div>3</div>
			<div>4</div> -->
			<div class="box5">5</div>
			<!-- <div>6</div>
			<div>7</div>
			<div>8</div>
			<div>9</div>
			<div>10</div> -->
		</div>
	</body>
</html>

不一样的对齐方式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.box{
				width:1000px;
				height: 800px;
				border: solid 1px orange;
				display: flex;	
			}
			.box div{
				width: 600px;
				height: 200px;
				font-size: 30px;
				color: white;
				background-color: #00FFFF;
				border: solid 1px orange;
			}
			.box1{
				/* height: auto !important; */
				align-self: stretch;
				font-size: 30px !important;
			}
		</style>
	</head>
	<body>
		<!-- 
			align-self: auto; //默认继承父元素的align-items 若没有父元素,则等同于stretch
						flex-start
						flex-end
						 center
						baseline
						stretch
						
					align-self属性允许单个项目有与其他项目不一样的对齐方式,
					可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,
					如果没有父元素,则等同于stretch。
					该属性可能取6个值,除了auto,其他都与align-items属性完全一致。
					-->
		<div class="box">
			<div class="box1">1</div>
			<div>2</div>
			<!-- <div>3</div>
			<div>4</div> -->
			<div class="box5">5</div>
			<!-- <div>6</div>
			<div>7</div>
			<div>8</div>
			<div>9</div>
			<div>10</div> -->
		</div>
	</body>
</html>

媒体查询

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" href="./CSS/one.css" media="(max-width:768px)">
	</head>
	<body>
		<!-- 格式: 
			@media 设备  and (设备特性){
				//CSS
			}
			在外部写完CSS<link>引入对应的CSS
			<link href='css文件'  media='(max-width:768px)'>
			
			
			- 超小屏幕(手机,小于 768px):设置宽度为 100%
			- 小屏幕(平板,大于等于 768px):设置宽度为 750px
			- 中等屏幕(桌面显示器,大于等于 992px):宽度设置为 970px
			- 大屏幕(大桌面显示器,大于等于 1200px):宽度设置为 1170px 
			
			
		-->
		
		<div class="box">
			我是768px下的box
		</div>
	</body>
</html>

媒体查询CSS

.box{
	width: 500px;
	height: 500px;
	background-color: #8A2BE2;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值