想用weui.css写微信平台的页面,发现没有让flex(weui-flex)容器下,子项目(weui-flex__item)居中的类。

百度了一下,是用justify-content:center;实现水平居中,用align-items:center 实现垂直居中。

可是当我这样写的时候,竟然没有用!

<!-- style -->
<style>
.justify{
justify-content: center;
}
.align{
align-items: center;
}
</style>
<!-- HTML -->
<div class="weui-flex justify">
<div class="weui-flex__item">
<p>AAAA</p>
</div>
<div class="weui-flex__item">
<p>BBBB</p>
</div>
</div>

页面效果是这样的:

页面style是这样的:

注意! 这里的 div{display:block;} 

------------------以上为初次尝试结果,下面说一下正确结果及上面无法实现的原因--------------------

当我不使用 weui-flex__item 来实现子项目等分空间,而是使用width来控制时,发生了这样一幕:

-----代码-----

<!-- style -->
<style>
.justify{
justify-content: center;
}
.align{
align-items: center;
}
.wid{
width: 100px;
height: 5em;
}
</style>
<!-- html -->
<div class="weui-flex justify">
<div class="wid">
<p>AAAA</p>
</div>
<div class="wid">
<p>BBBB</p>
</div>
</div>
<div class="weui-flex justify">
<p class="wid" style="background: red;">11111</p>
<p class="wid" style="background: blue;">22222</p>
</div>
<div class="weui-flex justify">
33333
</div>

-----页面效果-----

-----页面style-----

外层div-                                                       

-

子元素 p

总结发现:display: flex; 只对自身起作用,子元素依旧是 display: block;

     当flex-direction:row时justify-content: center;(垂直居中),align-items: center;(水平居中) 

     而这里justify-content: center;(水平居中)  align-items: center;(垂直居中) ,

     这里之所以和网上的说法相反,是因为weui中的flex-direction的属性值设置为column了,

     要作用在 display属性为flex的标签上才会对其子元素起作用(只有子元素,孙子都不好使)。

     而我们还像用 flex:1来实现等分,那么就出现了我最后的结果。关于flex:1,看这里

     写在一起。

上代码  

  <style>
.justify{
justify-content: center;
}
.align{
align-items: center;
}
.wid{
height: 5em;
}
</style>
  <div class="weui-flex">
<div class="weui-flex__item weui-flex justify align">
<p>AAAA</p>
</div>
<div class="weui-flex__item weui-flex justify">
<p>BBBB</p>
</div>
</div>

页面效果

这里顺便写了一下垂直居中,如何实现一看便知。

垂直居中和水平居中效果的实现,关键就在于display,以及作用的范围是 display: flex; 的子节点(没孙子节点什么事)。

希望可以得到分享和指正。

weui.css中flex容器下子项目的水平和垂直居中的更多相关文章

  1. 前端知识点回顾之重点篇——CSS中flex布局

    flex布局 来源: http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool 采用 Flex 布局的元素 ...

  2. css中flex布局

    一.Flex布局是什么? Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为Flex布局. .box{ display: flex; ...

  3. css实现不定宽高的div水平、垂直居中

    一共有三个方案: 1,第一种方案主要使用了css3中transform进行元素偏移,效果非常好 这方法功能很强大,也比较灵活,不仅仅局限在实现居中显示.  兼容方面也一样拿IE来做比较,第二种方法IE ...

  4. 关于页面布局中,如何让一个div水平和垂直居中的五个方案

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. CSS中设置DIV垂直居中的N种方法 兼容IE浏览器

    在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...

  6. HTML CSS 中DIV内容居中汇总

    转载博客(http://www.cnblogs.com/dearxinli/p/3865099.html) (备注:DIV居中情况,网上谈到也比较多,但是这篇文字,相对还是挺全面,现转载,如果冒犯,还 ...

  7. CSS中设置div垂直居中

    在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...

  8. css 中 div垂直居中的方法

    在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...

  9. css的flex布局调试

    学习经验-css的flex布局 今天遇到一个小问题 在给三个div布局时,设置父元素display:flex 此时三个div的宽度均为50%,他们并没有超出屏幕的宽度,还是撑满了父元素. 为什么呢? ...

随机推荐

  1. JDBC连接SQL Server 2005步骤详解

    一.设置SQL Server服务器:    1.“开始” → “程序” → “Microsoft SQL Server 2005” → “配置工具” → “SQL Server Configurati ...

  2. 如何使用php session

    学会php session可以在很多地方使用,比如做一个后台登录的功能,要让程序记住用户的session,其实很简单,看了下面的文章你就明白了.   PHP session用法其实很简单它可以把用户提 ...

  3. DELPHI判断是否64位操作系统

    function IsWin64: Boolean;var  Kernel32Handle: THandle;  IsWow64Process: function(Handle: Windows.TH ...

  4. QT第四天学习

    回顾: 1.信号与槽 public slots: //先声明后实现 signals: //只需要声明 connect(sender,SIGNAL(signal()),receiver,SLOT(slo ...

  5. js模块化开发——模块的写法

    随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者 ...

  6. HDU-1994-利息计算

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1994 水题 题目分析 就是两种储存方式,输出所得本金加利息 代码 #include<stdio. ...

  7. Servlet的请求HttpServletRequest

    一.从容器到HttpServlet 1.web容器作了什么 web容器做的事情就是,创建Servlet实例,并完成Servlet的名称注册及URL模式的对应.在请求来到时,web容器会转发给正确的Se ...

  8. JavaScript 模拟装饰者模式

    /** * 抽象coffee父类,其实可以不用的 */ function Coffee () {} Coffee.prototype.cost = function() { throw '实现这个方法 ...

  9. Word常用实用知识1

    Word常用实用知识1 纯手打,可能有错别字,使用的版本是office Word 2013 转载请注明出处,谢谢. 快速输入日期(含格式) [插入]--[日期]   快速输入日期和时间(快捷键) 快速 ...

  10. vue.js中ajax请求

    <div id="app"> <table style="border-collapse: collapse"> <thead&g ...