flex弹性容器的基本使用

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<!-- 移动端必设置 -->
	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,minimum-scale=1.0,user-scalable=0" />
	<title>弹性容器使用</title>
	<style>
		*{
			margin: 0;
			padding: 0;
			list-style-type: none;
		}
		ul{
			width: 800px;
			border: 1px solid red;
			/*设置为弹性元素*/
			display: flex;
			/*
				设置方向
				row 表示在一行
				column 表示在一列
			*/
			flex-direction: row;
			/*
				设置弹性元素是否在弹性容器中自动换行
					可选值	nowrap(默认值)不会自动换行
							wrap会自动换行
			*/
			flex-wrap: wrap;
			/*
				设置子元素的排列方式
				flex-start靠主轴开始位置
				flex-end靠主轴结束位置
				center 居中
				space-around 空白分布到子元素的2测
				space-evenly 空白单边分配
			*/
			justify-content: space-evenly;
			/*
				align-item 元素在辅轴上如何对齐
				center居中对齐
				
			*/
		}
		li{
			width: 100px;
			height: 100px;
			background-color: burlywood;
			color:white;
			text-align: center;
			line-height: 100px;
			font-size: 35px;
			float: left;
			/*
				flex-grow指定子元素的伸展系数,
					当父元素有多余空间的时候,子元素该如何伸展
					也就是说父元素的空间,子元素会按照系数比例进行分配
			*/
			/*flex-grow: 1;*/
			/*flex-shrink,0表明不会伸缩,值越大伸缩越小*/
			/*flex-shrink: 0;*/
		}
		li:nth-child(1){
			background-color: pink;
		}
		li:nth-child(2){
			background-color: black;
		}
		li:nth-child(3){
			background-color: goldenrod;
		}
	
		
	</style>

</head>
<body>
	<ul>
		<li>1</li>
		<li>2</li>
		<li>3</li>
	</ul>
	
</body>
</html>
<!--
	flex弹性盒:使用弹性盒子必须先将父级元素设置为一个弹性容器
		(1)通过display类设置弹性容器
			display:flex  设置为块级弹性容器(比较常用)
			display:inline-flex 设置为行内的弹性容器
		(2)弹性元素
			弹性容器的直接子元素就是弹性元素(只是第一层子元素)

-->

Flexbox(Flexible Box)是CSS3中引入的一种新的布局模型,其基本思想是为了创建灵活、响应式的网页布局。它的主要目标是在容器内根据可用空间动态调整元素的位置和大小,即使在不同设备或窗口尺寸下也能保持良好的视觉效果。 Flexbox布局的基本思想包括以下几个关键概念: 1. **主轴(main axis)和交叉轴(cross axis)**:默认情况下,主轴是从左到右,交叉轴则是从上到下。可以通过`flex-direction`属性更改这两个方向。 2. **弹性容器flex container)**:使用`display: flex`或`display: inline-flex`设置的元素将成为弹性容器,管理其内的子元素。 3. **弹性项目(flex items)**:弹性容器中的每个元素都是弹性项目,它们可以沿着主轴和交叉轴进行伸缩。 4. **弹性基础属性**: - `flex-grow`:项目如何扩展以填充可用空间,默认为0,表示不扩展。 - `flex-shrink`:项目在空间不足时如何缩小,默认为1,表示会缩小。 - `flex-basis`:项目的初始大小,可以是一个固定的值或计算值。 5. **对齐方式**:使用`justify-content`, `align-items`, 和 `align-self` 属性控制项目在容器中的对齐方式。 6. **顺序和交叉轴对齐**:通过`order`属性控制项目在主轴上的顺序,`align-content` 控制交叉轴的对齐。 了解了这些基本概念后,开发者可以根据需要轻松地调整元素的布局,实现响应式设计。如果你对某个具体的概念感兴趣,或者想深入了解如何在实际项目中应用,请告诉我,我会进一步解释。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Gjanuary

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

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

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

打赏作者

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

抵扣说明:

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

余额充值