CSS belirli bir yüzde yüksekliğe div ayarlamaya çalışıyorum
Neyin yüzdesi?
Yüzde yüksekliği ayarlamak için, üst öğesinin (*) açık bir yüksekliği olmalıdır. Bu oldukça belirgindir, çünkü yüksekliği olduğu gibi bırakırsanız auto
, blok içeriğinin yüksekliğini alacaktır ... ancak içeriğin kendisinin ebeveynin yüzdesi cinsinden ifade edilen bir yüksekliği varsa, kendinizi biraz yarattınız. Yakalama 22. Tarayıcı vazgeçer ve yalnızca içerik yüksekliğini kullanır.
Bu nedenle div'ın üst öğesinin açık bir height
özelliği olmalıdır . Bu yükseklik de isterseniz bir yüzde olabilir, ancak bu sadece sorunu bir sonraki seviyeye taşır.
Görünümün, yükseklik yüzdesi dahil div her atası div yüksekliğini olmak için <html>
ve <body>
, olmak zorunda height: 100%
, bu yüzden div aşağı açık yüzde yükseklikleri bir zincir vardır.
(*: veya div konumlandırılırsa, konumlandırılacak en yakın ata olan 'içeren blok'.
Alternatif olarak, tüm modern tarayıcılar ve IE> = 9, görünüm yüksekliği ( vh
) ve görünüm genişliği ( vw
) ile ilişkili olarak yeni CSS birimlerini destekler :
div {
height:100vh;
}
Daha fazla bilgi için buraya bakın .
height
yüzde değerleri olan CSS özelliğinin basit ve açık bir açıklaması : stackoverflow.com/a/31728799/3597276