|
分享者:武兵,來自公眾號(hào)圖說前端
需求:
1.左側(cè)頭像和右側(cè)按鈕區(qū)域?qū)挾裙潭ā?nbsp;
2.文字內(nèi)容區(qū)域高度寬度自動(dòng)。
3.3個(gè)區(qū)塊垂直居中對(duì)齊。
4.頭像和文字區(qū)域加鏈接。
5.按鈕另外加鏈接。

實(shí)現(xiàn)示意圖:

1.因?yàn)轭^像和文字區(qū)域要加鏈接,所以裝在一個(gè)navigator,關(guān)注按鈕是右側(cè)navigator。
2.左側(cè)的navigator中再分頭像和文字區(qū)域。
wxml:
-
<!--小程序中沒有列表元素,用view-->
-
<view class="anglesList">
-
<navigator url="http://xwbline.com/" class="anglesNavigator">
-
<--圖片套個(gè)view是為了漸變的邊框(其實(shí)是背景色漸變,border-radius后border寫不上漸變)。-->
-
<view class="imgBox">
-
<image src=" " mode="aspectFill"></image>
-
<--images中的mode="aspectFill"讓圖片保持縱橫比縮放,讓圖片的短邊能完全顯示出來。確保取到的圖片不是正方形時(shí)不留空白。-->
-
</view>
-
<view class="textBox">
-
<text class="name">姓名</text>
-
<text class="companyName">公司名職位名</text>
-
<text class="num">已有600人關(guān)注</text>
-
</view>
-
</navigator>
-
<navigator url="http://xwbline.com/" class="btnFollowed">關(guān)注</navigator>
-
</view>
wxss: 只寫主要的樣式。
-
.anglesList{
-
display:flex;//使用flex布局
-
align-items:center;//子元素在垂直方向居中對(duì)齊
-
padding:25rpx 25rpx 25rpx 0;//留出邊距
-
margin-left:25rpx;//其實(shí)可以寫在內(nèi)邊距中
-
border-bottom:1px solid #f1f1f1;
-
}
-
//anglesList的子元素指兩個(gè)navigator
-
-
//頭像和內(nèi)容區(qū)域
-
.anglesList .anglesNavigator{
-
display:flex;//頭像和內(nèi)容區(qū)域啟動(dòng)flex布局
-
align-items:center;//子元素在垂直方向居中對(duì)齊
-
flex-grow:1;//放大,占據(jù)剩余的空間
-
}
-
-
//頭像父層
-
.anglesList .imgBox{
-
flex:0 0 110rpx;//flex 是flex-grow, flex-shrink 和 flex-basis的簡寫。flex:0 0 110rpx的意思是不放大 不縮小 固定寬度是110rpx
-
width:110rpx;
-
height:110rpx;
-
border-radius:50%;
-
padding:5rpx;
-
margin-right:20rpx;
-
background:linear-gradient(#fff,#6a6969);
-
}
-
-
//頭像
-
.anglesList .imgBox image{
-
width:110rpx;
-
height:110rpx;
-
border-radius:50%;
-
}
-
-
//文字區(qū)域
-
.anglesList .textBox{
-
flex-grow:1;//放大,占據(jù)剩余的空間。
-
}
-
-
//文本限制寬度,超出隱藏
-
.anglesList text{
-
display:block;
-
max-width:12em;
-
overflow:hidden;
-
white-space:nowrap;
-
text-overflow:ellipsis;
-
}
-
-
//按鈕
-
.btnFollow{
-
flex-basis:140rpx; //指定寬度,也可以寫width
-
height:46rpx;
-
border:1px solid #007ae8;
-
border-radius:24rpx;
-
background:#fff;
-
text-align:center;
-
font-size:28rpx;
-
line-height:46rpx;
-
color:#007ae8;
-
}
|