我有一个奇怪的情况,我的中间div略微向下.
@H_404_2@这是一个截图:
HTML:
<div id="footer"> <div class="content"> <div id="info1"> <img src="img/temp.png" alt="About me" /> <h4>About Me</h4> <p>this is about me section</br>and this is the other line</br>and this is a third line</p> </div> <div id="info2"> <h4>Random Photos</h4> <div id="randomPhotos"></div> </div> <div id="info3"> <h3>Follow Me</h3> <div> <img src="img/temp.png" alt="facebook" /><a href="#">Facebook</a> </div> <div> <img src="img/temp.png" alt="twitter" /><a href="#">Twitter</a> </div> <div> <img src="img/temp.png" alt="email" /><a href="#">E-mail</a> </div> </div> </div> </div>
CSS:
#info1,#info2,#info3 { padding: 10px; display:inline-block; } #info1 { width:20%; } #info1 img { margin-right:3px; width:20px; height:20px; background-image:url('../img/glyphicons-halflings.png'); background-repeat:no-repeat; background-position:-162px 1px; } #info1 img,#info1 h4 { display:inline-block; } #info2 { width:55%; border-left:1px solid gray; border-right : 1px solid gray; } #info3 { width:15%; } #info3 img { width:20px; height:20px; margin-right:5px; } #info3 img[alt="facebook"] { background : url('../img/result.png') no-repeat 0px -30px; } #info3 img[alt="twitter"] { background : url('../img/result.png') no-repeat 0px -60px; } #info3 img[alt="email"] { background : url('../img/result.png') no-repeat 0px 0px; } #info2 div { padding:3px; } #randomPhotos { height : 100px; }
我真的不擅长CSS,所以它可能是一个小问题.我只是找不到它.
解决方法
大多数浏览器,对于使用display:inline-block的元素,将自动在该元素上使用vertical-align:baseline,除非你使用CSS重置(这可能也会将defacto标准定义为vertical-align:baseline.)
这就是你所看到的原因,你的每个信息div都与基线对齐.由于中央div的高度较小,因此您可以在顶部看到间隙.
要解决这个问题:
#info1,#info3 { padding: 10px; display:inline-block; vertical-align:top; }
您可能遇到的第二个问题是,现在它对齐顶部,底部有一个“间隙”,没有左边框或右边框.要么由全高度divs管理边框,要么使所有div具有相同的高度.