舟山闪爸电子技术有限公司

微信小程序設(shè)置圖片固定比例

今天介紹一個(gè)讓圖片在任何容器都保持固定比例的方法。

有時(shí)我們的圖片并不是同一個(gè)比例,但是我們需要設(shè)置圖片保持一個(gè)固定的比例,在小程序里面因?yàn)閷挾裙潭?50rpx,所以我們?nèi)绻枰O(shè)置寬高比為2 : 1的話直接設(shè)置圖片css的寬為一個(gè)固定值,然后高為固定值一半就行了。這樣在不同的屏幕下都能保持設(shè)定的比例。

但是這樣并不是很方便,比如我想封裝一個(gè)自定義組件,作為列表的Cell(我是iOS開(kāi)發(fā)來(lái)著。。。),我只要設(shè)置列表的寬度,Cell里面圖片寬度和高度就定下來(lái)了。

微信小程序設(shè)置圖片固定比例

調(diào)用js操作DOM

在小程序內(nèi)無(wú)法直接操作DOM,但是微信也是提供了接口的:wxml節(jié)點(diǎn)信息API

1.沒(méi)有封裝組件時(shí),我們可以在js文件中的onShow方法中使用:


  1. onShow: function() {
  2. var that = this
  3. var query = wx.createSelectorQuery()
  4. query.select("#image").boundingClientRect(function(res) {
  5. console.log(res.width)
  6. that.setData({
  7. height: res.width * 0.5 + 'px'
  8. })
  9. }).exec()
  10. }

在css中設(shè)置圖片的寬width:100%,在wxml中設(shè)置圖片:

 

  1. <image class='image' id='image' src='{{imageUrl}}' mode='aspectFill' style='height:{{height}}'></image>

此時(shí),當(dāng)我們?cè)O(shè)置圖片父視圖的寬為任意值,圖片都會(huì)保持2:1的比例。

2、在自定義組件中,我們需要在ready方法中使用:

 

  1. ready:function() {
  2. var that = this
  3. var query = wx.createSelectorQuery().in(this) //此處多了in(this)
  4. query.select("#image").boundingClientRect(function(res) {
  5. console.log(res.width)
  6. that.setData({
  7. height: res.width * 0.5 + 'px'
  8. })
  9. }).exec()
  10. }

組件內(nèi)CSS和WXML中設(shè)置和上方一樣。

這里有一個(gè)封裝好的組件的簡(jiǎn)單DEMO:

 

微信小程序設(shè)置圖片固定比例

將封裝好的組件放到scrollView內(nèi)

 

微信小程序設(shè)置圖片固定比例

將封裝好的組件放到列表頁(yè)內(nèi)

只要設(shè)定好組件的樣式,里面圖片以及內(nèi)容都能完美適配。

小程序工具提供多類(lèi)型商城/門(mén)店小程序制作,可視化編輯 1秒生成5步上線。通過(guò)拖拽、拼接模塊布局小程序商城頁(yè)面,所看即所得,只需要美工就能做出精美商城。更多小程序商店請(qǐng)查看:小程序商店

微信小程序設(shè)置圖片固定比例


【本站聲明】
  1、本站文章中所選用的圖片及文字來(lái)源于網(wǎng)絡(luò)以及用戶(hù)投稿,由于未聯(lián)系到知識(shí)產(chǎn)權(quán)人或未發(fā)現(xiàn)有關(guān)知識(shí)產(chǎn)權(quán)的登記,如有知識(shí)產(chǎn)權(quán)人并不愿意我們使用,如果有侵權(quán)請(qǐng)立即聯(lián)系。
  2、本網(wǎng)站不對(duì)文章中所涉及的內(nèi)容真實(shí)性、準(zhǔn)確性、可靠性負(fù)責(zé),僅系客觀性描述,如您需要了解該類(lèi)商品/服務(wù)詳細(xì)的資訊,請(qǐng)您直接與該類(lèi)商品/服務(wù)的提供者聯(lián)系。


KESION 科汛軟件

KESION 科汛軟件是國(guó)內(nèi)領(lǐng)先的在線教育軟件及私域社交電商軟件服務(wù)提供商,長(zhǎng)期專(zhuān)注于為企業(yè)提供在線教育軟件及社交電商SaaS平臺(tái)解決方案。
公司核心產(chǎn)品云開(kāi)店SaaS社交電商服務(wù)平臺(tái)、在線教育SaaS服務(wù)平臺(tái)、教育企業(yè)數(shù)字化SaaS云平臺(tái)、企微營(yíng)銷(xiāo)助手、私有化獨(dú)立部署品牌網(wǎng)校和在線教育咨詢(xún)等。

KESION 不斷通過(guò)技術(shù)創(chuàng)新,提供產(chǎn)品和服務(wù),助力企業(yè)向數(shù)字化轉(zhuǎn)型,通過(guò)科技驅(qū)動(dòng)商業(yè)革新,讓商業(yè)變得更智慧!



▼點(diǎn)擊進(jìn)入科汛官網(wǎng)了解更多



熱門(mén)標(biāo)簽
微信小程序 SaaS
上/下篇
  • 小小簽到小程序系統(tǒng)功能開(kāi)發(fā)

  • 小程序驗(yàn)證碼倒計(jì)時(shí)獲取方式

換一換相關(guān)推薦
精選內(nèi)容
熱點(diǎn)精選