如何在另一个中对齐多个div?

时间:2013-07-14 19:04:34

标签: css html alignment

所以这是我的HTML:

...
<div class="header">
<div class="left">
</div>
<div class="center">
<img class="logo" src="linktomyimage.com/image.png" />
</div>
<div class="right">
</div>
</div>

<!-- And the desired result is: -->
[ [LEFT] [CENTER] [RIGHT] ]

我唯一拥有的CSS是:

* {
margin: 0px;
}
img.logo {
display: block;   margin-left: auto;   margin-right: auto; 
}

我真的需要帮助来调整整个页面上的三个div。 div.center也必须与图像具有相同的大小,即宽度 - 800px和高度 - 600px。

4 个答案:

答案 0 :(得分:1)

它看起来更像是一张桌子而不是我的分歧......

<table class="header"><tr>
    <td class="left"></td>
    <td class="center">
        <img class="logo" src="linktomyimage.com/image.png" />
    </td>
    <td class="right"></td>
</tr></table>

事后考虑一下CSS:

table.header{
    width: 100%;
    border-collapse: collapse;
}

table.header td{
    vertical-align: top;
    border: 1px solid #404040;
}

table.header td.center{
    width: 800px;
    height: 600px;
}

这只是一个代码示例,获得想法,并适应您自己的需求^^

答案 1 :(得分:1)

将这些类添加到您的css

.left
{
 display:inline-block;
 width:25%;
}
.center
{
 display:inline-block;
 width:50%;
}
.right
{
 display:inline-block;
 width:25%;
}

答案 2 :(得分:0)

通过以下标记,我想到了两个解决方案:

MARKUP

<div class="header">
    <div class="left">
        Some left test
    </div>
    <div class="center">
    <img class="logo" src="http://placehold.it/50x50" />
    </div>
    <div class="right">
        Some right text
    </div>
</div>

解决方案#1

浮动左右两侧并在中心使用显示块

<强> FIDDLE

的CSS

.header
{
    text-align: center;
    width:100%;
}
.left
{
    float:left
}
.right
{
    float:right;
}
.center
{
    display:inline-block;
}

解决方案#2

在标题元素上使用text-align: justify;

然后拉伸内容以占据100%宽度

<强> FIDDLE

CSS

.header
{
    text-align: justify;
    width:100%;
}
.header > div
{
    display: inline-block;
}
.header:after {
    content: '';
    display: inline-block;
    width: 100%;
}

答案 3 :(得分:0)

.left, .centre, .right {
float:left;
}

什么浮动:左边做的是,它是否会让每个容器从左边组织起来,所以你得到:

[LEFT] - [CENTER] - [右]