【问题标题】:why is my center <div> is not aligned with my left <div> and right <div>?为什么我的中心 <div> 与我的左 <div> 和右 <div> 不对齐?
【发布时间】:2012-01-27 17:57:17
【问题描述】:

我正在尝试将三个 div 放在一起。一个在左边,一个在中间,一个在右边。

但是,我遇到了中间没有正确对齐的问题。

我当前的 HTML 代码:

 <div class="three_contents">
     <div class="left">Left</div>
     <div class="right">Right</div>
     <div class="center">Center</div>
 </div>

我当前的 CSS 代码:

.three_contents{
width: 900px;
border: 0px solid #000;
}

.left{float: left;
margin-top: 25px;
width: 290px;
height: 290px;}

.right{float: right;
margin-top: 25px;
width: 290px;
height: 290px;}

.center{display:block;
margin: 25px auto;
width: 290px;
height: 290px;}

但是,当我在 three_contents div 中添加 1px 边框时,中间的 div 是对齐的。我附上了两张截图,希望有人可以帮助我解决这个问题。非常感谢。

中间 div 不对齐的问题:

我添加1px边框后,中间div对齐:

【问题讨论】:

  • 请展示您已经尝试过的 CSS。
  • 发布您遇到问题的 HTML 和 CSS 代码。
  • 你还需要解释一下“middle is not aligned proper.”应该是什么意思。
  • 你想要列式布局吗?还是别的什么?
  • 抱歉,我还在编辑问题。请使用代码查看问题。

标签: css html center


【解决方案1】:

仅将边距放在中心div。像这样:

.three_contents
{
    width: 900px;
    border: 0;
}

.left
{
    float: left;
    border: solid 1px;
    width: 290px;
    height: 290px;
}

.right
{
    float: right;
    border: solid 1px;
    width: 290px;
    height: 290px;}

.center
{
    margin: 25px auto;
    display:block;
    border: solid 1px;
    width: 290px;
    height: 290px;
}

我做了一个小提琴给你看:http://jsfiddle.net/stakL/1/

编辑:说实话,我也不太明白为什么会发生这种情况。但是我可以看到,在div 的左右两侧设置的margin-top 属性将中间div 的顶部位置作为应用该边距的参考点。

换句话说,中心div距离顶部25px,左右div距离中间div顶部25px。

【讨论】:

  • 现在可以使用了。你能解释一下为什么如果我把“margin-top”放在左边的div和右边的div中,会导致这个问题吗?另外,当我在中心 div 中只使用一个边距时,为什么左右会对齐?
  • 感谢您的解释和帮助!
猜你喜欢
  • 2011-12-28
  • 2023-03-16
  • 1970-01-01
  • 2013-09-11
  • 2020-07-09
  • 1970-01-01
  • 1970-01-01
  • 2017-07-02
  • 2018-01-16
相关资源
最近更新 更多