小程序:常用wxss样式

来自CloudWiki
跳转至: 导航搜索

小程序尺寸单位

尺寸单位(px和rpx)

px(pixel):物理像素,设备的实际分辨率,也叫设备像素或绝对像素,用 px 表示一个像素点单位。

rpx(responsive pixel): 逻辑分辨率,可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。

Wx2-21.png

注意: 在较小的屏幕上不可避免的会有一些毛刺,开发时尽量避免这种情况

wxml:

<view class="text_2">你好</view>
     <view class="text_3">你好</view>

注意:缩进。点右键,能够格式化代码。

wxss:

.text_2{
  text-align:center;
  background-color:yellow;
  margin:40px 40px;
}
.text_3{
  text-align:center;
  background-color:yellow;
  margin:40rpx 40rpx;
}

把手机类型改一下。text_2 和text_3会不一样,这是绝对大小 和相对大小的一个关系。

rpx好处:对不同机型能够自适应。

wxss样式大全:https://www.cnblogs.com/yang-shuai/p/6899430.html



常用wxss样式

wxss文本属性(text)

color 设置文本颜色(网络安全颜色)

direction 设置文本方向。 ltr:文本方向从左到右;rtl:文本方向从右到左

letter-spacing 设置字符间距

line-height 设置行高

text-align 对齐元素中的文本

wxss字体属性(font)

网络安全字体

font 在一个声明中设置所有字体属性

  font:font-style font-variant font-weight font-size/line-height font-family(按顺序)

font-style 指定文本的字体样式

normal 默认值。浏览器显示一个标准的字体样式。
italic 浏览器会显示一个斜体的字体样式。
oblique 浏览器会显示一个倾斜的字体样式。
inherit 规定应该从父元素继承字体样式。

font-weight 指定字体的粗细

normal 默认值。定义标准的字符。
bold 定义粗体字符。
bolder 定义更粗的字符。
lighter 定义更细的字符。
inherit 规定应该从父元素继承字体的粗细。


font-size 指定文本的字体大小

smaller 把 font-size 设置为比父元素更小的尺寸。
larger 把 font-size 设置为比父元素更大的尺寸。
length 把 font-size 设置为一个固定的值。
% 把 font-size 设置为基于父元素的一个百分比值。

font-family 指定文本的字体系列

wxss margin(外边距)(margin)

属性 	说明 	语法(属性值)
margin 	在一个声明中设置所有外边距属性。 	margin:10px 5px 15px 20px;(上边距,右边距,下边距,左边距)
margin-top 	设置元素的上外边距。
margin-right 	设置元素的右外边距。
margin-bottom 	设置元素的下外边距。
margin-left 	设置元素的左外边距


wxss padding(填充)(padding)

属性 	说明 	语法(属性值)
padding 	使用缩写属性设置在一个声明中的所有填充属性 	padding:10px 5px 15px 20px;(上填充,右填充,下填充,左填充)
padding-top 	设置元素的顶部填充。
padding-right 	设置元素的右部填充
padding-bottom 	设置元素的底部填充
padding-left 	设置元素的左部填充
===wxss background(背景)===
 <nowiki>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 背景图像填充框的相对位置

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 上右下左边框颜色

示例

index.wmxl:

<view class="text_1">
  <view class="text_2">你好</view>
  <view class="text_2">你好</view>
  <view class="text_2">你好</view>
</view>

index.wxss:

/* pages/news/index.wxss */
.text_1{
  width:500rpx;
  height:auto;
  border:4rpx solid green;
  margin-left:50rpx;
}

.text_2 {
  text-align: center;
  background-color: yellow;
  margin: 20px 20px;
  border: 3rpx dashed red;
  padding: 20rpx 20rpx;
}

Wexin220114.png

wxss 轮廓(outline)

属性 	说明 	语法(属性值)
outline 	在一个声明中设置所有的外边框属性 	outline: outline-color, outline-style, outline-width
outline-color 	设置外边框的颜色
outline-style 	设置外边框的样式。 	属性值:solid,dashed,dotted,double等
outline-width 	设置外边框的宽度 	属性值:thin medium thick length

