当前位置: 首页 > 面试题库 >

CSS垂直对齐浮动div

盖和洽
2023-03-14
问题内容

我有一个div(#wrapper),其中包含2个并排站立的div。

我希望将右div垂直对齐。我在主包装器上尝试了vertical-align:middle,但是它不起作用。它让我发疯!

希望有人能帮忙。

HTML:

<div id="wrapper">
  <div id="left-div">
    <ul>
      <li>One</li>
      <li>Two</li>
    </ul>
  </div>  
  <div id="right-div">
    Here some text...
  </div>
</div>

CSS:

#wrapper{
  width:400px;
  float:left;
  height:auto;
  border:1px solid purple;}

#left-div{
  width:40px;
  border:1px solid blue;
  float:left;}

#right-div{
  width:350px;
  border:1px solid red;
  float:left;}

ul{
  list-style-type: none;
  padding:0;
  margin:0;}

问题答案:

您没有浮点元素的运气。他们不服从垂直对齐,

您需要的是display:inline-block

请小心,display: inline-block;因为它将元素之间的空白解释为真实的空白。它不会像对待它那样忽略它display: block

我建议这样做:

font-size包含元素的设置为0(零),然后将元素重置font-size为所需的值,如下所示

ul {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0;
}
ul > li {
    font-size: 12px;
}

CSS

#wrapper{
  width:400px;
  height:auto;
  border:1px solid green;
  vertical-align: middle;
  font-size: 0;
}

#left-div{
  width:40px;
  border:1px solid blue;
  display: inline-block;
  font-size: initial;
  /* IE 7 hack */
  *zoom:1;
  *display: inline;
  vertical-align: middle;
}

#right-div{
  width:336px;
  border:1px solid red;
  display: inline-block;  
  font-size: initial;
  /* IE 7 hack */
  *zoom:1;
  *display: inline;
  vertical-align: middle;
}


 类似资料:
  • 问题内容: 我在浮动div中有一个img,但我不知道如何垂直居中。 垂直对齐:当然中间不起作用。 问题答案: 要在父元素中垂直对齐文本,并谨记的是一个内联元素等行为 类似 文本,你可以简单地设置到父元素: 。

  • 问题内容: 如何使条形图的底部而不是顶部?现在它们粘在容器()的顶部,但我希望它们粘在底部。 如您所见,我不知道最高条的高度,所以我也不知道容器的高度。 应该简单吧?如果有帮助,它只能在不错的浏览器中工作。 PS。条的数量是可变的(在示例中不是),其高度是可变的。只有它们的宽度是静态的。定位无济于事,因为容器div没有测量值。 问题答案: 这将达到目的: 它在默认情况下已应用的父div上使用。这改

  • 垂直对齐 1. grid-template-areas 属性值保持换行,并使用空格保持每列垂直对齐。 例如: .foo { grid-template-areas: "header header" "nav main" "footer ...."; } 2. grid、grid-template

  • 水平 & 垂直居中对齐 元素居中对齐 要水平居中对齐一个元素(如 <div>), 可以使用 margin: auto;。 设置到元素的宽度将防止它溢出到容器的边缘。 元素通过指定宽度,并将两边的空外边距平均分配: div 元素是居中的 .center { margin: auto; width: 50%; border: 3px solid green; padding: 10px; } 注意:

  • 在CSS中,行框的高度总是足以容纳它包含的所有行内级框,当一个行内级框 B 的高度小于包含它的行框高度时,则由 vertical-align属性 来决定B在行框中垂直对齐的位置。因此,vertical-align属性只对行内级元素有效,对块级元素无效。并且,该属性不能被子元素继承。 在垂直对齐时,行内非替换元素的行内级框是由 line-height 的高度定义的框,即在内容区的上下各添加半行距后的

  • 问题内容: 我如何使用,以及在性能?的,如果我不使用工作正常。但是,如果我使用浮点数,那么它将不起作用。对我来说,在最后一个div中使用至关重要。 我正在尝试遵循,如果您从所有div中删除浮点数,那么它将正常工作: CSS: JSFiddle 问题答案: 您需要设置行高。