之前发了一篇weex集成和开发的博客,主要是讲了weex开发环境的搭建和文件的编译、部署,还有就是一些个人对weex的理解,最近将原生的项目改造成weex的项目,也持续了有两个多月的时间了,后面我会发一些有关weex技术的博客,可能有些人看到了会感觉没什么很高的技术含量,主要是为了记录自己学习到的东西以及开发过程中遇到的一些困难。

  首先,第一篇记录开发中会非常经常用到的一些属性:

  对于元素的margin、padding、border这些属性就不做说明了,和Android原生没什么大区别

flex-direction:定义父容器中子元素的排列方向,可选值为 row | column,默认值为 column
column:从上到下排列
row:从左到右排
justify-content:定义父容器中子元素在水平方向上的排列方式,可选值为 flex-start | flex-end | center | space-between,默认值为 flex-start。
flex-start:是默认值,所有的 flex 成员项都排列在容器的前部;
flex-end:则意味着成员项排列在容器的后部;
center:即中间对齐,成员项排列在容器中间、两边留白;
space-between:表示两端对齐,空白均匀地填充到 flex 成员项之间。
这其中最常用到的是center、space-between,center就没有什么好说的了,就是水平居中,至于space-between,我们可以配合margin-left和margin-right去实现一些效果。

这块试一下如果有多个元素space-between会是什么样的效果:

<div style="width: 500px;height: 300px;flex-direction: row;justify-content: space-between;background-color: brown;align-items: center">
<text style="font-size: 40px;color: #0088fb"></text>
<text style="font-size: 40px;color: #0088fb"></text>
<text style="font-size: 40px;color: #0088fb"></text>
<text style="font-size: 40px;color: #0088fb"></text>
</div>

空白部分同样也是均匀的填充到各个元素之间,这块有个小问题,红色部分的div我是设置了固定的宽、高,如果我想让div水平充满屏幕,在Android中可以设置match_parent,在weex中是没有类似的属性的,只能给宽度设置固定的750px,看到这可能会想到,这样写固定的值,不会产生不同分辨率手机的适配问题吗?实际上是不会的,我也不是很理解其中的原理,大概的理解是:750px是weex定义的一个基础,我们在代码中设置的任何宽度最后都会去除这个基础,最后再乘实际手机的宽度,举个例子:一个手机的宽是1080,我们在代码中设置div的宽度为375px,375/750*100% = 50%,1080*50% = 540,正好是手机宽度的一半,以此类推,在其他手机上得到的结果仍然是手机宽度的一半,如此就完成了不同分辨率手机的适配。

align-items:定义父容器中子元素在垂直方向上的排列方式,可选值为 stretch | flex-start | center | flex-end,默认值为 stretch。
stretch 是默认值,即拉伸高度至 flex 容器的大小;
flex-start 则是上对齐,所有的成员项排列在容器顶部;
flex-end 是下对齐,所有的成员项排列在容器底部;
center 是中间对齐,所有成员项都垂直地居中显示。

这个没什么好说的,最常用的就是center,垂直居中。

flex:定义了父容器中子元素可以占用容器中剩余空间的大小。
如果所有的成员项设置相同的值 flex: ,它们将平均分配剩余空间。
如果一个成员项设置的值为 flex: ,其它的成员项设置的值为 flex: ,那么这个成员项所占用的剩余空间是其它成员项的2倍。
这就类似于Android里面的权重layout_weight
    <div style="flex-direction: row;background-color: brown">
<div style="flex-direction: row;background-color: burlywood;flex: 1"></div>
<div style="flex-direction: row;background-color: aqua;flex: 2"></div>
<div style="flex-direction: row;background-color: blueviolet;flex: 1"></div>
</div>

