color together中顏色扉頁問題

圖片.png

圖片.png

實現(xiàn)這兩個頁面
要求:
當(dāng)?shù)谝豁搩?nèi)容塊高度大于屏幕高度時饼拍,顏色扉頁的高度=內(nèi)容塊高度。反之,
顏色扉頁的高度=屏幕高度

背景:圖片區(qū)塊封裝了一個加載動畫組件(所以在圖片沒有加載完的時候,圖片區(qū)域的高度是不準(zhǔn)確的)

知識點:動態(tài)獲取內(nèi)容塊高度可以使用boundingClientRect這個方法飘言。

經(jīng)歷的問題:
這個方法在此處得到的高度并不準(zhǔn)確。經(jīng)過對比發(fā)現(xiàn)驼侠,差別的地方是在圖片位置姿鸿。代碼獲取的高度會比實際視覺高度高出一些。


2020.3.27分割線

發(fā)現(xiàn)問題原因:image設(shè)置display: inline-block;倒源,導(dǎo)致image標(biāo)簽外包標(biāo)簽<image-wrapper>比實際image高了幾個px(這是由于圖片標(biāo)簽?zāi)J(rèn)了display: inline

所以解決方法就又可以是:
把image設(shè)置display: block;苛预。考慮到圖片沒有加載完畢的問題笋熬,所以在小程序onshow鉤子中調(diào)用就可以解決問題了碟渺。

總結(jié):display: block的特點
① 可以設(shè)置width,height突诬,margin苫拍,padding各個方向。(沒有內(nèi)容時)不設(shè)置width默認(rèn)為瀏覽器寬度旺隙,height默認(rèn)為0绒极。(有內(nèi)容時)根據(jù)內(nèi)容物規(guī)定
② 即使設(shè)置了寬度,還是會獨占一行

總結(jié):display: inline的特點
① 不會獨占一行蔬捷。寬度根據(jù)內(nèi)容決定垄提。
② 不能設(shè)置width,height周拐。水平方向的padding铡俐、margin有用,但是垂直方向只在特定條件下padding有用妥粟。
③ 行內(nèi)元素都有一點間距
④ 對行內(nèi)元素設(shè)置float审丘,該元素會被賦值block,并且擁有浮動特性勾给。行內(nèi)元素之間的空白也消失了
⑤ 使用position定位的時候滩报,absolute與fixed.都會使得原先的行內(nèi)元素變?yōu)閴K級元素
⑥ 當(dāng)行內(nèi)元素有內(nèi)容,并且設(shè)置了padding水平方向播急,那么設(shè)置padding垂直方向就是有用的

總結(jié):display: inline-block的特點
① 不會獨占一行
② 可以設(shè)置width脓钾,height
③ 當(dāng)inline-block碰到同類(inline,inline-block)時桩警,誰的上下margin可训、padding或line-height大,就聽誰的。除非它是inline握截,因為inline的margin是不起作用的飞崖。且inline的padding是不占空間的。
④ inline和inline-block會引起間距的空格

空隙解決辦法:
① 兩個元素代碼放在同一行
② 兩個節(jié)點之間加注釋節(jié)點
③ 設(shè)置父元素font-size: 0

<div class="item1">item1</div><div class="item2">item2</div>

特別的:當(dāng)block元素包住inline-block/inline的圖片標(biāo)簽的時候川蒙,block元素會被撐開多3-4px左右

當(dāng)時并沒有發(fā)現(xiàn)是inline-block的問題蚜厉。所以就使用了下面的第二種方法长已。


2020.3.03分割線

在圖片加載好的鉤子內(nèi)畜眨,對組件中<image>標(biāo)簽調(diào)用boundingClientRect方法,然后triggle到父頁面术瓮。

這里有一個注意點:
boundingClientRect這個方法在組件中使用康聂,需要添加in(this)。this指該組件

let query = wx.createSelectorQuery().in(this)
query.select('.img1').boundingClientRect(function (rect) { ...}).exec()

我們可以通過這樣調(diào)用子組件方法胞四,從而得到組件高度恬汁。

this.lazyimg = this.selectComponent('.lazyimg')
var height = this.lazyimg.getHeight()

當(dāng)在圖片列表頁面是不需要計算高度的,只有在詳細(xì)圖片頁面才需要辜伟。所以在子組件中設(shè)置prop氓侧。判斷組件所在頁面。在特定頁面才會觸發(fā)高度計算导狡。

至此约巷,解決問題。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旱捧,一起剝皮案震驚了整個濱河市独郎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌枚赡,老刑警劉巖氓癌,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贫橙,居然都是意外死亡贪婉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門卢肃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谓松,“玉大人,你說我怎么就攤上這事践剂」砥” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵逊脯,是天一觀的道長优质。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么巩螃? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任演怎,我火速辦了婚禮,結(jié)果婚禮上避乏,老公的妹妹穿的比我還像新娘爷耀。我一直安慰自己,他們只是感情好拍皮,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布歹叮。 她就那樣靜靜地躺著,像睡著了一般铆帽。 火紅的嫁衣襯著肌膚如雪咆耿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天爹橱,我揣著相機與錄音萨螺,去河邊找鬼。 笑死愧驱,一個胖子當(dāng)著我的面吹牛慰技,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播组砚,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼吻商,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了惫确?” 一聲冷哼從身側(cè)響起手报,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎改化,沒想到半個月后掩蛤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡陈肛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年揍鸟,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片句旱。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡阳藻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谈撒,到底是詐尸還是另有隱情腥泥,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布啃匿,位于F島的核電站蛔外,受9級特大地震影響蛆楞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜夹厌,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一豹爹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧矛纹,春花似錦臂聋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至迎献,卻和暖如春瞎访,著一層夾襖步出監(jiān)牢的瞬間腻贰,已是汗流浹背吁恍。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留播演,地道東北人冀瓦。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像写烤,于是被迫代替她去往敵國和親翼闽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容