[英]Parent height does not contain absolutely positioned children
我想讓位於網站底部的“copyright” <div>
。 當我嘗試將兩個<div>
s( id="div0"
和id="copyright"
)放在容器<div>
它不起作用。
這對我來說很困惑,因為我認為<div>
自然是一個塊元素,所以在div0
和copyright
之間自然會有一個換行符, copyright
將位於div0
旁邊!
我不知道我做錯了什么。 我只使用HTML和CSS。
這是我的演示 。
你遇到的問題類似於jQueryUI滑塊:絕對定位元素和父容器高度 ,因為容器id="div0"
不會增長到包含子元素。 如果您右鍵單擊 →在Chrome中檢查 <div id="dev0">
並看到height = 0px
則可以看到此信息。
position:absolute
將元素從正常流中取出 ,這意味着它不會留下元素通常應該存在的間隙。
版權<div>
呈現在頂部,因為之前的<div>
沒有高度,因為它實際上並不包含任何圖像(它們都不在正常流程中 )。
解決此問題的一種(快速)方法是簡單地向<div id="dev0">
添加高度。
您可能認為使用不同的位置值將作為position:relative
確實會留下元素通常應該存在的間隙。 但是,您不能在示例中使用它,因為所有圖像的正常位置都是內聯的,因此您仍然會遇到相同的容器高度問題。
另一種方法是左右浮動3幅圖像。 這也有同樣的問題,因為浮動元素也不在正常流程中,但是有許多CSS方法可以配置父元素以正確包含浮動子元素,例如CSS clear
屬性。
在下面的示例中,我選擇了overflow:hidden
(請參閱http://colinaarts.com/articles/the-magic-of-overflow-hidden/ )以使父級正確包含子級 - 請參閱演示 。
CSS
我還刪除了大量重復內容並選擇了visibility:hidden
和visibility:visible
而不是改變z-index
。
body {
background-color: #5C5C3D;
}
#main {
position: relative;
width: 1366px;
margin: 0 auto;
background-color: #292929;
overflow: hidden;
}
#leftColumn {
float:left;
}
#rightColumn {
float: right;
}
#leftColumn, #rightColumn {
padding:20px 10px 0 10px;
}
#leftColumn img, #rightColumn img {
display:block;
margin-bottom:20px;
}
#img1, #img2, #img3, #img4, #img5, #img6 {
width: 253px;
height: 190px;
}
#imgCenter1, #imgCenter2, #imgCenter3, #imgCenter4, #imgCenter5, #imgCenter6 {
position: absolute;
top: 20px;
left: 278px;
width: 810px;
height: 610px;
visibility: hidden;
}
#img1:hover ~ #imgCenter1, #img2:hover ~ #imgCenter2, #img3:hover ~ #imgCenter3, #img4:hover ~ #imgCenter4, #img5:hover ~ #imgCenter5, #img6:hover ~ #imgCenter6 {
visibility: visible;
}
#copyright{
position: relative;
margin:0 auto;
max-width: 1000px;
border: 2px solid white;
padding-top: 15px;
padding-bottom: 15px;
color:white;
background-color: #5C5C3D;
font-family: tahoma;
font-size: 0.8em;
}
HTML
<div id="main">
<div id="leftColumn">
<img id="img1" src="http://images2.wikia.nocookie.net/__cb20110205230838/pixar/images/thumb/1/1f/Pixar_Animation_Studios_2.jpg/800px-Pixar_Animation_Studios_2.jpg"/>
<img id="img2" src="http://www.jjtoy.com/wallpaper/original/Doc_Martin___Pixar_Cars_by_GrangerDesign.jpg"/>
<img id="img3" src="http://fc05.deviantart.net/fs49/f/2009/188/9/f/Rowdy_McQueen___Pixar_Cars_by_GrangerDesign.jpg"/>
<img id="imgCenter1" src="http://images2.wikia.nocookie.net/__cb20110205230838/pixar/images/thumb/1/1f/Pixar_Animation_Studios_2.jpg/800px-Pixar_Animation_Studios_2.jpg">
<img id="imgCenter2" src="http://www.jjtoy.com/wallpaper/original/Doc_Martin___Pixar_Cars_by_GrangerDesign.jpg">
<img id="imgCenter3" src="http://fc05.deviantart.net/fs49/f/2009/188/9/f/Rowdy_McQueen___Pixar_Cars_by_GrangerDesign.jpg">
</div>
<div id="rightColumn">
<img id="img4" src="http://www.dan-dare.org/FreeFun/Images/CartoonsMoviesTV/MonstersIncForTheBirdsWallpaper800.jpg"/>
<img id="img5" src="http://www.wallmay.net/thumbnails/detail/20120814/cartoons%20pixar%20disney%20company%20movies%20animated%20toy%20story%201600x1200%20wallpaper_www.wallmay.com_62.jpg"/>
<img id="img6" src="http://fc09.deviantart.net/fs26/i/2008/143/3/6/Wall_E_Jr____Pixar___iBook_by_iFab.jpg"/>
<img id="imgCenter4" src="http://www.dan-dare.org/FreeFun/Images/CartoonsMoviesTV/MonstersIncForTheBirdsWallpaper800.jpg">
<img id="imgCenter5" src="http://www.wallmay.net/thumbnails/detail/20120814/cartoons%20pixar%20disney%20company%20movies%20animated%20toy%20story%201600x1200%20wallpaper_www.wallmay.com_62.jpg">
<img id="imgCenter6" src="http://fc09.deviantart.net/fs26/i/2008/143/3/6/Wall_E_Jr____Pixar___iBook_by_iFab.jpg">
</div>
</div>
<div id="copyright">
<center>CSS 1st Homework</center>
<center>©2013 by TS7<sup>TM</sup> from NEWBIESVN Team. All rights reserved.</center>
</div>
此外,不推薦使用<center>
,因此如果您有時間,我會調查一種CSS方式來居中文本。
到大div。 給Css一樣
position: relative;
height: 700px;
和版權部門
#copyright {
position: absolute;
margin: 0 auto;
width: 1000px;
border: 2px solid white;
padding-top: 15px;
padding-bottom: 15px;
color: white;
background-color: #5C5C3D;
left: 50%;
margin-left: -500px;
font-size: 0.8em;
bottom: 0;
}
嘗試這個。 我希望它會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.