什么是flex

网页布局是css的一个重点应用。
我们传统的布局的解决方案是基于盒装模型,依赖display属性+position属性+float属性。而这种布局相对来说不是很方便,类似垂直居中就不容易实现。
2009年,W3C提出了一种新的方案----flex布局,可以简便、完整、响应式地实现各种浏览器的支持,这就意味着,现在能很安全的使用这项功能。

弹性盒子来制作骰子


做出来的效果就是这样的
那么我们该如何用弹性布局来实现呢

首先我们要了解弹性盒子使用流程

  1. 首先我们要定义一个弹性盒子
display:flex;
  1. 确定方向
flex-direction:row/column(reverse);
/*row横轴方向默认方向  column竖轴方向*/
  1. 主轴的对齐方式
 justify-content: flex-start;/* 左对齐 */justify-content: flex-end;/* 右对齐 */justify-content: center;/* 居中对齐 */justify-content: space-around;/* 两端对齐,两端有间距 */justify-content: space-between;/* 两端对齐,两端无间距 */
  1. 侧轴的对齐方式
 align-items: flex-end;align-items: flex-start;align-items: center;align-self: flex-end;align-self: flex-start;align-self: center;align-content: flex-end;align-content: flex-start;align-content: center;/* flex-end侧轴右对齐 flex-start侧轴左对齐center侧轴中间对齐*/

align-items、align-content和align-self区别:
align-content对于单行的的盒子不起任何作用,而align-items则不区分单行与多行。
align-items是一个弹性容器,而align-self则是一个弹性项目。
大概就是align-items控制内部项目,而align-self则是控制自身项目

  1. 超出换行
flex-wrap: wrap;
/*超出换行*/

然后我们开始制作骰子

我们先写出骰子大致框架定义盒子宽高,骰子大小,阴影效果
我这边用的列表写的

ul{display: flex;width: 100px;height: 100px;background-color: #eeeeee;border-radius: 10px;box-shadow: 5px 5px 5px #cacaca;float: left;margin: 0 20px;
}
li{background-color: black;border-radius: 50%;width: 20px;height: 20px;margin: 5px;box-shadow: 2px 2px 2px #666666;
}

开始给骰子布局

ul:nth-child(2){justify-content: center;align-items: center ;
}
ul:nth-child(3){justify-content: space-between;
}
ul:nth-child(3) li:nth-child(2){align-self: flex-end;
}
ul:nth-child(4){justify-content: space-between;
}
ul:nth-child(4) li:nth-child(2){align-self: center;
}
ul:nth-child(4) li:nth-child(3){align-self: flex-end;
}
ul:nth-child(5){justify-content: space-between;flex-wrap: wrap;
}
ul:nth-child(5) li:nth-child(3){align-self: flex-end;margin-right: 20px;
}
ul:nth-child(5) li:nth-child(4){align-self: flex-end;
}
ul:nth-child(6){justify-content: space-between;align-content: space-between;flex-wrap: wrap;
}
ul:nth-child(6) li:nth-child(3){margin: 0 40px;
}
ul:nth-child(7) {justify-content: space-between;align-content: space-between;flex-wrap: wrap;
}

这样
骰子就出来了

附带完整代码
我是引入外部文件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="../css/reset.css"><link rel="stylesheet" href="../css/style.css">
</head>
<body><ul><li></li></ul><ul><li></li></ul><ul><li></li><li></li></ul><ul><li></li><li></li><li></li></ul><ul><li></li><li></li><li></li><li></li></ul><ul><li></li><li></li><li></li><li></li><li></li></ul><ul><li></li><li></li><li></li><li></li><li></li><li></li></ul>
</body>
</html>

reset.css文件

@charset "utf-8";
*{margin: 0;padding: 0;
}
h1,h2,h3,h4,h5,h6{font-weight: normal;
}
a{ text-decoration:none;color: inherit;
}
li{list-style: none;
}
img{vertical-align: top;
}
html{font:12px/2 "微软雅黑";
}

style.css文件

ul{display: flex;width: 100px;height: 100px;background-color: #eeeeee;border-radius: 10px;box-shadow: 5px 5px 5px #cacaca;float: left;margin: 0 20px;
}
li{background-color: black;border-radius: 50%;width: 20px;height: 20px;margin: 5px;box-shadow: 2px 2px 2px #666666;
}
ul:nth-child(2){justify-content: center;align-items: center ;
}
ul:nth-child(3){justify-content: space-between;
}
ul:nth-child(3) li:nth-child(2){align-self: flex-end;
}
ul:nth-child(4){justify-content: space-between;
}
ul:nth-child(4) li:nth-child(2){align-self: center;
}
ul:nth-child(4) li:nth-child(3){align-self: flex-end;
}
ul:nth-child(5){justify-content: space-between;flex-wrap: wrap;
}
ul:nth-child(5) li:nth-child(3){align-self: flex-end;margin-right: 20px;
}
ul:nth-child(5) li:nth-child(4){align-self: flex-end;
}
ul:nth-child(6){justify-content: space-between;align-content: space-between;flex-wrap: wrap;
}
ul:nth-child(6) li:nth-child(3){margin: 0 40px;
}
ul:nth-child(7) {justify-content: space-between;align-content: space-between;flex-wrap: wrap;
}

