小程序scroll-view垂直滾動(dòng)下設(shè)置高度問(wèn)題

  • 小程序很多控件都有內(nèi)置的樣式贰镣,可能會(huì)出現(xiàn)設(shè)置的樣式表現(xiàn)與純W3C標(biāo)注表現(xiàn)不同转唉;這里記錄下很可能出現(xiàn)的問(wèn)題呼寸,方便的處理方式;

  • 這里要做的需求是嗤无,page中top有一個(gè)50px高度的header-bar震束,box占據(jù)其余部分高度(里面放一個(gè)可滾動(dòng)的列表怜庸,也就是scroll-view)

由于不同設(shè)備高度不同,所以box部分的高度需要是動(dòng)態(tài)的垢村;
有兩種處理方式:

第一種header樣式寫(xiě)死高度50px割疾,在js的data中添加一個(gè)屬性,在頁(yè)面生命周期函數(shù)onload中計(jì)算
<view class='header'>
</view>
<view class='box' style='height:{{boxHeight}}px;'>
</view>
/**
   * 頁(yè)面的初始數(shù)據(jù)
   */
  data: {
    boxHeight: 0
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
   */
  onLoad: function (options) {

    let res = wx.getSystemInfoSync();
    let boxHeight = res.windowHeight - 50;
    this.setData({
      'boxHeight': boxHeight
    });

    wx.setNavigationBarTitle({
      title: '小程序中動(dòng)態(tài)計(jì)算高度',
    })
  }
page {
  width: 100%;
  height: 100%;
  background-color: plum;
}

.header {
  background: red;
  height: 50px;
}

.box {
  background: yellowgreen;
}
上一種方式需要計(jì)算比較麻煩嘉栓,特別是有些根據(jù)網(wǎng)絡(luò)請(qǐng)求回來(lái)的內(nèi)容撐高宏榕,還可能要考慮一些數(shù)據(jù)不夠、請(qǐng)求失敗等問(wèn)題侵佃,第二種是利用樣式來(lái)自動(dòng)拉伸麻昼,如使用flex布局
<view class='header'></view>
<view class='box' ></view>
page {
  width: 100%;
  height: 100%;
  background-color: plum;
  display: flex;
  flex-direction: column;
}

.header {
  background: red;
  height: 50px;
}

.box {
  background: yellowgreen;
  flex: 1;
}
11.png

可以看到預(yù)覽完全沒(méi)問(wèn)題,接下來(lái)往里面放一個(gè)滾動(dòng)視圖scroll-view馋辈,設(shè)置為可以垂直滾動(dòng)涌献,高度設(shè)置為100%樣式

<view class='header'>
</view>
<view class='box'>
  <scroll-view class='sv' scroll-y='true' style='height:100%;'>
  <view>韋神和這位水友打了照面,這樣近的距離下連開(kāi)十槍?zhuān)尤蝗贿@位水友完美躲過(guò)首有。連韋醬都露出了一臉不可置信的表情燕垃!</view>
  <view>網(wǎng)友們則不僅因?yàn)檫@位水友的身法表示贊嘆,紛紛表示井联,"被打倒的人總說(shuō)別人的槍法有多好卜壕!拜托,只是你自己的身法沒(méi)到家好嗎烙常!"大家也從韋神被秀一事中收獲了無(wú)限樂(lè)趣轴捎。</view>
  <view>不過(guò),也有網(wǎng)友努力為韋神堪稱(chēng)人體描邊掛的十槍辯解蚕脏,都是因?yàn)檫@位水友喜歡韋神太久了侦副,也太了解韋神了,"當(dāng)喜歡一個(gè)人久了...他的身法驼鞭、他的槍法秦驯、他打的每一顆子彈,甚至每一顆子彈走的路徑挣棕,我都會(huì)了如指掌译隘,所以韋醬他...傷不了我!"</view>
  <view>對(duì)此洛心,韋神也轉(zhuǎn)發(fā)肯定了這個(gè)邏輯固耘,并推薦各位網(wǎng)友稱(chēng):"男女朋友的可以試一試,打中一槍?zhuān)f(shuō)明他不夠愛(ài)你词身!" 既然有韋神大力推薦厅目,各位非單身的玩家們不妨一試啊,吃雞究竟是不是一個(gè)愛(ài)情殺手游戲就能見(jiàn)分曉了! 剛不過(guò)槍?zhuān)柯涞爻珊兴鸱螅渴职咽纸棠愠晒Τ噪u户辫!快關(guān)注兔玩英雄訓(xùn)練營(yíng)返回搜狐,查看更多
  </view>
  <view>韋神和這位水友打了照面嗤锉,這樣近的距離下連開(kāi)十槍?zhuān)尤蝗贿@位水友完美躲過(guò)渔欢。連韋醬都露出了一臉不可置信的表情!</view>
  <view>網(wǎng)友們則不僅因?yàn)檫@位水友的身法表示贊嘆瘟忱,紛紛表示奥额,"被打倒的人總說(shuō)別人的槍法有多好!拜托访诱,只是你自己的身法沒(méi)到家好嗎垫挨!"大家也從韋神被秀一事中收獲了無(wú)限樂(lè)趣。</view>
  <view>不過(guò)触菜,也有網(wǎng)友努力為韋神堪稱(chēng)人體描邊掛的十槍辯解九榔,都是因?yàn)檫@位水友喜歡韋神太久了,也太了解韋神了涡相,"當(dāng)喜歡一個(gè)人久了...他的身法哲泊、他的槍法、他打的每一顆子彈催蝗,甚至每一顆子彈走的路徑切威,我都會(huì)了如指掌,所以韋醬他...傷不了我丙号!"</view>
  <view>對(duì)此先朦,韋神也轉(zhuǎn)發(fā)肯定了這個(gè)邏輯,并推薦各位網(wǎng)友稱(chēng):"男女朋友的可以試一試犬缨,打中一槍?zhuān)f(shuō)明他不夠愛(ài)你喳魏!" 既然有韋神大力推薦,各位非單身的玩家們不妨一試啊怀薛,吃雞究竟是不是一個(gè)愛(ài)情殺手游戲就能見(jiàn)分曉了刺彩! 剛不過(guò)槍?zhuān)柯涞爻珊校渴职咽纸棠愠晒Τ噪u乾戏!快關(guān)注兔玩英雄訓(xùn)練營(yíng)返回搜狐迂苛,查看更多
  </view>
