教程来自阮一峰的flex布局教程实例篇

容器五大属性:

flex-direction:容器内项目的排列方向

(1)row:横向从左往右排列(默认)

(2)row-reverse:横向从右往左排列,是将元素一个一个的靠右放置,要跟justify-content中的flex-end区分清楚

(3)column:纵向从上往下排列

(4)column-reverse:纵向从下往上排列

flex-wrap:项目排列换行

(1)nowrap:不换行,项目超出容器范围自动缩小项目(默认)

(2)wrap:顺序换行

(3)wrap-reverse:排完序后整行交换

justify-content:项目在主轴上的对齐方式(一定要跟flex-direction区分清楚)

(1)flex-start:左对齐(默认),或向上对齐

(2)center:居中

(3)flex-end:右对齐,或向下对齐,是将元素从左往右排列完后整体右对齐,要跟flex-direction中的row-reverse区分清楚

(4)spaec-around:元素两边平均等分剩余空白间隙部分,最左(上)或最右(下)和元素之间的距离是1:2

(5)space-between:两端对齐,元素之间平均等分生于空白间隙部分

align-items:交叉轴上元素的对齐方式

(1)flex-start:交叉轴起点对齐(向上或向左)

(2)center:交叉轴居中对齐

(3)flex-end:交叉轴结束位置对齐(向下或向右)

(4)stretch:对未设置高度或高度设置为auto的项目进行拉伸填满容器(默认)

(5)baseline:保证元素中的文字在同一条基准线上

align-content:定义轴线的对齐方式

(1)flex-start:交叉轴起点对齐

(2)center:交叉轴中点对齐

(3)flex-end:交叉轴终点对齐

(4)space-between:与交叉轴两段对齐,轴线之间等距

(5)space-aroud:每根轴线等距

(6)strtch:轴线占满整个交叉轴(默认)

项目属性:

order:定义项目排序顺序,数值越小排列越靠前.默认为0

flex-grow:项目放大比例,默认为0不放大,将剩余空间按比例分配给要放大的元素

flex-shrink:项目缩小比例,设置为0不缩小

flex-basis:为项目设置主轴上的固定空间

align-self:允许单个项目与其他项目不同的对齐方式,可以覆盖align-items属性

(一)骰子的布局

1.1单项目一个点

