/*
1、右边细线边框,使用:伪元素+定位实现
*/
.bg-r{
position: relative;
}
.bg-r::after{
content: "";
width: 1rpx;
height: 100%;
background-color: #f1f1f1;
position: absolute;
right: 0;
top: 0;
}
/*2、中间的分割块*/
.division{
width: 100%;
height: 20rpx;
background-color: #f1f1f1;
box-shadow: 0 5rpx 5rpx rgb(0, 0, 0.1) inset;
}
/* 3、封装右侧小箭头*/
.arrow{
display: flex;
justify-content: space-between;
align-items: center;
}
.arrow::after{
content: "";
width: 15rpx;
height: 15rpx;
border-top: 3rpx solid #ccc;
border-right: 3rpx solid #ccc;
transform: rotate(45deg);
}
//4、控制“★”的显示与不显示
<view class='shop-start'>
<view class='start-after'>★★★★★</view>
<view class='start-before'>★★★★★</view>
</view>
//5、父标签还要加上 position: relative;
.shop-start{
color: #e2e2e2;
right: 20rpx;
top: 20rpx;
border: 1rpx solid #f00;
position: absolute;
width: 150rpx;
}
.start-before{
color: #f19e38;
position: absolute;
left: 0;
top: 0;
width: 70%;
overflow: hidden;
}
/* 6 分装超出宽度加省略号 */
.ell{
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/* 7 加载更多样式封装*/
.loadmore {
color: #888;
font-size: 16px;
line-height: 100rpx;
text-align: center;
}
.loadmore.loading::before {
content: '';
width: 40rpx;
height: 40rpx;
margin-top: -10rpx;
margin-right: 10rpx;
display: inline-block;
vertical-align: middle;
animation: loading 1s steps(12) infinite;
background: transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat;
background-size: 100%;
}
@keyframes loading {
from {
transform: rotate(0deg);
}
to {
transform: rotate(-360deg);
}
}
<view class="loadmore loading">正在加载...</view>
width:组件宽度。百分比情况下会对父组件的总宽度进行百分比换算。单位:1px=2rpx(rpx可以在不同屏幕尺寸的设备上都能尽量保持一样的比例大小。px则不行)%,hv。
height:组件高度。同上。
background-color:所有组件都可以设置背景颜色,就算是text也可以,不过如果没有设置宽高度,就没有办法渲染颜色。变量取值:rgb(a,b,c)(a,b,c取值0~255);#000000~ffffff(十六进制取色),RED/BLUE/PINK(英文单词对应的各种颜色)
display:组件内的元素显示方式。通常设置为flex,使元素更加灵活。
flex-direction:设置为flex后,可以使用该属性。column为列排序;row为行排序。
align-items:各元素在盒子内的位置。center居中,flex-start居首,flex-end居尾。
justify-content:元素周围留白的方式。space-around各元素周围留白。space-between元素与元素之间留白。center元素居中(该属性很厉害)在这里居中的话,align-items就会被屏蔽。
position:规定该元素/盒子定位方式。relative相对定位-以上一层盒子的左上角为(0,0),absolute绝对定位-以整个页面的左上角为(0,0)。fixed黏着定位-以整个页面的左上角为(0,0),不会随着屏幕的滚动而改变位置,悬浮窗、悬浮按钮之类的就是这样做的。
left、right、top、bottom:距离左、由、上、下盒子的距离,用来具体定位元素在盒子里的位置。单位同width。hv似乎不适用,我没有尝试过。设置left的时候就没有必要设置right,因为你只需要让该组件距离left多少,而并不需要知道它距离right多少,同理top、bottom。
z-index:设置该元素/盒子的层次顺序,变量取数字0~无穷大,类似ps中的图层顺序。越大的排在视图的前面,低级的会被高级的遮挡住。悬浮窗、悬浮组件的实现同样需要将顺序设置为全局中最高的。
padding:变量取值: a b c d 。分别代表该元素距离所在盒子的左、上、右、下的内边距距离。也可padding-left/right/top/bottom:a 。具体规定某个方向的内边距距离。
margin:设置外边距。变量取值、具体设置、用法同上。
border-radius:变量取值:a b c d。代表左上、右上、右下、左下角的圆角框的半径。不设置的情况下为0,即该元素/组件为方角。如果只赋值a,则a=b=c=d。单位px、rpx。PS一句复杂定义:如果省略左下角,右上角是相同的。如果省略右下角,左上角是相同的。如果省略右上角,左上角是相同的(官方定义,基本废话难以理解所以可以忽略,因为你完全可以 a 0 b 0这样去赋值,很方便)
border:设置元素/盒子的边框样式。变量取值:a b c。a-边框宽度,b-边框样式,c-边框颜色。border是统一设置四个边框(左右上下)的属性,而border-left/right/top/bottom是具体规定某个边框的样式。PS很重要:如何在屏幕上画一条线??申请一个view,属性设置为border-bottom/left:a b c。bottom为横线,left为竖线。a为线的粗细,b为样式,c为颜色。bottom的时候该view的width要设置为你想要的线的长度;而left的时候该view的height要设置为你想要的线的高度。如果不设置width/height的话,则会继承父容器的width/height。
opacity:元素的不透明级别,取值0.0~1.0,对应完全透明~完全不透明。运用:opacity+positio+z-index去规定一个view容器,就可以做屏幕上的遮罩层,再用background-color+width+height,去规定容器的颜色、大小。
font:设置字体属性,所有的组件中只要含有字体元素都可以使用该属性,比如input、button、view等等。常用四种:font-size:大小;color:颜色;font-style:字体样式;font-width:字体粗细。
line-height:常用于button中,设置按钮内字体的高度。
网友评论