flex布局学习—实现9个麻将大饼

最近在复习flex布局,刷到一篇实现麻将里面9个饼图的博文,练习一下。

效果图

在这里插入图片描述

先来回顾一下 flex 布局的几个常用属性:

display 为 flex:弹性盒子
justify-content:水平对齐方式

flex-start:主轴靠左对齐(默认值)
flex-end:主轴靠右对齐
center:主轴水平居中对齐
space-around:两端对齐,两端间距是中间距离的一半
space-between:两端靠边对齐,中间等距
space-evenly:两端对齐,两端间距与中间距离等距

align-items 为 center :侧轴垂直居中对齐
flex-wrap 为 wrap, wrap 是换行,默认 nowrap 不换行
flex-direction 为 column:主轴和侧轴换位置,名字不变
align-self 为 center:自身侧轴垂直居中对齐(设置给弹性盒子的子元素)

实现
<style type="text/css">
			* {
			    margin: 0;
			    padding: 0;
			    box-sizing: border-box;
			}
			
			ul {
			    float: left;
			    margin: 10px 0 0 10px;
			    width: 80px;
			    height: 100px;
			    background-color: #ccc;
			    border-radius: 5px;
			}
			
			li {
			    list-style: none;
			    width: 20px;
			    height: 20px;
			    border-radius: 50%;
			    background-color: red;
			}
			
			.ul1{
				display: flex;
				justify-content: center;
				align-items: center;
			}
			.ul2{
				display: flex;
				justify-content: space-around;
				align-items: center;
				flex-direction: column;
			}
			.ul3{
				display: flex;
				flex-direction: column;
				padding: 5px;
				justify-content: space-around;
			}
			.ul3 li:nth-child(2){
				align-self: center;
			}
			.ul3 li:nth-child(3){
				align-self: flex-end;
			}
			.ul4{
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				align-items: center;
			}
			.ul4 li{
				margin: 5px;
			}
			.ul5 {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-around;
				align-items: center;
			}
			.ul5 li:nth-child(3){
				margin: 0 30px;
			}
			.ul6{
				display: flex;
				flex-wrap: wrap;
				justify-content: space-around;
				align-items: center;
			}
			.ul6 li{
				margin: 5px;
			}
			.ul7{
				display: flex;
				flex-wrap: wrap;
			}
			.ul7 div{
				display: flex;
				justify-content: space-between;
				width: 80px;
				height: 50px;
				margin: 0;
				padding: 5px;
			}
			.top li:nth-child(2){
				align-self: center;
			}
			.top li:nth-child(3){
				align-self: flex-end;
			}
			.bottom{
				flex-wrap: wrap;
			}
			.bottom li {
				margin: 1px 5px;
			}
			.ul8{
				display: flex;
				flex-wrap: wrap;
				align-items: center;
			}
			.ul8 li{
				margin: 0 10px;
			}
			.ul9{
				display: flex;
				flex-wrap: wrap;
				justify-content: space-around;
				align-items: center;
			}
			.ul9 li {
				margin: 0 2px;
			}
			.ul9{
				display: flex;
				flex-wrap: wrap;
			}
		</style>
	</head>
	<body>
		<div id = 'app'>
			<ul class="ul1">
			        <li></li>
			    </ul>
			    <ul class="ul2">
			        <li></li>
			        <li></li>
			    </ul>
			    <ul class="ul3">
			        <li></li>
			        <li></li>
			        <li></li>
			    </ul>
			    <ul class="ul4">
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			    </ul>
			    <ul class="ul5">
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			    </ul>
			    <ul class="ul6">
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			    </ul>
			    <ul class="ul7">
					<div class="top">
						<li></li>
						<li></li>
						<li></li>
					</div>
					<div class="bottom">
						<li></li>
						<li></li>
						<li></li>
						<li></li>
					</div> 
			    </ul>
			    <ul class="ul8">
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			    </ul>
			    <ul class="ul9">
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			        <li></li>
			    </ul>
		</div>
	</body>

转载自:
作者:linwanxia
链接:https://juejin.cn/post/7074567009823883300

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值