对于css不熟悉的Android程序员来说,开发微信小程序面临的一个比较困难的问题就是界面的排版了。微信小程序的排版就跟wxml和wxss有关了,它们两者相当于android的布局文件,其中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

wxml理解起来容易,但光搭好了框架,并不能达到我们想要的界面效果,这就需要用到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

作为内联表格来显示(类似

inline-flex

将对象作为内联块级弹性伸缩盒显示

none

此元素不会被显示

block

此元素将显示为块级元素,此元素前后会带有换行符

list-item

此元素会作为列表显示

table

会作为块级表格来显示(类似

table-caption

作为一个表格标题显示(类似

)

table-cell

作为一个表格单元格显示(类似

和 )

table-column

作为一个单元格列显示(类似

)

table-column-group

作为一个或多个列的分组来显示(类似

)

table-row

作为一个表格行显示(类似

)

table-row-group

作为一个或多个行的分组来显示(类似

)

table-header-group

作为一个或多个行的分组来显示(类似 )

table-footer-group

作为一个或多个行的分组来显示(类似

)

inherit

从父元素继承 display 属性的值

flex:多栏多列布局 http://www.360doc.com/content/14/0811/01/2633_400926000.shtml

二、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组件前边插入内容

有一些属性值太多且实际应用的比较少 可以参考w3cschool的css文档:

对于微信小程序的文档手册可参考以下链接:

wxml修改样式_微信小程序wxml和wxss样式相关推荐

  1. 微信小程序的多选改变样式_微信小程序button选中改样式-实现单选/多选

    小程序实现多button单选/多选 红色为选中状态 单选 多选 ①wxss /* pages/button-select/button-select.wxss */ .button_container ...

  2. wxml修改样式_微信小程序 动态绑定事件并实现事件修改样式

    微信小程序 动态绑定事件并实现事件修改样式 实例代码 wxml {{item.name}} js var reportTypeList = [ { name: "日报1", id: ...

  3. wxss 点击样式_微信小程序点击控件修改样式实例详解

    微信小程序点击控件修改样式实例详解 现在要在微信小程序中实现点击控件修改样式,如下: 微信小程序中不支持直接操作dom,要实现这种效果,我们需要通过设置data,然后利用数据和界面的双向绑定来实现它. ...

  4. 微信小程序进度条样式_微信小程序组件progress进度条解读和分析

    progress进度条组件说明: 进度条,就是表示事情当前完成到什么地步了,可以让用户视觉上感知事情的执行. progress进度条是微信小程序的组件,和HTML5的进度条progress类似. pr ...

  5. ithoughts怎么自定义样式_微信小程序自定义导航栏组件封装

    相信很多小伙伴在开发微信小程序的时候都会有自定义顶部导航栏的需求,不够要说明的是小程序右上角的胶囊是不能自定义的哦,除了胶囊其他地方都是可以根据自己的项目而定了,在一次小程序开发中就需要对顶部进行自定 ...

  6. wxml 判断 小程序_微信小程序wxml数据绑定总结

    今天系统的记录一下wxml的数据绑定功能.吐舌头 首先给出要用到的wxss样式文件 /* pages/wxml/wxml.wxss */ .wxml-container{ padding: 0 20r ...

  7. 【微信小程序】关于wxss样式的便捷设置

    我们在使用别人的小程序时总会看到一些自己十分心仪的小程序样式,可到自己模仿实践的时候会发现也非易事,所以下面提供了一种快捷的方法. 第一步,打开设计软件Pixso Pixso,一款用于设计各类页面的网 ...

  8. 微信小程序的多选改变样式_微信小程序radio的样式修改

    效果图 代码 html部分 {{item.text}} css部分 radio .wx-radio-input.wx-radio-input-checked { border-color: #cc00 ...

  9. 微信小程序进度条样式_微信小程序——自定义圆形进度条

    无图无真相中比需抖接朋功要朋插,先上图: 实现体朋几一级发等点确层数框的很屏果行4带域思路,先绘制底层的灰色圆圈背景,再绘制上层的直分调浏器代,刚求的一学础过功互有解小久宗点差维含数如数围请蓝色进度条 ...

最新文章

  1. POJ 1207 The 3n + 1 problem
  2. 快快: 一点即玩的游戏客户端平台
  3. wordpress前台编辑文章_9款 WordPress 最美极简主题推荐
  4. 简单入门——深度学习笔记(Part II)
  5. iview table后端分页 多选 翻页选中回显
  6. java swing 一闪而过_Java代码,为什么图形会一闪而过,怎么修改?
  7. 缓存 负载均衡_使用“针对临时工作负载优化”选项来保存计划缓存存储
  8. [转载] JAVA中transient 关键字
  9. Ubuntu 16.04.4 LTS下安装JDK
  10. 2021-01-29 大数据课程笔记 day9
  11. CSDN账号,你需要不
  12. 数学分析教程(科大)——3.4笔记+习题
  13. 学生环境保护绿色家园 WEB静态网页作业模板 大学生环境保护网页代码 dreamweaver网页设计作业制作 dw个人网页作业成品
  14. win10系统电脑IP地址怎么查找,教程来啦,Windows10系统如何查找ip地址
  15. 【渗透技巧】pop3协议渗透
  16. TGA格式图片文件分析
  17. 旁注攻击和CDN,绕过cdn找真实IP
  18. 微信公众号代运营的的技巧有哪些(6)
  19. 18在protel DXP中PCB图中给电路板绘制边框、安装孔的方法介绍成都电路板设计
  20. Nonlinear Schrodinger equations on the torus

热门文章

  1. 名编辑电子杂志大师教程 | 如何给电子期刊增加新的页面?
  2. Taichi + PyTorch
  3. f1c100s入坑笔记(4)-uboot学习stepbystep-1
  4. 二叉树层序遍历分层[递归迭代两种思想+三种解法]
  5. 共享系统开发异业联盟怎么做?
  6. bitlocker加密好慢_如何加密磁盘?(适用于全平台)
  7. MPP架构 分布式架构
  8. Intel Optane(tm) Memory Pinning ,无法加载 DLL ´iaStorAfsServiceApi.dll´ : 找不到指定的模块。
  9. 均衡发展计算机室一机一册,义务均衡发展功能室管理指导意见
  10. 孕酮PEG偶联物:mPEG Progestrone,PEG Progestrone,甲氧基聚乙二醇孕酮