想用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. cf734 E. Anton and Tree

    这个题的题意还是很劲的.搞了好久才知道是怎么变得. (假设已经缩好了点,每次边中间颜色不同的,然后和就和他外面的相同,继续再变这个大的,依次类推,最多就是树的直径D/2) (还是英语水平太弱了(吐槽+ ...

  2. easyui弹出窗关闭前调用确认窗口,先关闭页面后调用弹出窗口

    弹出窗关闭的时候提示是否关闭,同时进行一些对应的方法调用, 然而在进行页面关闭调用的时候,往往页面关闭了,才弹出确认对话框, $.messager.confirm和panel的onBeforeClos ...

  3. Notification的功能与用法

    Notification是显示在手机状态的通知——手机状态栏位于手机屏幕的最上方,那里一般显示了手机当前的网络状态.时间等.Notification所代表的是一种具有全局效果的通知,程序一般通过Not ...

  4. 以脚本方式直接执行修改密码的passwd命令

    以脚本方式直接执行修改密码的passwd命令: 参考: http://bbs.csdn.net/topics/390001865 http://bbs.chinaunix.net/thread-993 ...

  5. PHP上传图片重命名6种方案

    一. 适用场景:无法使用从数据库中返回的自增长数字,给上传图片重命名.这是图片或文件上传的流程决定的.一般图片上传处理过程是,先上传图片到服务器,重命名之后,插入到数据库.也就是说,在数据库中非常容易 ...

  6. LoadRunner面试题

    在LoadRunner中为什么要设置思考时间和pacing 答: 录制时记录的是客户端和服务端的交互,如果要精确模拟 用户的行为,那么客户操作客户端时花费了很多时间要怎么模拟呢?录入 填写提交的内容, ...

  7. 大大维的贪吃蛇v1

    虽然本人一直是个免费的游戏测试员(/手动滑稽),但一直有着一个游戏架构师的梦想.正如马爸爸所说,梦想还是要有的,万一实现了呢? 这些天放寒假,有些空闲时间,就想着做一个简单的游戏机.能达到小时候十几块 ...

  8. RxJava2出现:Unable to create call adapter for io.reactivex.Flowable

    前面一直使用的是Rxjava 1.x 版本,最近 Rxjava 2.x 版本发布了,并且支持了背压,便换成了 Rxjava 2.x 版本.更换之后出现了下面的错误. Caused by: java.l ...

  9. phpstrom 的一些常用设置

    phpstrom是php开发者使用率比较高的一款IDE,也是我使用的比较多的一款,以免以后忘记了自己熟悉的设置,在此做一些记录. 1.主题的设置   可以在http://www.phpstorm-th ...

  10. MyBatis 源码分析——介绍

    笔者第一次接触跟MyBatis框架是在2009年未的时候.不过那个时候的他并不叫MyBatis,而是叫IBatis.2010年的时候改为现在的名字--MyBatis.这几年过去了,对于笔者来讲有一点陌 ...