html - 为什么这张图片下面有空格

标签 html css image spacing

出于某种原因,我无法弄清楚为什么在 div 中此图像下方有一个 8px 的间距。检查出来:

http://oi59.tinypic.com/o86lar.jpg

如果你看图片的底部,有大约 8px 的空间,我怎样才能去掉它?

.side {
    margin-top: 40px;
    float: right;
}

.sidehead {
    width: 260px;
    height: 27px;
}

.sidecont {
    background-color: #394d49;
    width: 258px;
    height: auto;
    border: 1px solid #6b958b;
    margin-top: -1px;
    margin-bottom: 20px;
    vertical-align: middle;
}

<!----HTML BELOW---->

<div class="sidecont">
      <center><img src="images/rankings.jpg"></center>
</div>

这是完整的代码,如果有人需要的话:

    body {
    background-image: url('images/bg.png');
    background-color: #5a6a7a;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center top;
}

.wrap {
    width: 960px;
    margin: auto;
}

.head {
    width: 960px;
    height: 60px;
    margin-top: 33px;
}

.head img {
    float: left;

}

.head .home img { background: url('images/home.jpg'); width: 116px; height: 60px; }
.head .register img { background: url('images/register.jpg'); width: 116px; height: 60px; }
.head .forum img { background: url('images/forum.jpg'); width: 116px; height: 60px; }
.head .banner img { background: url('images/banner.jpg'); width: 263px; height: 60px; }
.head .chat img { background: url('images/chat.jpg'); width: 116px; height: 60px; }
.head .downloads img { background: url('images/downloads.jpg'); width: 116px; height: 60px; }
.head .donate img { background: url('images/donate.jpg'); width: 117px; height: 60px; }

.head .home img:hover { background: url('images/homehover.jpg'); width: 116px; height: 60px; }
.head .register img:hover { background: url('images/registerhover.jpg'); width: 116px; height: 60px; }
.head .forum img:hover { background: url('images/forumhover.jpg'); width: 116px; height: 60px; }
.head .chat img:hover { background: url('images/chathover.jpg'); width: 116px; height: 60px; }
.head .downloads img:hover { background: url('images/downloadshover.jpg'); width: 116px; height: 60px; }
.head .donate img:hover { background: url('images/donatehover.jpg'); width: 117px; height: 60px; }

.logo {
    background-image: url('images/logo.png');
    width:250px;
    height: 110px;
    display:block;
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    margin: -85px auto;
    z-index: 1;
}

.main {
    margin-top: 40px;
    float: left;
    clear: both;
}

* {
    margin: 0;
    padding: 0;
}

.mainhead {
    background-image: url('images/content.jpg');
    height: 27px;
    width: 680px;
}

.maincont {
    background-color: #394d49;
    width: 668px;
    border: 1px solid #6b958b;
    margin-top: -1px;
    height: auto;
    word-wrap: break-word;
    padding: 5px;
}

.side {
    margin-top: 40px;
    float: right;
}

.sidehead {
    width: 260px;
    height: 27px;
}

.sidecont {
    background-color: #394d49;
    width: 258px;
    height: auto;
    border: 1px solid #6b958b;
    margin-top: -1px;
    margin-bottom: 20px;
    vertical-align: middle;
}

.footer {
    background-image: url('images/footer.jpg');
    width: 960px;
    height: 19px;
    margin-top: 20px;
    font-size: 11.6px;
    font-family: 'MS Serif';
    text-align: center;
    color: #dfd591;
    text-shadow: 0 1px 2px black;
    line-height: 19px;
}

__

<!doctype html>
<html>
<head>
    <link rel="stylesheet" href="style.css" />
</head>
<body>
    <div class="wrap">
        <div style="position:relative;">
            <a href="1"><div class="logo"></div></a>
        </div>
        <div class="head">
            <div class="home"><a href=""><img></a></div>
            <div class="register"><a href=""><img></a></div>
            <div class="forum"><a href=""><img></a></div>
            <div class="banner"><img></div>
            <div class="chat"><a href="http://www.facebook.com"><img></a></div>
            <div class="downloads"><a href=""><img></a></div>
            <div class="donate"><a href=""><img></a></div>
        </div>

        <div class="main">
            <div class="mainhead"></div>
            <div class="maincont">

            </div>
        </div>

        <div class="side">
            <div class="sidehead"><img src="images/servinfo.jpg"></div>
            <div class="sidecont">asdf</div>

            <div class="sidecont">
                <center><img src="images/rankings.jpg"></center>
            </div>

            <div class="sidehead"><img src="images/partners.jpg"></div>
            <div class="sidecont">
                <center><img src="images/epvp.jpg"></center>
            </div>
        </div>
        <div style="clear:both;"></div>
        <div class="footer"></div>
    </div>
</body>

最佳答案

图像是行内元素,这意味着它位于文本的基线上。文本 block 中的基线下方有空间,用于具有下部的字符,如 pg。正是这个空间在图像下方形成了间距。

您可以使图像成为 block 元素以避免该空间,并且不要使用已弃用的 center 标签,使用边距使图像居中:

HTML:

<div class="sidecont">
  <img src="images/rankings.jpg">
</div>

添加到CSS:

.sidecont img { display: block; margin: 0 auto; }

关于html - 为什么这张图片下面有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22824645/

相关文章:

java - 当前 Servlet 中的 TDD 方法是否可以优化?

jquery - 在 css 之前加载页面标题

CSS 覆盖没有出现在 <img> 上?

css - 如何从这个图像制作一个垂直可扩展的 DIV 框?

java - 如何解析http header 以获取上传的文件并将其保存到磁盘

javascript - 在 https 连接中加载的 HTTP 内容

javascript - 为什么有些浏览器会打乱我的图像框?

python - find_next 未捕获所有 <div> 实例

javascript - 单击按钮更改div高度

jquery - 无法将 Jquery 垂直 slider 的大小保持在与其旁边的图片相同的高度