</scroll-view>
</view>
page {
  width: 100%;
  height: 100%;
  background-color: plum;
  display: flex;
  flex-direction: column;
}

.header {
  background: red;
  height: 50px;
}

.box {
  background: yellowgreen;
  flex: 1;
}
2.png
  • 問(wèn)題:可以看到一旦加入scroll-view組件,樣式被破壞了鼓择,header的高度莫名其妙變成了0;
  • 疑問(wèn):小程序的說(shuō)法是要求scroll-view一定要給一個(gè)固定的高度就漾,不然就不行呐能,難道只能用第一種方法來(lái)實(shí)現(xiàn)這個(gè)布局了?

我發(fā)現(xiàn)一個(gè)tip,其實(shí)只要給外圍的box一個(gè)高度即可摆出,隨便一個(gè)高度朗徊,因?yàn)樵O(shè)置了flex拉伸級(jí)別,這個(gè)高度不影響拉伸偎漫;在H5中是沒(méi)意義的爷恳,但是這里可以解決問(wèn)題;

  • 最終給一個(gè)完整版本
<view class='header'>
  <view>財(cái)經(jīng)</view>
  <view>股票</view>
  <view>商業(yè)</view>
  <view>汽車(chē)</view>
  <view>商業(yè)</view>
</view>
<view class='box'>
  <scroll-view class='sv' scroll-y='true'>
    <view>韋神和這位水友打了照面象踊,這樣近的距離下連開(kāi)十槍?zhuān)尤蝗贿@位水友完美躲過(guò)温亲。連韋醬都露出了一臉不可置信的表情!</view>
    <view>網(wǎng)友們則不僅因?yàn)檫@位水友的身法表示贊嘆杯矩,紛紛表示栈虚,"被打倒的人總說(shuō)別人的槍法有多好!拜托史隆,只是你自己的身法沒(méi)到家好嗎魂务!"大家也從韋神被秀一事中收獲了無(wú)限樂(lè)趣。</view>
    <view>不過(guò)泌射,也有網(wǎng)友努力為韋神堪稱(chēng)人體描邊掛的十槍辯解粘姜,都是因?yàn)檫@位水友喜歡韋神太久了,也太了解韋神了熔酷,"當(dāng)喜歡一個(gè)人久了...他的身法相艇、他的槍法、他打的每一顆子彈纯陨,甚至每一顆子彈走的路徑坛芽,我都會(huì)了如指掌,所以韋醬他...傷不了我翼抠!"</view>
    <view>對(duì)此咙轩,韋神也轉(zhuǎn)發(fā)肯定了這個(gè)邏輯,并推薦各位網(wǎng)友稱(chēng):"男女朋友的可以試一試阴颖,打中一槍?zhuān)f(shuō)明他不夠愛(ài)你活喊!" 既然有韋神大力推薦,各位非單身的玩家們不妨一試啊量愧,吃雞究竟是不是一個(gè)愛(ài)情殺手游戲就能見(jiàn)分曉了钾菊! 剛不過(guò)槍?zhuān)柯涞爻珊校渴职咽纸棠愠晒Τ噪u偎肃!快關(guān)注兔玩英雄訓(xùn)練營(yíng)返回搜狐煞烫,查看更多

    </view>
    <view>韋神和這位水友打了照面,這樣近的距離下連開(kāi)十槍?zhuān)尤蝗贿@位水友完美躲過(guò)累颂。連韋醬都露出了一臉不可置信的表情滞详!</view>
    <view>網(wǎng)友們則不僅因?yàn)檫@位水友的身法表示贊嘆凛俱,紛紛表示,"被打倒的人總說(shuō)別人的槍法有多好料饥!拜托蒲犬,只是你自己的身法沒(méi)到家好嗎!"大家也從韋神被秀一事中收獲了無(wú)限樂(lè)趣岸啡。</view>
    <view>不過(guò)原叮,也有網(wǎng)友努力為韋神堪稱(chēng)人體描邊掛的十槍辯解,都是因?yàn)檫@位水友喜歡韋神太久了巡蘸,也太了解韋神了奋隶,"當(dāng)喜歡一個(gè)人久了...他的身法、他的槍法赡若、他打的每一顆子彈达布,甚至每一顆子彈走的路徑,我都會(huì)了如指掌逾冬,所以韋醬他...傷不了我黍聂!"</view>
    <view>對(duì)此,韋神也轉(zhuǎn)發(fā)肯定了這個(gè)邏輯身腻,并推薦各位網(wǎng)友稱(chēng):"男女朋友的可以試一試产还,打中一槍?zhuān)f(shuō)明他不夠愛(ài)你!" 既然有韋神大力推薦嘀趟,各位非單身的玩家們不妨一試啊脐区,吃雞究竟是不是一個(gè)愛(ài)情殺手游戲就能見(jiàn)分曉了! 剛不過(guò)槍?zhuān)柯涞爻珊兴矗渴职咽纸棠愠晒Τ噪u牛隅!快關(guān)注兔玩英雄訓(xùn)練營(yíng)返回搜狐,查看更多

    </view>
  </scroll-view>
