广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >flex布局下两端对齐,不满左对齐
  • 926
分享到

flex布局下两端对齐,不满左对齐

摘要

弹性布局多列换行居左布局 解决方案一 问题情境: 在flex布局下,多行排列,如何让flex布局最后一行没有排满时,向左对齐排列且与上面的行间距相同。 实现效果: <!DO

弹性布局多列换行居左布局

解决方案一

问题情境:

在flex布局下,多行排列,如何让flex布局最后一行没有排满时,向左对齐排列且与上面的行间距相同。

在这里插入图片描述

实现效果:

在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<style type="text/CSS">
		li {
			list-style: none;
		}

		.List {
			width: 100%;
			box-sizing: border-box;
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
			padding: 10px;
		}
		.List:after{
			content: "";
			flex: auto;
		}

		.item {
			
			width: 220px;
			height: 60px;
			background-color: Azure;
			margin-bottom: 10px;
			border: 1px solid red;
			
			margin-right: 17px;
		}
		.item:nth-child(5n){
			
			margin-right: 0;
		}
		
	</style>
	<body>
		<div id="" style="width: 1200px;margin: auto;background-color: #cccccc;height: 500px;">
			<ul class="List">
				<li class="item"></li>
				<li class="item"></li>
				<li class="item"></li>
				<li class="item"></li>
				<li class="item"></li>
				<li class="item"></li>
				<li class="item"></li>
				<li class="item"></li>
				<li class="item"></li>
				<li class="item"></li>
				<li class="item"></li>
				<li class="item"></li>
				<li class="item"></li>
				
			</ul>
		</div>

	</body>
</html>

重要代码:要加after以及每个item的margin-right

.List:after{
		content: "";
		flex: auto;
	}

解决方案二

在用flex布局的时候遇到了下面这种问题,这是我的结构

 <div class="videoMain">
      <div class="video" v-for="num in 8" :key="num"></div>
  </div>
 .videoMain{
        display: flex; 
        flex-wrap: wrap;
        justify-content: space-between;
        align-content: flex-start;
        height: 100%;
        overflow-y: auto;
        
        .video{
            width: 342px;
            height: 210px;
            margin-bottom:10px;
            background-color: cyan;
        }
     }

当我使用 justify-content:space-between 或者 space-around 的时候页面效果是这样的

在这里插入图片描述

很明显最后一行的三个元素我想让他左对齐,看到网上有说给父级元素加上伪类,我试了试

.videoMain{
        display: flex; 
        flex-wrap: wrap;
        justify-content: space-between;
        align-content: flex-start;
        width: 100%;
        height: 100%;
        overflow-y: auto;
        
        
        .video{
            width: 342px;
            height: 210px;
            margin-bottom:10px;
            background-color: cyan;
        }
        i{
            width: 342px;
        }
     }
     .videoMain::after{
        content: '';
        flex: auto; // 或者1
     }

最后效果是这样的,最后一行都连上了(第一张图),也没有达到我想要的左对齐的效果,写margin-right之后和上面的又不对齐了(第二张图),不知道为什么别人说的就可以,有知道的也可以评论告诉我。

在这里插入图片描述

在这里插入图片描述

个人的解决方案

加了3个i标签,并把它的宽度设置的和.video的宽度一样,没有高度,这样的做的目的是最后一行差的给它补上,所以它会自动对齐,又因为没有写高度,所以页面中什么也不会显示

<div class="videoMain">
  <div class="video" v-for="num in 8" :key="num"></div>
    <i v-for="num in 3" :key="num"></i>
</div>
 i{
    width: 342px;
 }

在这里插入图片描述

这样就实现了底部和上面对齐的效果啦!

解释一下为什么我加了三个 i 标签

因为我的满行最多是五个div,底部多出一个div的时候,效果是没有影响的,当底部多出两个div的时候,显示在最前面和最后面的位置,这个不是我预期的效果,所以需要添加三个 i 标签来补齐,当底部是三个div的时候,同一行后面跟着两个 i 标签,下一行又有一个 i 标签,但是由于 i 标签没有高度,所以就和没有一样,视觉上就实现了我们想要的效果,无论页面的宽度怎么变,效果是不变的。

解决方案三

最近uni-app开发出现一个页面效果:多行三列左右对齐,超出换行左对齐,网上查了很多都没有能有效解决这个问题,而且这个在手机app上属于比较特殊的情况,UI效果:

在这里插入图片描述

我这里就讲自己如何解决这个问题:
首先一个问题考虑到最后一行不满的情况,如果使用左右两端对齐,很明显最后一行,如果是两列呢?例如这个:

