微信小程序 CSS 選擇器::after和::before的簡(jiǎn)單使用

前言

前兩天看文檔看到選擇器那塊兒的時(shí)候,前面4個(gè)基本都能理解:.class,#id,elementelement, element,但后面兩個(gè)::after::before(文檔中說(shuō),分別表示在view 組件的后面和前面插入內(nèi)容),表示有點(diǎn)沒有理解。于是上網(wǎng)仔細(xì)查了下。以下是筆記

image

基本概念

  • ::before 用法:view::before,表示在該view組件的前面加入內(nèi)容
  • ::after 用法:view::after,表示在該view組件的后面加入內(nèi)容
  • 這里是雙冒號(hào),不是單冒號(hào)。單冒號(hào)是CSS2的內(nèi)容,雙冒號(hào)是CSS3的內(nèi)容。當(dāng)然微信小程序也是兼容CSS2的寫法的
  • 這種在組件的前面和后面加入內(nèi)容,其實(shí)有點(diǎn)類似Android中的給TextView四周加圖片的做法,setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom)(原諒我這里有點(diǎn)強(qiáng)行建立聯(lián)系的奇怪思路)

用法

wxml

<view class="container">
    <view class="price">{{price}}</view>
</view>

wxss

.container {
  width: auto;
  margin: 30rpx;
  background-color: #fff;
  text-align: center;
}

.price {
  position: relative;
  display: inline-block;
  font-size: 78rpx;
  color: red;
}

.price::before {
  content: "金額:¥";
  position: absolute;
  font-size: 40rpx;
  top: 30rpx;
  left: -160rpx;
  color: black;
}

.price::after {
  content: ".00 元";
  font-size: 30rpx;
  top: 40rpx;
  position: absolute;
  right: -90rpx;
  color: black;
}

js

Page({
  onLoad: function() {
    this.setData({
      price: 100
    })
  }
})

效果

image

其他

其實(shí),after和before可以添加的不僅僅是像上面這種字符串,以下是可以添加的常用的內(nèi)容

  • String 靜態(tài)字符串
  • attr 動(dòng)態(tài)內(nèi)容
  • url/uri 用于引用媒體文件
  • counter 計(jì)數(shù)器,可以實(shí)現(xiàn)序號(hào)功能

具體的請(qǐng)參考這篇文章

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容