HTML5技术

H5移动端知识点总结 - 惟愿一生(5)

字号+ 作者:H5之家 来源:H5之家 2017-01-20 12:03 我要评论( )

上面代码中,div元素(代表骰子的一个面)是Flex容器,span元素(代表一个点)是Flex项目。如果有多个项目,就要添加多个span元素,以此类推。css代码结构如下: stylehtml, body {height: 100%;}.container {width

上面代码中,div元素(代表骰子的一个面)是Flex容器,span元素(代表一个点)是Flex项目。如果有多个项目,就要添加多个span元素,以此类推。css代码结构如下:

<style> html, body { height: 100%; } .container { width:150px; height:150px; border:1px solid red; } .first-face { } .pip { display:block; width: 24px; height: 24px; border-radius: 50%; background-color: #333; } </style>

1. 首先,只有一个左上角的情况下,flex布局默认为左对齐,因此需要display:flex即可;如下代码:

.first-face { display: flex; display: -webkit-box; }

上面为了兼容UC浏览器和IOS浏览器下,因此需要加上display: -webkit-box;来兼容,我们也明白,如果不加上.first-face里面的代码,也能做出效果,因为元素默认都是向左对齐的,如下图所示:

我们继续来看看对元素进行居中对齐; 需要加上 justify-content: center;即可;但是在UC浏览器下不支持该属性,

我们水平对齐需要加上box-pack,box-pack表示父容器里面子容器的水平对齐方式,具体的值如上面介绍的box的语法,

需要加上 -webkit-box-pack:center; 因此在first-face里面的css代码变为如下代码:

.first-face { display: flex; display: -webkit-box; justify-content:center; -webkit-box-pack:center; }

效果如下:

上面已经介绍过justify-content属性定义了项目在主轴上的对齐方式(水平方向上),有五个值,这里不再介绍,具体可以看上面的基本语法。

水平右对齐代码也一样、因此代码变成如下:

.first-face { display: flex; display: -webkit-box; justify-content:flex-end; -webkit-box-pack:end; }

如下图所示:

2. 我们接着来分别看看垂直居左对齐,垂直居中对齐,垂直居右对齐.

一:垂直居左对齐

我们现在需要使用上align-items属性了,该属性定义项目在交叉轴上如何对齐。具体的语法如上:

同样为了兼容UC浏览器或其他不支持的浏览器,我们需要加上box-align 该属性表示容器里面字容器的垂直对齐方式;具体的语法如上;

因此代码变成如下:

.first-face { display: flex; display: -webkit-box; align-items:center; -webkit-box-align:center; }

效果如下:

二:垂直居中对齐

现在垂直已经居中对齐了,但是在水平上还未居中对齐,因此在水平上居中对齐,我们需要加上justify-content属性居中即可;

同样为了兼容UC浏览器,需要加上 -webkit-box-pack:center;

代码变为如下:

.first-face { display: flex; display: -webkit-box; align-items:center; -webkit-box-align:center; justify-content:center; -webkit-box-pack:center; }

效果如下:

三:垂直居右对齐

原理和上面的垂直居中对齐是一个道理,只是值换了下而已;代码如下:

.first-face { display: flex; display: -webkit-box; align-items:center; -webkit-box-align:center; justify-content:flex-end; -webkit-box-pack:end; }

效果如下:

3. 我们接着来分别看看底部居左对齐,底部居中对齐,底部居右对齐.

一:底部居左对齐

其实属性还是用到上面的,只是值换了一下而已;代码如下:

.first-face { display: flex; display: -webkit-box; align-items:flex-end; -webkit-box-align:end; justify-content:flex-start; -webkit-box-pack:start; }

效果如下:

二:底部居中对齐

代码变为如下:

.first-face { display: flex; display: -webkit-box; align-items:flex-end; -webkit-box-align:end; justify-content:center; -webkit-box-pack:center; }

效果如下:

三:底部居右对齐

代码变为如下:

.first-face { display: flex; display: -webkit-box; align-items:flex-end; -webkit-box-align:end; justify-content:flex-end; -webkit-box-pack:end; }

效果如下:

二:2丙

1. 水平上2端对齐;需要使用的属性justify-content: space-between;该属性能使第一个元素在左边,最后一个元素在右边。

因此代码变成如下:

.first-face { display: flex; justify-content: space-between; }

但是在UC浏览器下不生效,因此我们需要 display: -webkit-box;和-webkit-box-pack:Justify;这两句代码;

display: -webkit-box;我不多介绍,上面已经讲了,-webkit-box-pack:Justify;的含义是在box-pack表示水平等分父容器宽度。

因此为了兼容UC浏览器,所以代码变成如下:

.first-face { display: flex; justify-content: space-between; display: -webkit-box; -webkit-box-pack:Justify; }

效果如下:

2. 垂直两端对齐;

垂直对齐需要使用到的flex-direction属性,该属性有一个值为column:主轴为垂直方向,起点在上沿。

代码变为如下:

.first-face { display: flex; justify-content: space-between; flex-direction: column; }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 性能优化实战案例——助力某移动OA系统 - Double_K

    性能优化实战案例——助力某移动OA系统 - Double_K

    2017-01-19 15:00

  • SQL Server常见问题总结 - Double_K

    SQL Server常见问题总结 - Double_K

    2017-01-10 15:01

  • 前端工程自动化构建总结 - bjtqti

    前端工程自动化构建总结 - bjtqti

    2017-01-10 15:00

  • 使用Html5+C#+微信 开发移动端游戏详细教程:(六)游戏界面布局与性能优化 - 乔克灬叔叔

    使用Html5+C#+微信 开发移动端游戏详细教程:(六)游戏界面布局与性

    2017-01-08 09:00

网友点评
h