vue——布局(flex、gride)

前端布局发展史:

  1. 初代table布局
  2. CSS+div布局
  3. Flex布局(移动端较友好)
  4. grid布局(2020年)

1、Flex布局

实例1 用flex布局制作导航栏

flex:1表示下面的综合:
    flex-grow : 1; // 这意味着div将以与窗口大小相同的比例增长
    flex-shrink : 1; // 这意味着div将以与窗口大小相同的比例缩小
    flex-basis : 0; // 这意味着div没有这样的起始值,并且将根据可用的屏幕大小占用屏幕。例如: - 如果包装器中有3个div,则每个div将占用33%。

<view class="content">
		<view class="view1">首页</view>
		<view class="view1">新闻</view>
		<view class="view1">体育</view>
	</view>
.content {
		display: flex;
	}

	.view1 {
		flex: 1;
		text-align: center;
		line-height: 50px;
		background-color: #007AFF;
	}

 多加一个项也不需要改变代码,效果图:

 实例2 用flex布局制作列表

<view class="content">
		<view class="view1"></view>
		<view class="view2">
			<view class="view2-1">
				文字1
			</view>
			<view class="view2-2">
				文字2
			</view>
		</view>
		<view class="view3">确认</view>
		<view class="view3">取消</view>
	</view>
.content {		
		height: 120px;
		margin: 0 10px ;
		border: 1px solid #b7b2b7;
		display: flex;
		align-items: center;
		justify-content: center;
		justify-content: space-around;
	}

	.view1 {
		width: 50px;
		height: 50px;
		background-color: #B7B2B7;		
	}

	.view2 {
		
	}
	.view3 {
		width: 80px;
		height: 30px;
		background-color: #00aaff;
		display: flex;
		align-items: center;
		justify-content: center;		
	}

 实例3 用flex布局固定百分比布局(其中某一个固定)

<view class="content">
		<view class="view1">1</view>
		<view class="view2">2</view>
		<view class="view1">3</view>
		<view class="view1">4</view>
	</view>
.content {
		display: flex;
	}

	.view1 {
		flex: 1;
		background-color: #B7B2B7;
		margin: 0 1px;
	}

	.view2 {
		flex: 0 0 50%;
		background-color: #aaaaff;
	}

 实例4 底部footer固定在底部

页面会经常用到固定的底栏,但是当页面内容过少时,footer会到页面中间,下面用flex来解决

<view class="content">
		<view class="view-main">主要内容</view>
		<view class="view-footer">底部</view>
	</view>
.content {
		display: flex;
		flex-direction: column;
		height: 100vh;
	}

	.view-main {
		flex: 1;
		background-color: #55aaff;
	}

	.view-footer {
		width: 100%;
		height: 60px;
		background-color: #ff557f;
	}

2、grid布局

​​​​​​​第一个固定宽度,第三个宽度是第二个的两倍

 

<view class="content">
		<view class="view-1">1</view>
		<view class="view-2">2</view>
		<view class="view-3">3</view>
	</view>
.content {
		height: 60px;
		 display: grid;
		 grid-template-columns: 150px 1fr 2fr;//第一个固定宽度,第三个宽度是第二个的两倍
	}	

	.view-1 {	
		background: orange;
	}

	.view-2 {		
		background: cadetblue;
	}

	.view-3 {		
		background: rebeccapurple
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wy313622821

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

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

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

打赏作者

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

抵扣说明:

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

余额充值