将两个div放在同一条线上的方法是什么?

时间:2013-06-14 08:16:44

标签: html css

我用了两个div ... 一个用于显示图像.... 一个用于显示文字...

使用第一个div,我设置了background-image属性来设置background-image ... 当然,将显示属性设置为内联... 但问题是它们是在同一条线上,但不完全相同......

    <div class="div_with_image"></div>
    <div style="display:inline">Text</div>

这是css文件

.div_with_image{
  background-image: url(../beacon/images/icon-plus.png);
  width: 16px;
  height: 16px;
  cursor: pointer;
  display: inline-block; 
}

但是图像显示的颜色略高于文字......我无法解决它... 我需要你的帮助... 谢谢,Zac。

5 个答案:

答案 0 :(得分:3)

这是由于行高。  如果你为一个元素添加高度,其中的文本究竟在哪里?也就是说,

如果你有一个font-size的文本块:10px(理论高度:10px)在一个60px的容器里面,文本到底会在哪里结束?

最可靠的是在容器的顶部,因为文本只能在文本流动的位置定位,高度:10px空间。

但是你可以通过使用与容器相同高度的行高值来克服这个问题,这样文本将采用vertical-align属性并正确对齐

礼貌:Andres Ilich

答案 1 :(得分:1)

为什么不在两者上使用浮动?

Html代码:

<div class="div_with_image"></div>
<div style="float:left;">Text</div>

Css代码:

.div_with_image{
  background-image: url(../beacon/images/icon-plus.png);
  width: 16px;
  height: 16px;
  cursor: pointer;
  float:left;
}

答案 2 :(得分:0)

您是否尝试float元素而非使用inline-block

如果你坚持inline-block,有时候end-start标签需要在同一条线上:

<div class="div_with_image"></div><div
    style="display:inline">Text</div>

丑陋,我试图用一百万个赞成这个(this one?)的upvotes找到这个问题,但有时是必要的。如果我记得,我认为评论也有效。

答案 3 :(得分:0)

您可以尝试将style =“float:left”添加到两个div中。

答案 4 :(得分:0)

使用float:left

<div class="div_with_image"></div>
    <div style="float:left">Text</div>

DEMO