例:outline: dotted 10rpx green;

wxss display(显示)

display:

inline 	此元素会被显示为内联元素,元素前后没有换行符
block 	此元素将显示为块级元素,此元素前后会带有换行符
inline-block 	行内块元素
flex 	多栏多列布局 	flex-direction:row/column

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 属性的值。


案例2

WXML:

<!--pages/yes/yes.wxml-->
<view class="container">
    <image class="avatar" src="/images/2.png"></image>
    <text class="motto">Hello ,大家好 !</text>
    <view>
      <text>开启小程序之旅</text>
    </view>
</view>

WXSS:

.motto{
  color:#666;
  margin-top:100rpx;
  font-size: 32rpx;
  font-weight: bold;
}

组件水平居中

align-items: center;

/* pages/yes/yes.wxss */
.container{
  display:flex;
  flex-direction: column;
  align-items: center;
}
.avatar{
  width:274rpx;
  height:271rpx;
  margin-top:160rpx;
}

文字水平居中

text-align:center; 文字水平居中

wxml:

<!--pages/yes/yes.wxml-->
<view class="container">
    <image class="avatar" src="/images/2.png"></image>
    <text class="motto">Hello ,大家好 !</text>
    <view class="journey-container">
      <text class="journey">开启小程序之旅</text>
    </view>
</view>

wxss:

.journey-container{
  border:1px solid #405f80;
  width:200rpx;
  height:80rpx;
  border-radius: 5px; 
  text-align:center;
}
.journey{
  font-size:22rpx;
  color:#405f80;
  line-height:80rpx;
}

Wexin21041101.png


关于样式更详细的资料,请阅读 微信小程序wxss设置样式 (https://www.cnblogs.com/yang-shuai/p/6899430.html)

wxss: 可查W3school 的css样式。

小程序官方UI库:https://github.com/Tencent/weui-wxss

案例:比大小

wxml

<view>
  <text>请输入第1个数字:</text>
  <input type="number" />
</view>
<view>
  <text>请输入第2个数字:</text>
  <input type="number" />
</view>
<button>比较</button>
<view>
  <text>比较结果:</text>
</view>

wxss:

view {
  margin: 50rpx;
}
input {
  /* width: 600rpx; */
  width: 300px;  /* 此处将原来的600rpx改为300px */
  margin-top: 20rpx;
  border-bottom: 2rpx solid #ccc;
}

button {
  margin: 50rpx;
  color: #fff;
  background: #369;
}

效果:

Wexin2021100901.png

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:多栏多列布局 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 上右下左边框颜色

wxss 轮廓(outline)

属性 	说明 	语法(属性值)
outline 	在一个声明中设置所有的外边框属性 	outline: outline-color, outline-style, outline-width
outline-color 	设置外边框的颜色
outline-style 	设置外边框的样式。 	属性值:solid,dashed,dotted,double等
outline-width 	设置外边框的宽度 	属性值:thin medium thick length

wxss 文本属性(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 	设置字间距

wxss 字体属性(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 	指定文本的字体系列

wxss margin(外边距)(margin)

属性 	说明 	语法(属性值)
margin 	在一个声明中设置所有外边距属性。 	margin:10px 5px 15px 20px;(上边距,右边距,下边距,左边距)
margin-top 	设置元素的上外边距。
margin-right 	设置元素的右外边距。
margin-bottom 	设置元素的下外边距。
margin-left 	设置元素的左外边距


wxss padding(填充)(padding)

属性 	说明 	语法(属性值)
padding 	使用缩写属性设置在一个声明中的所有填充属性 	padding:10px 5px 15px 20px;(上填充,右填充,下填充,左填充)
padding-top 	设置元素的顶部填充。
padding-right 	设置元素的右部填充
padding-bottom 	设置元素的底部填充
padding-left 	设置元素的左部填充

 

wxss 选择器

选择器 	样例 	样例描述
.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文档:http://www.w3cschool.cn/css/css-tutorial.html I 对于微信小程序的文档手册可参考以下链接:

http://www.w3cschool.cn/weixinapp/9wou1q8j.html

图标素材:https://www.iconfont.cn/plus