摘要:就算父元素未定位也是相對于直接父元素進行高度計算的。如果在絕對定位脫離文檔流中,等于最近已定位父元素的的高度。下一步目前只是闡述和總結(jié)了現(xiàn)象,還未解釋原理,希望大神能在留言區(qū)指點一下。接下來需要繼續(xù)學(xué)習(xí)知識,弄明白這些現(xiàn)象背后的原因。
對height 100%和inherit的總結(jié)
歡迎大家來我的博客留言:
https://sxq222.github.io/CSS%...
博客主頁:
https://sxq222.github.io
正文:
之前看到一篇相關(guān)的文章:http://www.zhangxinxu.com/wor...
在看這個文章的demo時發(fā)現(xiàn)一些問題,下面來總結(jié)歸納一下:
代碼如下
demo
效果大致是這個樣子:
其中,左邊的是height 100%,右邊的是height inherit。
下面我們進行一下改動:
其實就是給兩個子元素加上絕對定位。效果如圖:
我們發(fā)現(xiàn),100%的元素的高度計算是相對于父元素的了。這也比較容易理解,因為絕對定位的元素,他的計算規(guī)則是相對于他最近的position不為static的元素。就算父元素未定位inherit也是相對于直接父元素進行高度計算的。
我們在outer上加上position relative 試一試:
.outer{ position: relative; display: inline-block; width: 100px; height: 100px; background: #400; border: 10px solid #444;; }
看來確實是這樣的,現(xiàn)在100%和inherit效果是一樣的.
再對css進行改動:
.outer{ display: inline-block; width: 100px; height: 100px; background: #400; border: 10px solid #444; box-sizing: border-box; } .in{ background: #6aa; } .full{ height: 100%; } .inherit{ height: inherit; }
我們給父元素加上了boxsizing border box,讓父元素的高度計算規(guī)則改變,下面看看效果:
我們看到 inherit元素的高度變成了父元素的高度,而100%的元素。
我們再給父元素加上padding:
.outer{ display: inline-block; width: 100px; height: 100px; background: #400; border: 10px solid #444; box-sizing: border-box; padding: 10px; }
效果圖:
可以看到inherit的高度會與父元素的高度相等,而100%的高度會與父元素content相等。
下面我們給子元素加上絕對定位看看:
.outer{ position: relative; display: inline-block; width: 100px; height: 100px; background: #400; border: 10px solid #444; box-sizing: border-box; padding: 10px; } .in{ left: 0; top: 0; position: absolute; width: 50px; background: #6aa; } .full{ height: 100%; } .inherit{ height: inherit; }
效果圖:
我們看到,當加上絕對定位時,100%的子元素的高度為:父元素的(content + padding),而inherit的高度就是等于父元素的border-box高度。
下面我們將父元素outer的borde -box 改回去:
.outer{ position: relative; display: inline-block; width: 100px; height: 100px; background: #400; border: 10px solid #444; /* box-sizing: border-box; */ padding: 10px; }
效果圖:
可以看到,inherit的高度變?yōu)楦冈豤ontent-box的高度。
下面看一看固定定位:
.outer{ position: relative; display: inline-block; width: 100px; height: 100px; background: #400; border: 10px solid #444; /* box-sizing: border-box; */ padding: 10px; } .in{ position: fixed; width: 50px; background: #6aa; } .full{ left:300px; top: 0; height: 100%; } .inherit{ left: 0; top: 0; height: inherit; }
可以看到,inherit的高度還是等于父元素盒子模型的高度,而100%的高度變?yōu)榱艘暱诘母叨取?/p> 總結(jié)
height:inherit的高度,總是等于父元素的盒子模型(content-box、border-box)的高度。
heighe:100%的高度,在文檔流中,就等于父元素的content的高度。如果在絕對定位(脫離文檔流)中,等于最近已定位父元素的content + padding的高度。在固定定位中,等于視口的高度。
下一步目前只是闡述和總結(jié)了現(xiàn)象,還未解釋原理,希望大神能在留言區(qū)指點一下。
一開始覺得自己很熟悉CSS的定位、盒子模型,但是現(xiàn)在發(fā)現(xiàn)很多東西都是不明白的,這方面的只是還需要深入理解。接下來需要繼續(xù)學(xué)習(xí)CSS知識,弄明白這些現(xiàn)象背后的原因。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/115783.html
一直在生成式AI戰(zhàn)爭中默默無聞的蘋果終于憋不住了!北京時間6月11日凌晨1點,2024蘋果WWDC全球開發(fā)者大會在蘋果總部 Apple Park開幕。Day 1的發(fā)布會在介紹完各個操作系統(tǒng)的更新后,一半的時間都留給了本次WWDC的重頭戲——蘋果AI(Apple Intelligence)。Apple Intelligence概述蘋果將其AI技術(shù)命名為Apple Intelligence。還記得五年...
在談到 AI、大模型、算力等關(guān)鍵詞時,如果要提及硬件產(chǎn)品,很多人應(yīng)該會不假思索的說出英偉達。的確,在全球都缺算力的環(huán)境下,英偉達的地位是獨特又難以撼動的。然而就在近日,有一家公司帶著自己的 AI 芯片來叫板了。昨天凌晨,科技圈迎來了一個重要新聞。成立時間不到兩年的美國芯片初創(chuàng)公司 Etched 推出了自己的第一塊 AI 芯片 Sohu,它運行大模型的速度比英偉達 H100 要快 20 倍,比今年 ...
在視頻中插入手繪動畫!傳統(tǒng)上這是一項非常困難的任務(wù),但 VideoDoodles 讓它成為可能。VideoDoodles是Adobe公司聯(lián)合多所大學(xué)推出的AI視頻編輯框架。支持用戶在視頻中輕松插入手繪動畫,實現(xiàn)與視頻內(nèi)容的無縫融合。通過預(yù)處理視頻幀,系統(tǒng)提供平面畫布,用戶可以視頻上繪制動畫,系統(tǒng)自動處理透視和遮擋效果。與此同時,VideoDoodles也是是一種創(chuàng)新的交互式系統(tǒng),允許用戶在視頻中添...
摘要:通過該屬性可以控制繪制的區(qū)域。背景圖片相關(guān)的屬性背景圖片本身是有自身尺寸的,被應(yīng)用元素也有自己的尺寸。通過屬性可以修改原點位置。坐標系的反方向都是重復(fù)方式繪制。該位置是相對于原點構(gòu)建的坐標系,默認情況下該位置就是在原點。 一、元素背景是指哪些區(qū)域 默認情況下元素的背景是指元素border(包含border)以內(nèi)的區(qū)域。 showImg(https://segmentfault.com/...
Veo是什么Veo是由Google DeepMind開發(fā)的一款視頻生成模型,用戶可以通過文本、圖像或視頻提示來指導(dǎo)其生成所需的視頻內(nèi)容,能夠生成時長超過一分鐘1080P分辨率的高質(zhì)量視頻。Veo擁有對自然語言的深入理解能夠準確捕捉和執(zhí)行各種電影制作術(shù)語和效果,如延時攝影或航拍鏡頭。Veo生成的視頻不僅在視覺上更加連貫一致,而且在人物、動物和物體的動作表現(xiàn)上也更加逼真。Veo的開發(fā)旨在使視頻制作更加...
閱讀 1487·2019-08-30 15:44
閱讀 1952·2019-08-30 14:07
閱讀 2878·2019-08-30 13:56
閱讀 2347·2019-08-29 17:06
閱讀 1330·2019-08-29 14:13
閱讀 2088·2019-08-29 11:28
閱讀 3233·2019-08-26 13:56
閱讀 1953·2019-08-26 12:11