【问题标题】:Div in HTML not floating left with CSSHTML 中的 Div 不随 CSS 向左浮动
【发布时间】:2014-01-23 18:59:23
【问题描述】:

类名为“header-body-right”的 div 似乎没有浮动到名为“header-body-centre”的 div 的左侧,我不明白为什么,这是我的 HTML,

    <!DOCTYPE HTML>
<HTML>
 <HEAD>
  <TITLE>  </TITLE>
  <meta charset="UTF-8" />
  <link href="main.css" rel="stylesheet" type="text/css">
  <META NAME="Generator"    CONTENT="Notepad">
  <META NAME="Author"       CONTENT="00">
  <META NAME="KEYWORDS"     CONTENT="" />
  <META NAME="DESCRIPTION"  CONTENT="" />
 </HEAD>

 <BODY>

    <div class="header-top">

    </div>

    <div class="header-body">

        <div class="header-body-centre">
            <div class="logo">
            <img src="logo.png" />
            </div>
        </div>

        <div class="header-body-right">
            test
        </div>

    </div>



    <div class="navbar">

    </div>

    <div class="content-container">

    </div>
 </BODY>

</HTML>

我用于代码的 CSS 发布在下面,

 body
{   
    margin:0px;
    padding:0px;
}

.header-top
{
    height:11px;
    width:100%;
    background-image: url('HeaderTopNav.png');
    background-repeat: repeat-x;
}
.header-body
{
    width:100%;
    height:100px;
}
.header-body-centre
{
    margin: 0 auto;
    height:100%;
    width:70%;
}

.header-body-right
{
    width:15%;
    height:100px;
        float:left;

}

.navbar
{
    height:35px;
    width:auto;
    border: 1px solid green;
}
.logo
{
    margin-top:35px;
    float:left;
}

.quickNav
{
    float:right;

}

.container
{
    margin: 0 auto;
    background-color: #fff;
    border: 2px solid #c9c8c8;
    border-bottom: none;
    height:auto;
    overflow:hidden;
    width: 1000px;
    clear:both;
 }

谁能明白为什么?我试过浮动 header-bosy-center 并减小 header-body-right 的宽度,但没有任何效果。谁能看到我做错了什么?我没主意了。谢谢。

【问题讨论】:

    标签: html css


    【解决方案1】:

    为了让元素并排,您必须浮动两个元素。这个 css 也将 .header-body-center 向左浮动,导致元素并排显示。

    .header-body-centre
    {
        margin: 0 auto;
        height:100%;
        width:70%;
        float: left;
    }
    

    由于浮动元素的行为方式,您之前的样式不起作用。当一个元素浮动时,它会脱离文档的正常流程。它向左或向右移动,直到它接触到它的包含框或另一个浮动元素的边缘。

    https://developer.mozilla.org/en/CSS/float

    【讨论】:

    • 太棒了,谢谢。但是现在我这样做了 div 没有居中。有没有办法解决这个问题,或者我必须将另一个宽度为 15% 的 div 放在 header-body-center 的左侧?
    • 将 header-body-center 包裹在一个宽度约为 85% 的新 div 中(如果内容溢出到下一行,可能需要调整)。使用 margin: 0 auto; 为新 div 设置样式
    【解决方案2】:

    给你,伙计:http://jsfiddle.net/YpAN8/1/

    .header-body-centre
    {
        height:100%;
        width:70%;
        float:left;
        margin-left:15%;
        background-color: yellow; /* remove this */
        margin-left:
    }
    
    .header-body-right
    {
        width:15%;
        height:100px;
        float:left;
        background-color: red; /* remove this */
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-11
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      相关资源
      最近更新 更多