2

我知道这已经被问过很多次了,但我仍然无法独自完成我想要的。我查看了各种网站以寻求帮助,例如HereHere以及使用具有垂直对齐、行高等的显示表。

这是我想要完成的(我知道我可能需要添加更多 div)。文本并不总是恒定的,所以我不能只设置填充并完成它,因为红色和蓝色的文本可能会改变长度。

我的 div 的图像

这是我目前拥有的一个简单的 jsFiddle:http: //jsfiddle.net/gP2U8/9/

<div class="container">
    <div class="left">
        <img src="http://www.gadgets-for-men.co.uk/wp-content/themes/revolution_tech-20/images/rss-icon-50.gif" />
        <span>This is text below the image</span>
    </div>
    <div class="right">
        <span>This is text to the right of the image, will usualy contain a lot of text. This is text to the right of the image, will usualy contain a lot of text. This is text to the right of the image, will usualy contain a lot of text. This is text to the right of the image, will usualy contain a lot of text.</span>
    </div>
</div>


.container{
    border: 1px solid black;
    width: 400px;
    height: auto;
    position: relative;
    display: inline-block;
}

.left{
    float:left;
    width: 25%;
}

.right{
     float: right;
    width: 75%;
}

.left, .right{
     margin-top: 25px;
    margin-bottom: 25px;
}
4

3 回答 3

2

你离得太近了!只需将图像设置为display: block

http://jsfiddle.net/d4DaV/1/

于 2013-03-17T19:08:08.533 回答
2

您可以使用display: tableanddisplay: table-cell进行垂直对齐。

http://jsfiddle.net/d4DaV/3/

不适用于 IE6 和 IE7 但从 IE8 向上

于 2013-03-17T19:21:07.927 回答
0

不要使用浮动元素。相反,使用内联元素(您可以在其上使用样式),用andvertical-align粘合在一起,如这个演示小提琴所示。white-space: nowrapfont-size: 0

标记(未更改):

<div class="container">
    <div class="left"></div>
    <div class="right"></div>
</div>

样式表:

.container{
    border: 1px solid black;
    width: 400px;
    padding: 25px 0;
    white-space: nowrap;
    font-size: 0;
}
.left, .right {
    display: inline-block;
    vertical-align: middle;
    white-space: normal;
    font-size: 12pt;
}
.left{
    width: 25%;
}
.right{
    width: 75%;
}
img {
    display: block;
}
于 2013-03-17T20:29:53.107 回答