</view>
page {
  width: 100%;
  height: 100%;
  background-color: plum;
  display: flex;
  flex-direction: column;
}

.header {
  background: red;
  height: 50px;
  width: 100%;
  display: flex;
}

.header > view {
  flex: 1;
  text-align: center;
  line-height: 50px;
  color: white;
}

.box {
  background: yellowgreen;
  flex: 1;
  height: 100px;
}

.sv {
  background-color: #e9e9;
  height: 100%;
}
3.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末酌泰,一起剝皮案震驚了整個(gè)濱河市媒佣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌陵刹,老刑警劉巖默伍,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異衰琐,居然都是意外死亡也糊,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)羡宙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)狸剃,“玉大人,你說(shuō)我怎么就攤上這事辛辨〔段妫” “怎么了瑟枫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵斗搞,是天一觀的道長(zhǎng)指攒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)僻焚,這世上最難降的妖魔是什么允悦? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮虑啤,結(jié)果婚禮上隙弛,老公的妹妹穿的比我還像新娘。我一直安慰自己狞山,他們只是感情好全闷,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著萍启,像睡著了一般总珠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上勘纯,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天局服,我揣著相機(jī)與錄音,去河邊找鬼驳遵。 笑死淫奔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的堤结。 我是一名探鬼主播唆迁,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼竞穷!你這毒婦竟也來(lái)了唐责?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤来庭,失蹤者是張志新(化名)和其女友劉穎妒蔚,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體月弛,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肴盏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了帽衙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片菜皂。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖厉萝,靈堂內(nèi)的尸體忽然破棺而出恍飘,到底是詐尸還是另有隱情榨崩,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布章母,位于F島的核電站母蛛,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏乳怎。R本人自食惡果不足惜彩郊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蚪缀。 院中可真熱鬧秫逝,春花似錦、人聲如沸询枚。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)金蜀。三九已至刷后,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間廉油,已是汗流浹背惠险。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抒线,地道東北人班巩。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像嘶炭,于是被迫代替她去往敵國(guó)和親抱慌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344