weex常用属性梳理的更多相关文章

  1. Linux常用命令梳理——文件管理(一)

    由于本人目前仍是萌新一枚,所以<Linux常用命令梳理>系列仅依照个人目前掌握的知识,对一部分命令进行梳理,目的是为了对之前学到的知识进行巩固.当然了,如果机缘巧合被大家看到了,也欢迎各位 ...

  2. 【Android自学日记】五大布局常用属性

    线性布局(LinearLayout)常用属性: android:orientation="vertical"--决定子类控件的排布方式(vertical垂直:horizontal水 ...

  3. DataGrid中的常用属性

    DataGrid中的常用属性 $('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',w ...

  4. Node.js process 模块常用属性和方法

    Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...

  5. ImageView的常用属性

    ImageView的一些常用属性,并且这些属性都有与之对应的getter.setter方法: android:adjustViewBounds:设置ImageView是否调整自己的边界来保持所显示图片 ...

  6. HTML a标签、4个伪类、常用属性(下载)、锚链接(待扩展:邮件、电话、短信、GPS)

    HTML 超链接<a> 1.超链接可以是一个字.一个词.一组词.一幅图像,您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分. 2.当您把鼠标指针移动到网页中的某个链接上时,箭头会 ...

  7. iOS导航控制器常用函数与navigationBar常用属性

    导航控制器常用函数触发时机 当视图控制器的View将要出现时触发 - (void)viewWillAppear:(BOOL)animated 当视图控制器的View已经出现时触发 - (void)vi ...

  8. CSS样式常用属性整理

    web工程师是最近5年刚刚兴起的一门高薪职业,人们的专注度越来越高. 那么前端除了学习html标签之外还需要掌握什么知识点呢? 为大家整理了一个和HTML标签密不可分的知识要点--<CSS样式常 ...

  9. WPF DataGrid常用属性记录

    WPF DataGrid常用属性记录 组件常用方法: BeginEdit:使DataGrid进入编辑状态. CancelEdit:取消DataGrid的编辑状态. CollapseRowGroup:闭 ...

随机推荐

  1. springcloud(五)-Ribbon

    前言 先发句牢骚,最近太TM忙了,一直没时间静下心来继续写微服务架构!EMMMMMM..... 经过前文的讲解,我们已经实现了微服务的注册与发现.启动各个微服务时,Eureka Client会把自己的 ...

  2. [转] CentOS7 用 kubeadm 快速安装 Kubernetes v1.13.4 最新教程

    [转 + 编辑][From] https://www.jianshu.com/p/4d61f18bc62d  , https://www.jianshu.com/p/5ff6e26d1912 时间是2 ...

  3. Hive0.13.1介绍及安装部署

    一.简介 hive由Facebook开源用于解决海量结构化日志的数据统计.hive是基于Hadoop的一个数据仓库工具,是基于Hadoop之上的,文件是存储在HDFS上的,底层运行的是MR程序.hiv ...

  4. Mac下配置git环境和客户端SourceTree+Git常用命令大全(Mac 10.12)

    前言: 如果不想折腾,直接下载GitHub桌面端,高度集成git,不需要学习git的任何命令. https://desktop.github.com/ 一.配置git环境 1.上官网https://g ...

  5. [Xamarin.Android] 如何透過電子郵件部署Xamarin.Android App (转帖)

    Android App在部署到實機的時候不像iOS的App限制你一定要使用向Apple申請的開發者憑證,在Apple不管是你要上架到Apple Store或者是企業內部署,你都必須向蘋果申請憑證. 而 ...

  6. springboot项目:项目部署

    第一步:打开终端,进入项目根目录  输入命令: cd /Users/liuxiaoming/Documents/software/ideawork/sell/ 第二步:对项目进行打包编译跳过测试: m ...

  7. Webapps初步_认识HTTP例子程序读取

    package servlet_01; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io. ...

  8. 如何调用npm已经安装在全局位置的模块

    参考链接  https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders npm install xxx -g ...

  9. WPF 自定义ScrollViwer

    ScrollViewer自定义样式 ScrollViewer在各种列表.集合控件中广泛使用的基础组建,先看看效果图: 如上图,ScrollViewer简单来说分两部分,一个横向的滚动条,一个垂直滚动条 ...

  10. PHP将字符串写入txt文件

    function writelog($str) { $open=fopen("e:\log.txt","a" ); fwrite($open,$str); fc ...