样式问题
- box-shadow 仅支持 ios
- 只支持 px 写法
- 在 weex 中,flexbox 是唯一的布局模式,不支持内联布局 display: inline/float
- weex 不支持 z-index 设置元素层级关系,但靠后的元素层级更高
- border 不支持缩写,必须分开写 border-top-color: #ccc;border-top-style: solid;border-top-width: 1px;
- 背景色必须写完整,如background:#000需要写成background-color:#000
- image元素必须设置宽高样式
- 动态替换 class,只能使用数组表达式
- 如果定位元素超过容器边界,在 Android 下,超出部分将不可见,原因在于在 Android 端元素 overflow 默认值为 hidden,且 overflow 没有其他值
- 不支持背景图 可是使用定位来解决
- Android 上处理圆角,必须在外层div中设置 border-radius
- 不支持负边距 margin-left: -10px; —> transform: translateX(-10px);
- 伪类选择器只支持active focus disabled enabled
- weex 支持 position 定位 :relative | absolute |fixed |sticky ,默认值是relative
- 支持线性渐变:linea-gradient,不支持径向渐变:radius-gradient
- 子元素的样式不会继承自父元素,比如 color 和 font-size 等样式作用在 标签的上层是无效的
- 文字必须放在 标签中,不可以直接放在标签中
- 标签,有个 lines 样式,用于限制文本行数,并出现省略号,但是 lines:1 必须放在 css 里面,不能放在作为属性放在 标签中,类似这样 ,这样不生效
- 标签,必须带结束符,网页端浏览无法聚焦没关系,因为模拟器不支持;必须编辑 标签的高度,否则聚焦光标会不显示。
- css样式不支持嵌套写法
- weex不支持 span 标签 如果想要展示一段富文本 比如“艺狐全球拍卖” 想让‘拍卖’两个字加红标粗 可以使用weex的内置组件里面可以写入span标签
- 不允许继承
click
和组件目前不支持 click 事件,请使用 change 或 input 事件来代替
平台判断问题
Weex环境变量中,weex.config.env和WXEnvironment其实是一个东西,它们都有platform字段,官网上说:
platform: Current running platform, could be “Android”, “iOS” or “Web”.
platform表示当前运行的平台,可选值有”Android”, “iOS” or “Web”。
这里需要注意,官网此处是有错误的,真实的可选值是:”android”, “iOS” or “Web”。 “android”是要小写的
如果怕因为字符大小写判断错误,可以这么写:platform.toLowerCase() === ‘ios’
动画
weex不支持动画属性
比较一下CSS标准的动画属性,Weex不支持如下动画属性:
- animation-direction
- animation-iteration-count
- animation-name
- animation-play-state
- 关键帧keyframes
支持的动画属性也只有:
- width
- height
- backgroundColor
- opacity
- transformOrigin
- transform
Weex和Web的平台差异
Weex环境中没有DOM
(不支持DOM操作)Weex在Android和ios环境渲染出来的是原生组件,不是DOM Element
有限的事件类型
没有 window screen 对象
没有document 对象
在Android和ios环境中并没有这个对象,也不支持与其相关的DOM操作
(不能用jQuery)
没有 history location navigator 对象
基础语法标签的使用(局限于只能使用特定的子组件)
组件用于实现页面间的跳转
TIP : 不可以在标签内部直接添加文本,需要使用
属性:herf
TIP: 当click事件的回调函数和herf跳转前的逻辑处理
<a herf='http://baidu.com'>
<text>主会场</text>
</a>
不要在
在Weex中,
控制
子组件
支持各种类型的子元素
子组件
不支持子组件
在界面中显示单个图片(img差不多)
不允许相同方向的
- 或者
<scroller>
<refresh>
<text>refreshing</text>
</refresh>
<div v-for='num in lists'>
<text>{{num}}</text>
</div>
</scroller>
<recycle-list v-for='(item,i) in longList' switch='type'>
<cell-slot case='A'>
<text> A {{i}}</text>
</cell-slot>
<cell-slot case='B'>
<text> B {{i}}</text>
</cell-slot>
</recycle-list>
- 需要显示的设置其宽高,可使用postion:absolute;或width,height设置其宽高值
子组件
- ,
子组件
只能使用
组件除外,
默认可以滚动)
样式:
item-color 指示点默认颜色(未选中态)
item-selected-color 指示点选中颜色
item-size 指示点半径