如有错误 轻喷 小白一枚

flex弹性盒子做骰子详解相关推荐

  1. Flex弹性盒子详解:从量变到质变的理解

    Flex弹性盒子 在前端css3中有个非常重要的属性,就是弹性盒子了,他在页面布局中起到的作用可谓是有着王霸之业,那么我们如何正确的使用flex布局呢?让我来介绍一下吧.我们可以将整个flex布局分成 ...

  2. HTML+CSS_第三部分(Flex弹性盒子布局、grid网格布局、移动端、移动端流式布局、移动端rem布局、响应式布局、Bootstrap框架)

    文章目录 (1)Flex弹性盒子布局 一: 父容器上的属性 1. display:flex 设置为弹性盒子(写在父容器上) 2.flex-direction值 设置子项的布局方向(写在父容器上) 3. ...

  3. Flex弹性盒子(一篇带你掌握潮流 Flex 布局)

    文章目录 Flex弹性盒子 1.说在前头 1.1.Flex布局出现之前 1.2.Flex布局出现后 2.什么是Flex布局? 3.Flex container/item(父/子容器)的常用属性 4.L ...

  4. flex弹性盒子flex-grow 和flex的区别

    在flex弹性盒子体系中,flex-grow和flex都有对子元素进行放大的作用,但是这两个属性在放大时的计算方法不同,在使用时候要注意,使用正确的放大属性,从而达到自己想要的效果. 这是一个宽700 ...

  5. Vue.js-Day08【项目实战(附带 完整项目源码)-day03:订单确认页面、美团支付页面、flex弹性盒子布局】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 实战项目源码[链接:https://pan.baidu.com/s/1r0Mje3Xnh8x4F1HyG4aQTA   提 ...

  6. flex html 页面移动,HTML页面布局之flex弹性盒子

    这里是修真院前端小课堂,本篇分析的主题是 [HTML页面布局之flex弹性盒子] 每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方 ...

  7. flex弹性盒子中flex-grow与flex的区别

    flex弹性盒子中flex-grow与flex的区别 大家在使用flex布局的时候很多情况下都会用到flex-grow这个属性, flex-grow 属性用于设置父元素剩余空间的瓜分比例, flex ...

  8. css弹性盒之justify-content详解

    今天没事把css弹性盒常用及要注意的做一下整理: 先上代码如下: <!DOCTYPE html> <html> <head> <meta charset=&q ...

  9. 浅析flex弹性盒子伸缩比

    之前在做移动端内容左右滑动时,被flex属性绕晕了.说实话,在网上看了很多讲述flex属性的相关博客,说的非常复杂,不如自己总结的香.今天用一篇博客带你玩转flex属性! 准备工作 弹性容器开启弹性布 ...

最新文章

  1. 如何解决http封包中gzip编码的html
  2. pygame显示图片的方法_使用Pygame进行游戏开发(1)
  3. 流式计算优化:时效性 [王方浩视角]
  4. Go error 处理实践
  5. 20165323 第五周学习总结
  6. 初学iBATIS的朋友,如果你不看我这篇文章,你一定后悔,因为它官方文档里面的示例少一个
  7. xcode7打包ipa文件
  8. 西南科技大学oj题逆置顺序表
  9. shp在MATLAB中裁剪数据,ENVI中利用Shape文件裁剪栅格数据
  10. python打印古诗_python教程:利用python基础知识取出对应诗句
  11. 4.多态(Thinking in java学习四)
  12. IOS天气预报(美化)
  13. 白鹭小游戏开发,并发布到微信平台
  14. 对3800x初步超频总结
  15. 【OCR技术】大批量构造中文文字训练集
  16. 开源分布式存储系统的对比
  17. GPS卫星位置的计算
  18. java内存模型浅析_浅谈java内存模型
  19. html5手机截屏,手机的这6种截屏方法,你用过几种?
  20. linux终端能不能打字,不能打字只有拼音_Ubuntu系统拼音无法正确打字怎么解决

热门文章

  1. python 定时发送电子邮件
  2. 那些三十岁还没有走到管理岗的人,后来怎么样了?还值得尝试吗?
  3. html图片加载特效(预加载和加载失败)
  4. android vlayout 刷新,使用vlayout轻松构建复杂布局页面上拉加载
  5. SonarQube中Maven项目的测试覆盖率报告
  6. python 之 pandas 详解
  7. 最小生成树之Prim算法和Kruskal算法
  8. 创新100⼁瑞玛精密×携客云:供应链协同平台
  9. 商业经营的税费有哪些?
  10. 如何编写高质量JavaScript代码