在这里插入图片描述

此时,就不满足左对齐了!

这个情况是会遇到的。比如,我们用v-for循环渲染内容,后台随机增加标签内容,就无法避免出现上面两端对齐的问题了!

所以考虑到特殊情况作了如下改动,上代码:

<view class="itemBox">
	<view class="item">
		仪表仪器
	</view>
	<view class="item">
		仪表仪器
	</view>
	<view class="item">
		仪表仪器
	</view>
	<view class="item">
		仪表仪器
	</view>
	<view class="item">
		仪表仪器
	</view>
	<view class="item">
		仪表仪器
	</view>
</view>
.itemBox {
	width: auto;
	display: flex;
	
	justify-content: space-between;
	flex-wrap: wrap;

	.item {
		width: 32.5%;
		height: 60rpx;
		text-align: center;
		line-height: 60rpx;
		background-color: #F2F2F2;
		font-size: 32rpx;
		font-family: PingFang SC;
		font-weight: 400;
		margin-top: 20rpx;
	}
	
	
	.item:last-child:nth-child(3n - 1) {
	    margin-right: calc(32.5% + 3% / 3);
	}
	
	.item:last-child:nth-child(3n - 2) {
	    margin-right: calc(65% + 6% / 3);
	}
}

最后效果:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

很完美的解决了最后一行不满一列、两列不是左对齐的情况!

以上就是flex布局下两端对齐,不满左对齐的详细内容,更多关于flex布局下两端对齐,不满左对齐的资料请关注编程网其它相关文章!

--结束END--

本文标题: flex布局下两端对齐,不满左对齐

本文链接: https://www.lsjlt.com/news/175711.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • flex布局下两端对齐,不满左对齐
    弹性布局多列换行居左布局 解决方案一 问题情境: 在flex布局下,多行排列,如何让flex布局最后一行没有排满时,向左对齐排列且与上面的行间距相同。 实现效果: <!DO...
    99+
    2022-12-23
    flex布局下两端对齐 不满左对齐 弹性布局多列换行居左布局 flex左对齐
  • CSS中flex布局最后一行列表左对齐的示例
    这篇文章主要介绍CSS中flex布局最后一行列表左对齐的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!引用张鑫旭的一篇文章分享给大家,如果你想进行修改进入链接点到对应的图片生成的链接进入,方可修改。问题描述//h...
    99+
    2023-06-08
  • flex弹性盒布局最后一行左对齐怎么实现
    这篇文章将为大家详细讲解有关flex弹性盒布局最后一行左对齐怎么实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用flex布局,如果是九宫格的话正好可以平分,如图如果是我们只需要八块,如图但是我们想让...
    99+
    2023-06-08
  • CSS中columns怎么实现两端对齐布局
    小编给大家分享一下CSS中columns怎么实现两端对齐布局,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、兜兜转转一大圈兜兜转转一大圈,最后发现实现两端对齐布...
    99+
    2023-06-08
  • css3中如何使flex布局justify-content:space-between最后一行左对齐
    这篇文章主要介绍了css3中如何使flex布局justify-content:space-between最后一行左对齐,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小...
    99+
    2022-10-19
  • 如何解决flex布局space-between最后一行左对齐的方法
    这篇文章将为大家详细讲解有关如何解决flex布局space-between最后一行左对齐的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先看代码和效果&darr;<style>&...
    99+
    2023-06-08
  • css如何实现不同浏览器下兼容文本两端对齐
    小编给大家分享一下css如何实现不同浏览器下兼容文本两端对齐,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在 form 表单的前端布局中,我们经常需要将文本框的提...
    99+
    2023-06-08
  • 如何解决flex布局中justify-content: space-between对齐方式的一个BUG
    这篇文章主要介绍如何解决flex布局中justify-content: space-between对齐方式的一个BUG,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在设置displa...
    99+
    2022-10-19
  • css中div+css布局实现2端对齐的示例分析
    这篇文章主要介绍css中div+css布局实现2端对齐的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!div+css布局实现2端对齐是我们网页排版中经常会使用到的,这篇文章将总结一下可以实现的方法:html结...
    99+
    2023-06-08
  • CSS自适应布局如何实现子元素项目整体居中,内部项目左对齐
    这篇文章给大家分享的是有关CSS自适应布局如何实现子元素项目整体居中,内部项目左对齐的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。日常工作时,我们可能遇到这样一个布局:一个父元素框框(随着浏览器大小自适应宽度)里...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作