之前的文章《深入解析微信小程序页面中实现的保存图片(附代码)》中,给大家了解一下微信小程序页面中实现的保存图片。下面本篇文章给大家介绍怎么使用CSS3制作一个简单页面的布局,感兴趣的小伙伴们可以参考一下。
兼容性
2009 年,W3C
提出了一种新的方案----Flex
布局,可以简便、完整、响应式地实现各种页面布局。
标1仅支持旧的
flexbox
规范,不支持包装。标2仅支持2012语法
标3不支持
flex-wrap,flex-flow
或align-content
属性标4部分支持是由于存在大量错误(参见已知问题)
概念
Flex
是Flexible Box
的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
注意,设为
Flex
布局以后,子元素的float、clear
和vertical-align
属性将失效。
采用Flex
布局的元素,称为Flex
容器(flex container
),简称"容器"。它的所有子元素自动成为容器成员,称为Flex
项目(flex item
),简称"项目"。
容器默认存在两根轴:水平的主轴(main axis
)和垂直的交叉轴(cross axis
)。主轴的开始位置(与边框的交叉点)叫做main start
,结束位置叫做main end
;交叉轴的开始位置叫做cross start
,结束位置叫做cross end
。
项目默认沿主轴排列。单个项目占据的主轴空间叫做main size
,占据的交叉轴空间叫做cross size
。
容器的属性
以下 6 个属性设置在容器上。
flex-direction
水平还是垂直排列flex-wrap
换不换行flex-flow
以上 2 个属性的缩写justify-content
水平对齐方式align-items
垂直对齐方式align-content
多行均衡分布
<strong>flex-direction</strong>
属性
flex-direction
属性决定主轴的方向(即项目的排列方向)。flex-direction
:row
| row-reverse
| column
| column-reverse
;
row
(默认值):主轴为水平方向,起点在左端。
row-reverse
:主轴为水平方向,起点在右端。
column
:主轴为垂直方向,起点在上沿。
column-reverse
:主轴为垂直方向,起点在下沿。
flex-wrap
默认情况下,项目都排在一条线(又称"轴线")上。flex-wrap
属性定义,如果一条轴线排不下,如何换行。
flex-wrap
: nowrap | wrap | wrap-reverse;
nowrap
(默认):不换行。
wrap
:换行,第一行在上方。
wrap-reverse
:换行,第一行在下方。
flex-flow
flex-flow
属性是flex-direction
属性和flex-wrap
属性的简写形式,默认值为row nowrap
。
<strong>justify-content</strong>
属性(水平方向对齐)
justify-content
: flex-start | flex-end | center | space-between | space-around;
flex-start
(默认值):左对齐
flex-end
:右对齐
center
:居中
space-between
:两端对齐,项目之间的间隔都相等。
space-around
:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
<strong>align-items</strong>
属性(垂直方向对齐)
align-items
属性定义项目在交叉轴上如何对齐。align-items
: flex-start | flex-end | center | baseline | stretch;
flex-start
:交叉轴的起点对齐。
flex-end
:交叉轴的终点对齐。
center
:交叉轴的中点对齐。
baseline
: 项目的第一行文字的基线对齐。
stretch
(默认值):如果项目未设置高度或设为 auto,将占满整个容器的高度。
<strong>align-content</strong>
属性
align-content
属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。align-content
: flex-start | flex-end | center | space-between | space-around | stretch;
flex-start
:与交叉轴的起点对齐。
flex-end
:与交叉轴的终点对齐。
center
:与交叉轴的中点对齐。
space-between
:与交叉轴两端对齐,轴线之间的间隔平均分布。
space-around
:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线- 与边框的间隔大一倍。
stretch
(默认值):轴线占满整个交叉轴。
项目的属性
也就是flex container
,它的所有子元素的属性
order
,排序flex-grow
,拉伸flex-shrink
,挤压flex-basis
, 固定尺寸flex
,grow shrink basis
的缩写align-self
,重写了父级的align-items
对齐方式
<strong>order</strong>
属性
order
属性定义项目的排列顺序。数值越小,排列越靠前,默认为 0。
<!-- order为-1 排在最前 --> <div style="order:-1">3</div>
<strong>flex-grow</strong>
属性
flex-grow
属性定义项目的放大比例,默认为 0,即如果存在剩余空间,也不放大。就是是否拉伸
<div style="flex-grow:1">1</div> <div>1</div> <div style="flex-grow:5">2</div> <div style="flex-grow:1">1</div>
如果所有项目的flex-grow
属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow
属性为 2,其他项目都为 1,则前者占据的剩余空间将比其他项多一倍。
<strong>flex-shrink</strong>
属性
flex-shrink
属性定义了项目的缩小比例,默认为 1,即如果空间不足,该项目将缩小。排不下去的时候,他会挤压变形,死也要排下去。负值对该属性无效
<div style="flex-shrink:0">0</div>
<strong>flex-basis</strong>
属性
flex-basis
属性定义了在分配多余空间之前,项目占据的主轴空间(main size
)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto
,即项目的本来大小。
<div style="flex-basis:100px">100px</div>
<strong>flex </strong>
属性
flex
属性是flex-grow
,flex-shrink
和flex-basis
的简写,默认值为 0 1 auto。后两个属性可选。
该属性有两个快捷值:auto (1 1 auto)
和none (0 0 auto)
。
建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。
.test { flex-grow: 1; flex-shrink: 1; flex-basis: 100px; } /* 等同于 */ .test { flex: 1 1 100px; } `
<strong>align-self</strong>
属性
align-self
属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items
属性。默认值为auto
,表示继承父元素的align-items
属性,如果没有父元素,则等同于stretch
。
align-self
: auto | flex-start | flex-end | center | baseline | stretch;
<div style="align-self:flex-end;">5</div>
推荐学习:CSS3视频教程
以上是手把手教你使用CSS3制作一个简单页面的布局(代码详解)的详细内容。更多信息请关注PHP中文网其他相关文章!

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

Dreamweaver CS6
视觉化网页开发工具

Dreamweaver Mac版
视觉化网页开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版