我正在为一个朋友建立一个网站,它的图像非常重,我已将图像切成相关位,但我决定使用div而不是使用表格。所以这就是我所拥有的:
Html
<body>
<div id="container">
<div id="header">
<a href="index.html"><img src="images/header1280.jpg" /></a>
</div><!--end header-->
<div id="nav">
<ul>
<li><a href="#"><img src="images/mixes.jpg" /></a></li>
<li><a href="#"><img src="images/events.jpg" /></a></li>
<li><a href="#"><img src="images/artists.jpg" /></a></li>
<li><a href="#"><img src="images/christ.jpg" /></a></li>
<li><a href="#"><img src="images/links.jpg" /></a></li>
<li><a href="#"><img src="images/contact.jpg" /></a></li>
<li><a href="#"><img src="images/hos.jpg" /></a></li>
<li><a href="#"><img src="images/forum.jpg" /></a></li>
<li><a href="#"><img src="images/news.jpg" /></a></li>
<li><a href="#"><img src="images/fun.jpg" /></a></li>
<li><a href="#"><img src="images/shop.jpg" /></a></li>
<li><a href="#"><img src="images/join.jpg" /></a></li>
</ul>
</div><!--end nav-->
</div><!--end container-->
</body>
CSS
html, body, div, img, ul, li, a {
margin: 0;
padding: 0;
border: 0px none;
vertical-align: baseline;
font-size: 100%;
font: inherit;
}
body {
line-height: 1;
background: #000;
}
#container {
margin: 0 auto;
width: 1280px;
}
#header {
width: 100%;
}
#nav ul li a img {
width: 100%
height: auto;
}
#nav ul {
list-style: none;
width: 100%;
}
#nav ul li {
float: left;
}
现在总共有12个图像链接,它们跨越2行。所以想象你有这个:
HEADER
NAV LINE 1
NAV LINE 2
li {margin-top: -2px;}
在Firefox 3.6上,Header和&amp;之间存在3px的差距。 Navline1&amp; NavLine1%Navline 2之间只有2px的差距。
在IE8上,Header和Navline1之间存在2px的差距,但Navline1和Navline2之间的差距为3px。
我对这导致什么感到困惑,这是一个漂浮虫吗?但是,任何人都可以对这个问题有所了解吗?
答案 0 :(得分:2)
使用:
#header img, #nav img {
vertical-align: top
}
img
元素为inline
,默认vertical-align
为baseline
。有问题的差距是为g
或p
等字母中的下行者保留的空间。从vertical-align
更改baseline
可消除差距。