默认为首行左对齐:

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title> <style type="text/css">
body{
background-color: black;
}
.box{
/*
*默认为首行左对齐
*/
width: 400px;
height: 400px;
background-color: ghostwhite;
display: flex;
}
.item{
width: 100px;
height: 100px;
margin: 30px;
background-color: #000000; }
.thick-white-border{
/*
*为容器box设置样式
*/
border-color: #ffffff;
border-width: 50px;
border-radius: 20px;/*圆角边框*/
}
.thick-black-border{
/*为元素span设置样式*/
border-color: #000000;
border-radius: 50%;/*把span元素变成圆形*/
}
</style>
</head>
<body>
<div class="box thick-white-border">
<!--
--box为外层容器,是骰子的面
-->
<span class="item thick-black-border"></span>
</div>
</body>
</html>

defalut

设置居中对齐:

/*
*把以下代码加入box样式设置中
*/
justify-content: center;

设置右对齐:

justify-content: flex-end;

设置交叉轴对齐方式,将横向轴下移,显示为中间行左对齐:

 .box{
width: 400px;
height: 400px;
background-color: ghostwhite;
display: flex;
align-items: center;
}

中间行,中间对齐:

 .box{
width: 400px;
height: 400px;
background-color: ghostwhite;
display: flex;
align-items: center;
justify-content: center;
}

中间行右对齐:

justify-content: flex-end;

靠低行中间对齐:

align-items: flex-end;
justify-content: center;

靠低行右对齐:

align-items: flex-end;
justify-content: flex-end;

1.2双项目2个点

首行两边对齐:

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title> <style type="text/css">
body{
background-color: black;
}
.box{
/*
*默认为首行左对齐
*/
width: 400px;
height: 400px;
background-color: ghostwhite;
display: flex;
justify-content: space-between;/*首行两边对齐*/
}
.item{
width: 100px;
height: 100px;
margin: 30px;
background-color: #000000; }
.thick-white-border{
/*
*为容器box设置样式
*/
border-color: #ffffff;
border-width: 50px;
border-radius: 20px;/*圆角边框*/
}
.thick-black-border{
/*为元素span设置样式*/
border-color: #000000;
border-radius: 50%;/*把span元素变成圆形*/
}
</style>
</head>
<body>
<div class="box thick-white-border">
<!--
--box为外层容器,是骰子的面
-->
<span class="item thick-black-border"></span>
<span class="item thick-black-border"></span>
<!--CSS文件中的样式设置类可以复用,无需为新span元素单独设置样式-->
</div>
</body>
</html>

双项目2个点

等距对齐:

justify-content: space-around;

双项目纵向排列,默认首列:

 .box{
width: 400px;
height: 400px;
background-color: ghostwhite;
display: flex;
flex-direction: column;
justify-content: space-around;
}

双项目,骰子2点布局:

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title> <style type="text/css">
body{
background-color: black;
}
.box{
width: 400px;
height: 400px;
background-color: ghostwhite;
display: flex;
justify-content: space-around;
}
.item{
width: 80px;
height: 80px;
margin: 30px;
background-color: #000000;
display: flex;
}
.item:nth-child(2){
align-self: center;
} .thick-white-border{
/*
*为容器box设置样式
*/
border-color: #ffffff;
border-width: 50px;
border-radius: 20px;/*圆角边框*/
}
.thick-black-border{
/*为元素span设置样式*/
border-color: #000000;
border-radius: 50%;/*把span元素变成圆形*/
}
</style>
</head>
<body>
<div class="box thick-white-border">
<!--
--box为外层容器,是骰子的面
-->
<span class="item thick-black-border"></span>
<span class="item thick-black-border"></span> </div>
</body>
</html>

骰子2点

1.3三项目:

骰子三点斜线布局;

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title> <style type="text/css">
body{
background-color: black;
}
.box{
width: 400px;
height: 400px;
background-color: ghostwhite;
display: flex;
}
.item{
width: 80px;
height: 80px;
margin: 30px;
background-color: #000000;
display: flex;
}
.item:nth-child(2){
align-self: center;
}
.item:nth-child(3){
align-self: flex-end;
} .thick-white-border{
/*
*为容器box设置样式
*/
border-color: #ffffff;
border-width: 50px;
border-radius: 20px;/*圆角边框*/
}
.thick-black-border{
/*为元素span设置样式*/
border-color: #000000;
border-radius: 50%;/*把span元素变成圆形*/
}
</style>
</head>
<body>
<div class="box thick-white-border">
<span class="item thick-black-border"></span>
<span class="item thick-black-border"></span>
<span class="item thick-black-border"></span>
</div>
</body>
</html>

骰子三点布局

样式文件分离:

便于样式的修改

在页面page文件中的同目录下新建CSS文件,在pages文件中使用@import导入CSS样式文件

flex布局学习的更多相关文章

  1. flex 布局学习

    flex 布局学习 寻根溯源话布局 一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平.垂直同时居中.记得刚开始学习 CSS 的时候,看到 float 属性不由得感觉眼前一亮,顺理成章的联 ...

  2. CSS flex 布局学习笔记

    写在前面 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 Flex 布局. 采用 Flex 布局的元素 ...

  3. Flex布局学习笔记

    任何元素都可以使用Flex布局,包括行内元素 display: flex; display: inline-flex使用Flex布局之后,子元素的float, clear, vertical-alig ...

  4. flex布局学习总结

    最近项目主要是小程序,小程序里面的布局主要采用flex布局,之前对flex 布局只是稍作了解,总结下flex 布局的常用套路 容器 Flex是Flexible Box的缩写,意为"弹性布局& ...

  5. Flex 布局学习笔记

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. FreeMusic项目优化(一)——flex布局学习记录

    参考博客:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html flex布局是w3c于09年提出的,用于简便,整洁,响应式地解决布局问题的手 ...

  7. 前端flex布局学习笔记

    flex布局,即为弹性布局,其为盒模型提供最大的灵活性,任何一个容器都可以指定为flex布局. eg:.box{ display:flex: } 行内元素也可以使用flex布局. 注意:设置flex布 ...

  8. flex布局学习总结--阮一峰

    基本概念:   采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器".它的所有子元素自动成为容器成员,称为 Flex 项目(flex it ...

  9. Flex布局【弹性布局】学习

    先让我们看看在原来的学习中遇到的问题 之前在软件工程的大作业中,自己从零开始学习如何开发一个网站,从页面,到后台,当然数据库是大二的必修课 在学习如何编写一个静态页面的时候,完全是自学,自己摸索,所以 ...

随机推荐

  1. mysql中explain的type的解释

    type -- 连接类型 type意味着类型,这里的type官方全称是“join type”,意思是“连接类型”,这样很容易给人一种错觉觉得必须需要俩个表以上才有连接类型.事实上这里的连接类型并非字面 ...

  2. 2019-04-28 Mybatis generator逆向工程生成的Example代码分析

    今天主要对Mybatis generator生成的DAO层等进行分析,讲解Example类的使用和扩展 1.先在数据库建表 CREATE TABLE `department` ( `fid` ) NO ...

  3. apache+php项目部署

    先安装apache和php然后进行如下操作(以63服务器的安装路径为例) 1.查看php项目运行的报错信息 路径:  cd  /var/log/httpd/error_log 如果错误如下: 可以尝试 ...

  4. Oracle 12c 静默安装(脚本自动化)

    oracle 12C 自动化静默安装脚本 项目地址: github: https://github.com/spdir/oracle-single-install 下载安装脚本 wget https: ...

  5. 【Spring】Spring随笔索引

    Spring随笔索引 [Spring]Spring bean的实例化 [Spring]手写Spring MVC [Spring]Spring Data JPA

  6. Re.常系数齐次递推

    前言 嗯   我之前的不知道多少天看这个的时候到底在干什么呢 为什么那么..  可能大佬们太强的缘故 最后仔细想想思路那么的emmm 不说了  要落泪了 唔唔唔 前置 多项式求逆 多项式除法/取模 常 ...

  7. 洛谷 P2590 [ZJOI2008]树的统计

    大家好,我非常喜欢暴力数据结构,于是我用块状树过了这道题目 题目: 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w. 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE ...

  8. BZOJ bzoj1396 识别子串

    题面: bzoj1396 题解: 先建出SAM,并计算right集合大小.显然符合条件的点的right集合大小为1. 对于每个right集合为1的状态显然可以算出这些状态的pos以及maxlen和mi ...

  9. FTP文件上传并支持断点续传(一)—— win10 本地环境 ftp站点构建

    由于之前项目开发是采用是采用的FTP文件上传,就一直想学习,但由于FTP服务器是公司的,为了方便就像把本地变成ftp站点,其实很简单,但也有很多坑 这里简单介绍一下自己遇到的坑 一:开通本地的ftp权 ...

  10. 关于AI

    自己看着办吧 http://tieba.baidu.com/p/6008409988?fr=ala0&pstaala=1&tpl=5&fid=93764&isgod=0