先来看一段样式,在wxss中
page{
background-color: cadetblue;
background-image: url(../../../image/weixin_logo.png);
background-repeat:repeat-x;
background-position-y: top;
}
注意,page前面并没有小数点,而且也不用被调用,它会自动被框架调用,使用里面的属性来设置当前页面。
设置背景色,这里设置的是界面的背景色,也可以是设置组件的背景色。既可以直接使用色值,如#ffffff,也可以使用小程序中内置的一些设置了别名的色值,如上面的cadetblue。
设置背景图片,使用url(../../../image/weixin_logo.png),将图片地址当参数传入即可。
背景图片的重复类型,有以下几个值
background-repeat属性必须放在background-image属性后面,如果放在它的前面,background-repeat就不起作用。
设置背景图在x方向上的位置:background-position-x
设置背景图在y方向上的位置:background-position-y
设置背景图的位置:background-position
注意,background-position的2个参数值之间用空格分割,并不是逗号
再来看一下其它的background属性,先看background-size
page{
background-color: cadetblue;
background-image: url(../../../image/weixin_logo.png);
background-repeat:no-repeat;
background-size: auto;
}
background-size属性用来设置背景图片的尺寸大小,有3个值可供选择
3个属性的效果图如下,auto(左),contain(中),cover(右)
background-clip属性,有3个值
<view class="demo-view-2">
<image class="image-1" src="{{urll}}">image>
view>
.demo-view-2{
background-color: darkblue;
height: 1050rpx;
display: flex;
align-items: center;
justify-content: center;
}
.image-1{
background-image:url(../../../image/weixin_logo.png);
background-repeat: no-repeat;
border-radius: 50%;
width: 200rpx;
height: 200rpx;
background-color: white;
padding: 100rpx;
background-clip:border-box;
}
下图是运行效果,padding-box(左),content-box(中),border-box(右)
比较容易看出content-box的意思。padding-box和border-box不知道有什么区别。
在写background-image时,之前里面有一个background属性,放在它前面,后面的background会把前面的background-image洗掉。
background-origin设置背景图像的起点,有3个可选值
<view class="demo-view-2">
<image class="image-1">image>
view>
.demo-view-2{
background-color: darkblue;
height: 1050rpx;
display: flex;
align-items: center;
justify-content: center;
}
.image-1{
background-image:url(../../../image/weixin_logo.png);
background-repeat: no-repeat;
border-radius: 50%;
width: 200rpx;
height: 200rpx;
background-color: white;
padding: 100rpx;
background-clip:border-box;
background-origin: padding-box;
}
下图是运行效果,padding-box(左),content-box(中),border-box(右)
background-attachment属性,指定对象的背景图像是随对象内容滚动还是固定的。有3个值可选。
<view class="demo-view-2">
<image class="image-1">image>
view>
.demo-view-2{
background-color: darkblue;
height: 1030rpx;
display: flex;
align-items: center;
justify-content: center;
}
.image-1{
background-image:url(../../../image/weixin_logo.png);
background-repeat: no-repeat;
width: 750rpx;
height: 700rpx;
background-color: white;
padding: 100rpx;
background-attachment: fixed;
}
运行效果图如下,fixed(左),scroll(中),local(右)
scroll和local的区别暂不清楚。
background属性,相当于上面所有以background-开头的属性的合集。比如
page{
background: white url(../../../image/weixin_logo.png) no-repeat;
}
它等同于
page{
background-color: white;
background-image: url(../../../image/weixin_logo.png);
background-repeat:no-repeat;
}
background使用时,各个属性之间用空格分割,并不是用逗号。
opacity,设置对象的不透明度。取值范围为0.0-1.0。1.0为完全不透明,0.0为完全透明。
<view class="demo-view-2">
<text class="image-2">123456789text>
view>
.demo-view-2{
background-color: darkblue;
height: 1030rpx;
display: flex;
align-items: center;
justify-content: center;
}
.image-2{
width: 250rpx;
height: 250rpx;
background-color: white;
opacity: 0.3;
}
下面是opacity=0.3,opacity=0.6,opacity=1.0的效果图。
color,设置文本对象的颜色,可以是颜色别名,rgb,rgba,hex,hsl,hsla,transparent等。
<view class="demo-view-2">
<text class="image-2">123456789text>
view>
.demo-view-2{
background-color: white;
height: 1030rpx;
display: flex;
justify-content: center;
}
.image-2{
width: 250rpx;
height: 250rpx;
color:rgb(255,0,0);
}
css中有各种颜色,请点击这里。
border可以设置3个属性值,style,length,color,其中length就是指宽度,color是颜色,style包含10种类型,如下:
<view class="demo-view-2">
<text class="border-1">我是dottedtext>
<text class="border-2">我是dashedtext>
<text class="border-3">我是solidtext>
<text class="border-4">我是doubletext>
<text class="border-5">我是groovetext>
<text class="border-6">我是ridgetext>
<text class="border-7">我是insettext>
<text class="border-8">我是outsettext>
<text class="border-9">我是nonetext>
<text class="border-10">我是hiddentext>
view>
.demo-view-2{
background-color: white;
height: 1030rpx;
display: flex;
justify-content: center;
flex-direction: column;
flex-wrap: wrap;
}
.border-1{
text-align: center;
margin: 20rpx;
border: dotted #00ff00 10rpx;
}
.border-2{
text-align: center;
margin: 20rpx;
border: dashed #00ff00 10rpx;
}
.border-3{
text-align: center;
margin: 20rpx;
border: solid #00ff00 10rpx;
}
.border-4{
text-align: center;
margin: 20rpx;
border: double #00ff00 10rpx;
}
.border-5{
text-align: center;
margin: 20rpx;
border: groove #00ff00 10rpx;
}
.border-6{
text-align: center;
margin: 20rpx;
border: ridge #00ff00 10rpx;
}
.border-7{
text-align: center;
margin: 20rpx;
border: inset #00ff00 10rpx;
}
.border-8{
text-align: center;
margin: 20rpx;
border: outset #00ff00 10rpx;
}
.border-9{
text-align: center;
margin: 20rpx;
border: none #00ff00 10rpx;
}
.border-10{
text-align: center;
margin: 20rpx;
border: hidden #00ff00 10rpx;
}
除了直接使用border属性一起设置style,color,width外,还能单独设置。
还可以单独设置一边,分为4组。
另外,还可以单独设置一条边,如下
设置上面top的:
border-top: teal 10rpx solid;
border-top-color:teal;
border-top-width: 10rpx;
border-top-style: solid;
上面2种写法效果一样。
设置左边left的
border-left: green 10rpx solidl;
border-left-color:green;
border-left-style: solid;
border-left-width: 10rpx;
上面2种写法效果相同
设置下面bottom的
border-bottom: red 10rpx solid;
border-bottom-color: red;
border-bottom-style: solid;
border-bottom-width: 10rpx;
上面2种写法效果相同
设置右侧right的
border-right: black 10rpx solid;
border-right-color: black;
border-right-style: solid;
border-right-width: 10rpx;
上面2种写法效果相同
除了style,width,color外,还有圆角属性
border-radius: 30rpx 30rpx 30rpx 30rpx;
border-top-left-radius: 30rpx;
border-top-right-radius: 30rpx;
border-bottom-left-radius: 30rpx;
border-bottom-right-radius: 30rpx;
上面2种写法效果相同
下面是一个示例
<view class="demo-view-2">
<text class="border-w">我是wisely_1text>
<text class="border-x">我是wisely_2text>
view>
.demo-view-2{
background-color: white;
height: 1030rpx;
display: flex;
flex-direction: column;
justify-content: center;
}
.border-w{
border-width: medium;
border-style: solid;
border-color: gold;
/*border-radius: 30rpx 30rpx 30rpx 30rpx;*/
border-top-left-radius: 30rpx;
border-top-right-radius: 30rpx;
border-bottom-left-radius: 30rpx;
border-bottom-right-radius: 30rpx;
}
.border-x{
/*border-top: teal 10rpx solid;*/
border-top-color:teal;
border-top-width: 10rpx;
border-top-style: solid;
/*border-left: green 10rpx solidl;*/
border-left-color:green;
border-left-style: solid;
border-left-width: 10rpx;
/*border-bottom: red 10rpx solid;*/
border-bottom-color: red;
border-bottom-style: solid;
border-bottom-width: 10rpx;
/*border-right: black 10rpx solid;*/
border-right-color: black;
border-right-style: solid;
border-right-width: 10rpx;
margin-top: 100rpx;
}
该属性也有一系列子属性,不过经测试,没有效果,暂时不列。
box-shadow属性的设置有6个值,最后一个可以不设置
为一个text设置如下样式
.border-w{
margin: auto;
background-color: tan;
width: 300rpx;
height: 300rpx;
text-align: center;
box-shadow: 20rpx 20rpx 0rpx 20rpx #ff0000 inset;
}