在网上下载一个小程序源码,排版样式挺好看的,参照着写了几个例子。
1、例子1效果图
代码实现
(1)全局样式app.wxss
@import 'style/weui.wxss';
page{
background-color: #F8F8F8;
font-family: -apple-system-font,Helvetica Neue,Helvetica,sans-serif;
}
.text-center{text-align: center;}
/* 字体大小规范 */
.font-lv1{font-size: 36rpx !important;}
.font-lv2{font-size: 32rpx !important;}
.font-lv3{font-size: 28rpx !important;}
.font-lv4{font-size: 24rpx !important;}
.font-lv5{font-size: 20rpx !important;}
.strong{font-weight: bold;}
/* margin */
.mgt-15rpx{margin-top: 15rpx;}
.mgb-15rpx{margin-bottom: 15rpx;}
.mgl-15rpx{margin-left: 15rpx;}
.mgr-15rpx{margin-right: 15rpx;}
.mgt-30rpx{margin-top: 30rpx;}
.mgb-30rpx{margin-bottom: 30rpx;}
.mgl-30rpx{margin-left: 30rpx;}
.mgr-30rpx{margin-right: 30rpx;}
/* padding */
.pdt-15rpx{padding-top: 15rpx;}
.pdb-15rpx{padding-bottom: 15rpx;}
.pdl-15rpx{padding-left: 15rpx;}
.pdr-15rpx{padding-right: 15rpx;}
.pdt-30rpx{padding-top: 30rpx;}
.pdb-30rpx{padding-bottom: 30rpx;}
.pdl-30rpx{padding-left: 30rpx;}
.plr-30rpx{padding-right: 30rpx;}
/* 颜色规范 */
/* 黑 */
.color-black{color: #000;}
/* 淡黑 */
.color-semi{color: #353535;}
/* 灰色 */
.color-grey{color: #888888;}
/* 浅灰 */
.color-light{color: #b2b2b2;}
/* 绿色 */
.color-green{color: #09bb09;}
/* 红色 */
.color-red{color: #e64340;}
/* 信息提示颜色 */
.color-info,.color-link{color: #00acff;}
/* 背景和边线颜色 */
.bd-color{border-color: #f1f1f1;}
.bg-color{background-color: #f1f1f1;}
.img-responsive{max-width: 100%;}
.img-maxwidth{width: 100%;}
.border-basic{border:1px solid #efefef;}
/* 行高 line-height */
.lh-100{line-height: 100%;}
.lh-150{line-height: 150%;}
.lh-170{line-height: 170%;}
.lh-180{line-height: 180%;}
.lh-200{line-height: 200%;}
/* 圆角 */
.radius-basic,.cover{border-radius: 6rpx;}
.radius-circle{border-radius: 100%;}
/* 过渡动画 */
.transition{
transition: all 0.5s;
}
.row {
display: flex;
flex-wrap: wrap;
}
.col {
flex-basis: 0;
flex-grow: 1;
max-width: 100%;
}
.col-1 {
flex: 0 0 8.333333%;
max-width: 8.333333%;
}
.col-2 {
flex: 0 0 16.666667%;
max-width: 16.666667%;
}
.col-3 {
flex: 0 0 25%;
max-width: 25%;
}
.col-4 {
flex: 0 0 33.333333%;
max-width: 33.333333%;
}
.col-5 {
flex: 0 0 41.666667%;
max-width: 41.666667%;
}
.col-6 {
flex: 0 0 50%;
max-width: 50%;
}
.col-7 {
flex: 0 0 58.333333%;
max-width: 58.333333%;
}
.col-8 {
flex: 0 0 66.666667%;
max-width: 66.666667%;
}
.col-9 {
flex: 0 0 75%;
max-width: 75%;
}
.col-10 {
flex: 0 0 83.333333%;
max-width: 83.333333%;
}
.col-11 {
flex: 0 0 91.666667%;
max-width: 91.666667%;
}
.col-12 {
flex: 0 0 100%;
max-width: 100%;
}
/**app.wxss**/
.box-shadow{
box-shadow: 0px 2px 5px rgba(0,0,0,.1);
}
.base-padding{
box-sizing: border-box;
padding: 0rpx 30rpx;
}
.base-margin-bottom{
margin-bottom: 45rpx;
}
.pull-right{
float: right;
}
.text-right{
text-align: right;
}
.panel-heading{
margin-bottom: 30rpx;
}
/* 显示两行,溢出文字用‘...’替换 */
.ellipsis-1row{
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.ellipsis-2row{
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.ellipsis-3row{
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}
.ellipsis-4row{
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
overflow: hidden;
}
.text-muted{
color: #888888;
font-size: 28rpx;
line-height: 170%;
text-align: left;
}
.cover{border-radius: 6rpx;}
navigator:hover{background: transparent;}
(2)页面文件.wxml
<!-- 搜索框 -->
<view class='search base-padding base-margin-bottom'>
<label>
<icon type='search'></icon>
<input type='search' placeholder="请输入搜索关键字" />
</label>
</view>
<!-- 推荐 -->
<view class='base-padding recommend base-margin-bottom'>
<view class='panel-heading'>
<view class='panel-title font-lv1 strong'>图片推荐
<view class='pull-right font-lv3 color-link'>换一批</view>
</view>
</view>
<view class='panel-body'>
<navigator url="/pages/demo1/demo1">
<image mode='widthFix' class='box-shadow cover' src='../../images/p1.jpg' />
<view class='font-lv3 ellipsis-2row mgt-15rpx'>风景1</view>
</navigator>
<navigator url="/pages/demo1/demo1">
<image mode='widthFix' class='box-shadow' src='../../images/p2.jpg' />
<view class='font-lv3 ellipsis-2row mgt-15rpx'>风景2</view>
</navigator>
<navigator url="/pages/demo1/demo1">
<image mode='widthFix' class='box-shadow' src='../../images/p3.jpg' />
<view class='font-lv3 ellipsis-2row mgt-15rpx'>风景3</view>
</navigator>
</view>
</view>
<!-- 各种分类的展示 -->
<view class='panel base-padding base-margin-bottom cate-data'>
<view class='panel-heading'>
<view class='panel-title font-lv1 strong'>山水风光
<view class='pull-right color-link font-lv3'>更多</view>
</view>
</view>
<view class='panel-body'>
<view class='row'>
<view class='row-left'>
<navigator url="/pages/intro/intro">
<image mode='widthFix' class='box-shadow' src='../../images/p4.jpg' />
</navigator>
</view>
<view class='row-right'>
<navigator url='/pages/intro/intro' class='ellipsis-1row font-lv2'>风光4</navigator>
<view class='text-muted info'>
<view>
<image src='../../images/clock.png'></image>
天前
</view>
<view>
<image src='../../images/eye.png'></image>
阅读
</view>
</view>
<view class='text-muted ellipsis-2row desc'>风景图片风景图片风景图片风景图片
</view>
</view>
</view>
<view class='row'>
<view class='row-left'>
<navigator url="/pages/intro/intro">
<image mode='widthFix' class='box-shadow' src='../../images/p5.jpg' />
</navigator>
</view>
<view class='row-right'>
<navigator url='/pages/intro/intro' class='ellipsis-1row font-lv2'>风光5</navigator>
<view class='text-muted info'>
<view>
<image src='../../images/clock.png'></image>
天前
</view>
<view>
<image src='../../images/eye.png'></image>
阅读
</view>
</view>
<view class='text-muted ellipsis-2row desc'>风景图片风景图片风景图片风景图片
</view>
</view>
</view>
</view>
</view>
(3)页面文件.wxss
.search{
margin-top: 15rpx;
}
.search label{
position: relative;
}
.search icon{
position: absolute;
z-index: 99;
left: 20rpx;
top:20rpx;
font-size: 30rpx;
}
.search input{
height: 90rpx;
line-height: 90rpx;
border-radius: 6rpx;
background: #f8f8f8;
color: #888;
font-size: 32rpx;
padding-left: 90rpx;
}
.recommend .panel-body{
display: flex;
/* justify-content:space-around; */
justify-content: space-between;
}
.panel-body navigator{
width: 30%;
}
.panel-body navigator image{
margin: 0 auto;
display: block;
width: 100%;
border-radius: 6rpx;
}
.recommend .title{
font-size: 28rpx;
color: #666;
text-align: left;
line-height: 160%;
margin-top: 15rpx;
}
.cate-data .row{
display: flex;
flex-direction: row;
margin-bottom: 40rpx;
border-bottom: 1px solid #efefef;
padding-bottom: 40rpx;
}
.cate-data .row:last-of-type{
border-bottom: 0px;
padding-bottom: 0rpx;
margin-bottom: 0rpx;
}
.cate-data .row navigator{
width: 100%
}
.cate-data .row .row-left{
width: 25%;
}
.cate-data .row .row-right{
flex: 1;
box-sizing: border-box;
padding-left: 32rpx;
}
.cate-data .row .info{
margin: 10rpx 0rpx 10rpx;
}
.cate-data .info image{
width: 24rpx; height: 24rpx; position: relative; top:4rpx;
}
.cate-data .desc{
text-indent: 2em;
}
.cate-data .info{
display: flex; flex-direction: row; font-size: 24rpx; color: #b2b2b2;
}
.cate-data .info view{
flex: 1;
}
.cate-data{margin-top: 10rpx;}
2、例子2效果图
(1)全局样式app.wxss见第1个例子
(2)页面文件.wxml
<view class='row info'>
<view class='col-4'>
<image mode='widthFix' class='cover box-shadow' src='../../images/avatar.jpg'></image>
</view>
<view class='col-8'>
<text class='ellipsis-2row font-lv1'>熊猫先生</text>
<view class='score score-50 mgt-30rpx'> <text>5.0 分</text></view>
<view class='mgt-15rpx font-lv3 color-semi'><image class='icon-avatar' src='../../images/me.png' mode='widthFix'></image>熊猫</view>
<view class='progress mgt-30rpx'>
<view class='font-lv3 color-grey'>进度<view class='pull-right'>20%</view></view>
<progress class='mgt-15rpx' percent="20" />
</view>
</view>
</view>
<view class='data'>
<view class='row'>
<view class='col'>
<text class='font-lv3'>10</text>
<text class='text-muted font-lv5'>查看</text>
</view>
<view class='col'>
<text class='font-lv3'>3</text>
<text class='text-muted font-lv5'>收藏</text>
</view>
<view class='col'>
<text class='font-lv3'>2</text>
<text class='text-muted font-lv5'>评论</text>
</view>
</view>
</view>
<view class='intro font-lv3 color-grey'>
历史使人聪明,诗歌使人机智,数学使人精细,哲学使人深邃,道德使人严肃,逻辑与修辞使人善辩。
</view>
<navigator url='/pages/menu/menu' class='menu row'>
<view class='col font-lv3'>查看目录</view>
<view class='col font-lv4 color-grey text-right'>最后更新于:1小时前 ></view>
</navigator>
<view class='panel comments'>
<view class='panel-heading base-padding'>
<view class='panel-title pdt-30rpx strong font-lv2'>评论</view>
</view>
<view class='panel-body base-padding'>
<view class='row comment-list'>
<view class='col-2 comment-left'>
<image class='img-responsive radius-circle border-basic' mode='widthFix' src='../../images/avatar.jpg'></image>
</view>
<view class='col-10 comment-right'>
<view class='row comment-info'>
<view class='col font-lv2 color-semi'>天空</view>
<view class='col'>
<view class='pull-right font-lv4 color-grey'>1小时前</view>
</view>
</view>
<view class='row comment-content color-grey font-lv3 mgt-15rpx'>
感谢分享。
</view>
</view>
</view>
<view class='row comment-list'>
<view class='col-2 comment-left'>
<image class='img-responsive radius-circle border-basic' mode='widthFix' src='../../images/avatar.jpg'></image>
</view>
<view class='col-10 comment-right'>
<view class='row comment-info'>
<view class='col font-lv2 color-semi'>大地</view>
<view class='col'>
<view class='pull-right font-lv4 color-grey'>2小时前</view>
</view>
</view>
<view class='row comment-content color-grey font-lv3 mgt-15rpx'>
楼主好人。
</view>
</view>
</view>
</view>
</view>
(3)页面文件.wxss
page{
padding-bottom: 120rpx;
}
.cate-row .font-lv3{display: inline-block;margin-right: 30rpx;}
.icon-avatar{width: 38rpx;position: relative;top:6rpx;}
.info{padding: 30rpx;padding-top: 10rpx;}
.info .cover{max-width: 100%;}
.title{margin-bottom: 15rpx;min-height: 80rpx;}
.info .col-8{padding-left: 30rpx;box-sizing:border-box;}
.info .col-8 .text-muted{display: block;line-height: 180%;}
.data{margin-bottom: 30rpx;padding: 0rpx 30rpx;}
.data>view{border-bottom: 1px solid #efefef;padding-bottom: 30rpx;}
.data .col{text-align: center;font-size: 28rpx;}
.data .col:nth-of-type(2n){border-left: 1px solid #f1f1f1;border-right: 1px solid #f1f1f1;}
.data .col .text-muted{text-align: center;display: block;}
.btns{
padding: 0rpx 15rpx 30rpx;
border-bottom: 10rpx solid #efefef;
}
.btns .col{
justify-content: space-between;
padding: 0rpx 15rpx;
box-sizing: border-box;
}
.btns .col view{
background-color: #efefef;
text-align: center;
margin:0px auto;
padding: 8rpx 0rpx;
border-radius: 10rpx;
}
/* 书籍介绍 */
.intro{border-bottom: 1px solid #efefef;padding:30rpx;padding-top:0rpx;line-height: 180%;}
/* 目录入口 */
.menu{
padding: 30rpx;font-size: 28rpx;
border-bottom: 10rpx solid #efefef;
}
.user image{
width: 36rpx;height: 36rpx;display: inline-block;
margin-right: 10rpx;
}
.user image.clock{
margin-left: 30rpx;
width: 26rpx;
height: 26rpx;
position: relative;
top:-5rpx;
}
.user .text-muted{display: inline-block;position: relative;top:-7rpx;margin-left: 6rpx;}
/* fix bottom */
.fix-bottom{
position: fixed;
bottom: 0px;
width: 100%;
text-align: center;
background-color: #fff;
box-shadow: 0rpx 0rpx 10rpx #ddd;
height: 90rpx;
}
.fix-bottom .read{
position: relative;
top:-30rpx;
background-color: #1aad19;
color: #fff;
padding-top: 10rpx;
box-sizing: border-box;
height: 110rpx;
width: 110rpx;
margin: 0px auto;
border-radius: 50%;
z-index: 10;
}
.fix-bottom image{
height: 50rpx;
width: 50rpx;
vertical-align: middle;
}
.fix-bottom text{display: block;font-size: 24rpx;}
.item-min{font-size: 26rpx;color: #999;line-height: 100%;padding-top:10rpx;}
.item-min image{width: 40rpx;height: 40rpx;margin-bottom: 4rpx;}
.comments .panel-heading{border-bottom: 1px solid #efefef;padding-bottom: 30rpx;}
.comment-info{line-height: 150%;}
.comment-info .score{margin-top: 6rpx;}
.comment-info .pull-right{margin-top:5rpx;}
.comment-right{padding-left: 30rpx;box-sizing: border-box;}
.comment-list{border-bottom: 1rpx solid #efefef;padding-bottom: 30rpx;margin-bottom: 40rpx;}
3、例子3效果图
(1)全局样式app.wxss见第1个例子
(2)页面文件.wxml
<view class='base-padding row'>
<view class='user'>
<image src='../../images/avatar.jpg'></image>
<view class='username'>昵称</view>
<view class='color-grey font-lv3'>如果你浪费了自己的年龄,那是挺可悲的。因为你的青春只能持续一点儿时间——很短的一点儿时间。</view>
</view>
</view>
<view class='base-padding row base-info'>
<navigator url='/pages/release/release' class='col-12'>
<image src='../../images/book.png'></image>
我的发布
<image class='pull-right' src='../../images/right-angle.png'></image>
</navigator>
<navigator url='/pages/release/release' class='col-12'>
<image src='../../images/star.png'></image>
我的收藏
<image class='pull-right' src='../../images/right-angle.png'></image>
</navigator>
<navigator url='/pages/release/release' class='col-12'>
<image src='../../images/follow.png'></image>
我的关注
<image class='pull-right' src='../../images/right-angle.png'></image>
</navigator>
</view>
(3)页面文件.wxss
page{
background-color: #f6f6f6;
}
.row{
background-color: #fff;
margin-bottom: 10rpx;
padding: 30rpx;
}
.row:last-of-type{
padding-bottom: 80rpx;
margin-bottom: 0rpx;
}
.user{
text-align: center;
}
.user .text-muted{
text-align: center;
}
.username{
margin: 15rpx auto;
}
.user image{
width: 180rpx;
height: 180rpx;
border-radius: 90rpx;
border: 1px solid #f6f6f6;
}
.base-info image{
height: 40rpx;
width: 40rpx;
position: relative;
top:8rpx;
margin-right: 30rpx;
}
.base-info image.pull-right{
margin-right: 0rpx;
}
.base-info{
padding-top: 0rpx;
padding-bottom: 0rpx;
}
.base-info .col-12{
border-bottom: 1px solid #f6f6f6;
padding-bottom: 30rpx;
padding-top: 30rpx;
color: #666;
}
.base-info .col-12:last-of-type{
border-bottom: 0rpx;
margin-bottom: 0rpx;
}
|
请发表评论