图像不会显示在文本旁边

时间:2012-05-15 18:15:51

标签: html css

这是我的代码:

<div id="banner">
  <h1 class="title">Sam Clark</h1> <img src="Images/twitter.png" width="35" height="35" alt="Twitter" id="twitter-img" />
  </div>

图像显示在新行上...如何阻止此操作? 顺便说一句,我刚才意识到我不需要横向居中......抱歉。

3 个答案:

答案 0 :(得分:2)

<h1>元素是块级元素,这意味着默认情况下它将占用输入宽度。如果您希望图像与文本显示在同一行,则需要使用文本在里面元素中定义它。

<h1 align="center" class="title">
    Sam Clark <img src="Images/twitter.png" width="35" height="35" alt="Twitter" id="twitter-img" />
</h1>

如果您尝试向左或向右浮动图像,则需要在 <h1>元素之前将其定义为


在一些游戏之后,我能够找到一种方法来垂直居中图像旁边的文本,同时还保持文本在标题内部的水平居中,但它涉及添加一个额外的(非语义)元素。

<h1 class="title">
    <span><img src="Images/twitter.png" width="35" height="35" alt="Twitter" id="twitter-img" /> Sam Clark</span>
</h1>
h1.title {
    text-align: center;
}
h1.title span {
    display: inline-block;
    line-height: 35px;
}
h1.title span img {
    float: right;
    margin-left: 7px;
}

See the jsFiddle.

答案 1 :(得分:0)

默认情况下,

h1会显示displayblock。要更改此项,请使用此CSS:

#banner .h1 {
    display: inline;
}

答案 2 :(得分:0)

<h1>元素是块级元素。您可以选择非块级元素(例如<span>)或更改<h1>元素的样式并设置display:inline;

例如:

#banner h1.title {
    display: inline;
}

另一种选择是将图像放在<h1>标记内,然后将图像的vertical-align属性设置为中间。

<div id="banner">
  <h1 align="center" class="title">Sam Clark <img src="Images/twitter.png" width="35" height="35" alt="Twitter" id="twitter-img" style="vertical-align:middle" /></h1>
</div>​