css3 - 自適應(yīng)高度問(wèn)題
問(wèn)題描述
如何在父級(jí)p高度是auto的情況下,子級(jí)p為父級(jí)p的一半,子級(jí)p里面有個(gè)圖片高度為60(圖片自己的高度,并沒(méi)有給圖片高度)。有沒(méi)有實(shí)現(xiàn)的可能
問(wèn)題解答
回答1:確實(shí)描述不清,我想改問(wèn)題但又怕不是題主想問(wèn)的問(wèn)題。試著答一下。
首先你要知道,auto、50%、em這樣的關(guān)鍵字或相對(duì)單位長(zhǎng)度是要計(jì)算成確切的值(如px)。如果父元素的高度是auto,那么他是根據(jù)子元素的高度計(jì)算的。
根據(jù)題主描述,最容易想到的是:
<p style='height:auto'> <p style='height:50%'></p></p>
你可以試下,這樣不管用,為什么呢?#p1的高度是是根據(jù)#p2的高度計(jì)算的。而#p2的高度是#p1的一半。這就產(chǎn)生了相互依賴。
而CSS中的相對(duì)單位都是根據(jù)父元素計(jì)算的,em除外,但在這里用不上。
解決方法
如果你的圖片是確定的高度,那么設(shè)置為#p2設(shè)置確定的padding-top是最簡(jiǎn)單的辦法
如果圖片的高度不是確定的,用JS吧。
回答2:問(wèn)題描述的稍微有點(diǎn)亂、可以編輯一下問(wèn)題重新說(shuō)明清楚嗎、還有是用JS實(shí)現(xiàn)還是只能用CSS
回答3:以CSS來(lái)說(shuō),高度auto是由內(nèi)容撐起的,父與子元素都沒(méi)有設(shè)置高度,那實(shí)際高度就只有那張圖片而已
回答4:總感覺(jué)怪怪的!要實(shí)現(xiàn)的話通過(guò)js獲取子級(jí)p的高度h,再設(shè)置父p的高度為h*2
(父auto,子級(jí)p中只有一張圖片,子p的高度也就都是圖片高度,直接設(shè)置父高120)
回答5:不可能,只有不是auto時(shí)子才能根據(jù)父調(diào)整大小
回答6:你這不是雞生蛋還蛋生雞的問(wèn)題么
回答7:都沒(méi)高度的話,子p就是圖片高度
回答8:可以通過(guò)js先獲取圖片的高度,再設(shè)置子p和父p的高度
相關(guān)文章:
1. win10 python3.5 matplotlib使用報(bào)錯(cuò)2. 數(shù)組排序,并把排序后的值存入到新數(shù)組中3. html5 - css3scale和rotate同時(shí)使用轉(zhuǎn)換成matrix寫法該如何轉(zhuǎn)換?4. MySQL的聯(lián)合查詢[union]有什么實(shí)際的用處5. php多任務(wù)倒計(jì)時(shí)求助6. html - css3關(guān)于透明度的問(wèn)題7. python的正則怎么同時(shí)匹配兩個(gè)不同結(jié)果?8. 默認(rèn)輸出類型為json,如何輸出html9. mysql 遠(yuǎn)程連接出錯(cuò)10060,我已經(jīng)設(shè)置了任意主機(jī)了。。。10. 為何 localStorage、sessionStorage 屬于html5的范疇,但是為何 IE8卻支持?
