小程序02 wxml和wxss
微信小程序的排版就跟wxml和wxss有关,它们两者相当于HTML和CSS,其中wxml指定了界面的框架结构,而wxss指定了界面的框架及元素的显示样式。
一、wxml
界面结构wxmL比较容易理解,主要是由八大类基础组件构成:
| 一、视图容器(View Container): | 二、基础内容(Basic Content) | ||
| 组件名 | 说明 | 组件名 | 说明 |
| view | 视图容器 | icon | 图标 |
| scroll-view | 可滚动视图容器 | text | 文字 |
| swiper | 可滑动的视图容器 | progress | 进度条 |
| 三、表单组件(Form) | 四、操作反馈组件(Interaction) | ||
| 组件名 | 说明 | 组件名 | 说明 |
| button | 按钮 | action-sheet | 上拉菜单 |
| form | 表单 | modal | 模态弹窗 |
| input | 输入框 | progress | 进度条 |
| checkbox | 多项选择器 | toast | 短通知 |
| radio | 单项选择器 | 五、导航(Navigation) | |
| picker | 列表选择器 | 组件名 | 说明 |
| slider | 滑动选择器 | navigator | 应用内跳转 |
| switch | 开关选择器 | ||
| label | 标签 | ||
| 六、多媒体(Media) | 七、地图(Map) | ||
| 组件名 | 说明 | 组件名 | 说明 |
| audio | 音频 | map | 地图 |
| image | 图片 | ||
| video | 视频 | ||
| 八、画布(Canvas) | |||
| 组件名 | 说明 | ||
| canvas | 画布 | ||
二、wxss
wxss样式决定了组件应该如何显示,并在css的基础上做了一些功能扩展,主要包括:
1.尺寸单位
rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。一般以iphone6屏幕做为视觉设计标准。
rpx 与 px单位换算如下:
| 设备 | rpx换算px (屏幕宽度/750) | px换算rpx (750/屏幕宽度) |
| iPhone5 | 1rpx = 0.42px | 1px = 2.34rpx |
| iPhone6 | 1rpx = 0.5px | 1px = 2rpx |
| iPhone6s | 1rpx = 0.552px | 1px = 1.81rpx |
2.样式导入
可以使用@import语句来导入外联样式表,其后面跟需要导入外联样式表的相对路径,并以分号结束。
例如:
/** other.wxss **/
.appText{
margin:10px;
}
/** app.wxss **/
@import "other.wxss";
.content_text:{
margin:15px;
}
app.wxss是全局样式,作用于每一个页面,而page下的每一个的wxss文件只作用于当前页面,并对全局样式中的相同属性会覆盖。
对于微信小程序wxss样式的使用来说,其实大部分都和css样式一致,下面简单的进行介绍一下:
| wxss样式属性 | ||
| 一、wxss display(显示) | ||
| 属性 | 说明 | |
| flex | 多栏多列布局 | flex-direction:row/column |
| inline-block | 行内块元素 | |
| inline | 此元素会被显示为内联元素,元素前后没有换行符 | |
| inline-table | 作为内联表格来显示(类似 <table>),表格前后没有换行符 | |
| inline-flex | 将对象作为内联块级弹性伸缩盒显示 | |
| none | 此元素不会被显示 | |
| block | 此元素将显示为块级元素,此元素前后会带有换行符 | |
| list-item | 此元素会作为列表显示 | |
| table | 会作为块级表格来显示(类似 <table>),表格前后带有换行符 | |
| table-caption | 作为一个表格标题显示(类似 <caption>) | |
| table-cell | 作为一个表格单元格显示(类似 <td> 和 <th>) | |
| table-column | 作为一个单元格列显示(类似 <col>) | |
| table-column-group | 作为一个或多个列的分组来显示(类似 <colgroup>) | |
| table-row | 作为一个表格行显示(类似 <tr>) | |
| table-row-group | 作为一个或多个行的分组来显示(类似 <tbody>) | |
| table-header-group | 作为一个或多个行的分组来显示(类似 <thead>) | |
| table-footer-group | 作为一个或多个行的分组来显示(类似 <tfoot>) | |
| inherit | 从父元素继承 display 属性的值 | |
| flex:多栏多列布局 | ||
| 二、wxss position(定位) | ||
| 属性 | 说明 | |
| absolute | 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 | |
| relative | 生成相对定位的元素,相对于其正常位置进行定位。 因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。 |
|
| fixed | 生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。 | |
| static | 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明) | |
| inherit | 规定应该从父元素继承 position 属性的值 | |
| 三、wxss float(浮动) | ||
| 属性 | 说明 | |
| left | 元素向左浮动 | |
| right | 元素向右浮动 | |
| none默认值 | 元素不浮动,并会显示在其在文本中出现的位置。 | |
| inherit | 规定应该从父元素继承 float 属性的值。 | |
| 四、wxss background(背景) | ||
| 属性 | 说明 | 语法(属性值) |
| background | 简写属性,作用是将背景属性设置在一个声明中 | background: color position size repeat origin clip attachment image; |
| background-color | 指定要使用的背景颜色 | |
| background-position | 指定背景图像的位置 | background-position:center |
| background-size | 指定背景图片的大小 | background-size:80px 60px;宽度 高度 |
| background-repeat | 指定如何重复背景图像 | repeat,repeat-x,repeat-y,no-repeat,inherit |
| background-origin | 指定背景图像的定位区域 | padding-box 背景图像填充框的相对位置 border-box 背景图像边界框的相对位置 content-box 背景图像的相对位置的内容框 |
| background-clip | 指定背景图像的绘画区域 | 属性值,同上 |
| background-attachment | 设置背景图像是否固定或者随着页面的其余部分滚动。 | scroll 背景图片随页面的其余部分滚动。这是默认 fixed 背景图像是固定的 inherit 指定background-attachment的设置应该从父元素继承 local 背景图片随滚动元素滚动 |
| background-image | 指定要使用的一个或多个背景图像 | url('URL') 图像的URL none 无图像背景会显示。这是默认 inherit 指定背景图像应该从父元素继承 |
| 五、wxss border(边框) | ||
| 属性 | 说明 | 语法(属性值) |
| border | 简写属性,用于把针对四个边的属性设置在一个声明 | border:5px solid red; |
| border-width | 用于为元素的所有边框设置宽度,或者单独地为各边边框设置宽度 | border-top-width 上右下左边框厚度 属性值:thin medium thick length |
| border-style | 设置元素所有边框的样式,或者单独地为各边设置边框样式。 | border-top-width 上右下左边框样式 属性值:solid,dashed,dotted,double等 |
| border-color | 元素的所有边框中可见部分的颜色,或为 4 个边分别设置颜色 | border-top-width 上右下左边框颜色 |
| 六、xss 轮廓(outline) | ||
| 属性 | 说明 | 语法(属性值) |
| outline | 在一个声明中设置所有的外边框属性 | outline: outline-color, outline-style, outline-width |
| outline-color | 设置外边框的颜色 | |
| outline-style | 设置外边框的样式。 | 属性值:solid,dashed,dotted,double等 |
| outline-width | 设置外边框的宽度 | 属性值:thin medium thick length |
| 七、xss 文本属性(text) | ||
| 属性 | 说明 | 语法(属性值) |
| color | 设置文本颜色 | |
| direction | 设置文本方向。 | ltr:文本方向从左到右;rtl:文本方向从右到左 |
| letter-spacing | 设置字符间距 | |
| line-height | 设置行高 | |
| text-align | 对齐元素中的文本 | left:把文本排列到左边。默认值,由浏览器决定。 right:把文本排列到右边。 center:把文本排列到中间。 justify:实现两端对齐文本效果。 inherit: 规定应该从父元素继承 text-align 属性的值。 |
| text-decoration | 向文本添加修饰 | underline 定义文本下的一条线。 overline 定义文本上的一条线。 line-through 定义穿过文本下的一条线。 blink 定义闪烁的文本。 |
| text-indent | 缩进元素中文本的首行 | |
| text-shadow | 设置文本阴影 | text-shadow: h-shadow v-shadow blur color; h-shadow:水平阴影的位置,允许负值; v-shadow:垂直阴影的位置,允许负值; blur:模糊的距离; color:阴影的颜色 |
| text-transform | 控制元素中的字母 | capitalize 文本中的每个单词以大写字母开头。 uppercase 定义仅有大写字母。 lowercase 定义无大写字母,仅有小写字母。 |
| unicode-bidi | 设置或返回文本是否被重写 | |
| vertical-align | 设置元素的垂直对齐 | |
| white-space | 设置元素中空白的处理方式 | |
| word-spacing | 设置字间距 | |
| 八、xss 字体属性(font) | ||
| 属性 | 说明 | 语法(属性值) |
| font | 在一个声明中设置所有字体属性 | font:font-style font-variant font-weight font-size/line-height font-family(按顺序) |
| font-style | 指定文本的字体样式 | normal 默认值。浏览器显示一个标准的字体样式。 italic 浏览器会显示一个斜体的字体样式。 oblique 浏览器会显示一个倾斜的字体样式。 inherit 规定应该从父元素继承字体样式。 |
| font-variant | 以小型大写字体或者正常字体显示文本 | normal 默认值。浏览器会显示一个标准的字体。 small-caps 浏览器会显示小型大写字母的字体。 inherit 规定应该从父元素继承 font-variant 属性的值。 |
| font-weight | 指定字体的粗细 | normal 默认值。定义标准的字符。 bold 定义粗体字符。 bolder 定义更粗的字符。 lighter 定义更细的字符。 inherit 规定应该从父元素继承字体的粗细。 |
| font-size | 指定文本的字体大小 | smaller 把 font-size 设置为比父元素更小的尺寸。 larger 把 font-size 设置为比父元素更大的尺寸。 length 把 font-size 设置为一个固定的值。 % 把 font-size 设置为基于父元素的一个百分比值。 |
| font-family | 指定文本的字体系列 | |
| 九、xss margin(外边距)(margin) | ||
| 属性 | 说明 | 语法(属性值) |
| margin | 在一个声明中设置所有外边距属性。 | margin:10px 5px 15px 20px;(上边距,右边距,下边距,左边距) |
| margin-top | 设置元素的上外边距。 | |
| margin-right | 设置元素的右外边距。 | |
| margin-bottom | 设置元素的下外边距。 | |
| margin-left | 设置元素的左外边距 | |
| 十、xss padding(填充)(padding) | ||
| 属性 | 说明 | 语法(属性值) |
| padding | 使用缩写属性设置在一个声明中的所有填充属性 | padding:10px 5px 15px 20px;(上填充,右填充,下填充,左填充) |
| padding-top | 设置元素的顶部填充。 | |
| padding-right | 设置元素的右部填充 | |
| padding-bottom | 设置元素的底部填充 | |
| padding-left | 设置元素的左部填充 | |
| 十一、xss 选择器 | ||
| 选择器 | 样例 | 样例描述 |
| .class(类选择器) | .intro | 选择所有拥有class="intro"的组件 |
| #id(id选择器) | #firstname | 选择拥有id="firstname"的组件 |
| element | view | 选择所有view组件 |
| element, element | view checkbox | 选择所有文档的view组件和所有的checkbox组件 |
| ::after | view::after | 在view组件后边插入内容 |
| ::before | view::before | 在view组件前边插入内容 |
本文资料源自网络。
小程序02 wxml和wxss的更多相关文章
- 微信小程序:WXML 模板
微信小程序:WXML 模板 一.WXML 模板 网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来 ...
- 实现微信小程序的wxml文件和wxss文件在phpstrom的支持
最近下载了微信小程序准备好好看看,但是发现微信小程序用的后缀名是不一样的,.wxml代表的就是平时用的.html,.wxss代码的就是平时用的.css.但是phpstorm无法识别,为了更方便的码代码 ...
- 微信小程序之使用weui.wxss(八)
[未经作者本人同意,请勿以任何形式转载] 什么是WeUI? WeUI是在遵守微信视觉设计规范下,由官方设计团队为小程序量身定制的基础样式库. 这里把WeUI放到基础篇里,是因为WeUI是官方出品,并且 ...
- 小程序在wxml页面中取整
小程序无法像html中,在页面中直接parseInt() index.wxml {{price | Int}} 小程序还有另一种处理方法 wxs 是一种类似于js脚本的东西 filters.wxs v ...
- 小程序在wxml页面格式化类似的2019-02-16T10:54:47.831000时间
其实新建小程序的时候,会有一个util.js文件,这个文件里已经有时间格式化的方法了,可是它却不能再wxml页面调用, 不过wxml页面是支持引入.wxs文件的,我们重新写一个这样子的工具文件就解决了 ...
- 微信小程序 text属性设置 WXSS样式
>微信小程序的布局css样式 参考自 珺L 文字 width: fit-content;font-size:20px; /*设置文字字号*/color:red; ...
- 微信小程序的wxml文件和wxss文件在webstrom的支持
webstrom默认不支持wxml文件和wxss文件,所以要进入设置里面手动添加支持. 对wxml文件的支持: 文件 -> 设置 -> 编辑器 -> 文件类型, 然后选择XML文件, ...
- MFC小程序02————— 不规则窗体小应用程序
什么不说了.先上程序截图: 执行结果是有一棵有星星在闪烁的圣诞树.还会循环播放背景音乐. 之前也是在网上看到类似的一个程序.然后自己近期也在学MFC.所以就模仿着写了一个, 当中使用的是GDI+来显示 ...
- 微信小程序 之wxml保留小数点后两位数的方法及转化为字符串的方法
原理:wxml中不能直接使用较高级的js语法,如‘.toFixed’,‘toString()’,但可以通过引入wxs模块实现效果 1.新建`filter.wxs` var filters = { ...
随机推荐
- Spring AOP schema找不到报错 原
转自:https://my.oschina.net/zetaplusae/blog/144821 使用jersey+spring构建RESTful服务,并将应用部署在不能连接外网的服务器上.部署时,报 ...
- Eclipse中删除导入的jar包,总是报错?已解决!
参考百度经验 http://jingyan.baidu.com/article/851fbc37c7512e3e1f15abec.html
- c语言sscanf总结
1函数原型 int scanf(const char *format,[,argument]...) extern int sscanf(_const char*_restrict_s,const c ...
- 任务24:WebHost的配置
24 任务24:WebHost的配置 创建HelloCore的项目 我们新建一个空的mvc项目 我们在这里调用COnfigureAppConfiguration方法更改默认的配置.为读取setting ...
- XTU1266:Parentheses(贪心+优先队列)
传送门 题意 从左到右有n个连续的组,每一组有Li个括号,要么全是左括号,要么全是右括号,以及该组的每一个左括号翻成右括号, 或者右括号翻成左括号的花费Di.可以对这n个组的括号进行翻转,每一个括号都 ...
- Ecliplse 指定JRE
http://blog.csdn.net/hongweigg/article/details/9987649 在Eclipse启动的过程中,它会去找系统环境变量设置的JRE_HOME或JDK_HOME ...
- Python基础知识(1)
Python 3 1:print:输出信息 例子: ( 所有的标点符号都要是英文状态下输入,要不然会报错) print(“hello world”) 2:注意 : python 和 pyth ...
- vs2015未能正确加载“ProviderPackage”包
出现以下错误的解决方案 ---------------------------Microsoft Visual Studio---------------------------未能正确加载“Prov ...
- scikit-learning教程(二)统计学习科学数据处理的教程
统计学习:scikit学习中的设置和估计对象 数据集 Scikit学习处理来自以2D数组表示的一个或多个数据集的学习信息.它们可以被理解为多维观察的列表.我们说这些阵列的第一个轴是样本轴,而第二个轴是 ...
- The Specials Menu LightOJ - 1025
The Specials Menu LightOJ - 1025 题意:在给定的字符串中删去一些字符,使其成为回文串(不能全部都删).求方案数. 方法:常规的区间dp.ans[i][j]表示在i到j的 ...