2

クラス名が「header-body-right」の div が、「header-body-center」という名前の 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 の幅を狭めようとしましたが、何も機能しません。誰かが私が間違ったことを見ることができますか? 私はアイデアがありません。ありがとう。

4

2 に答える 2

4

要素を並べて配置するには、両方の要素をフロートする必要があります。この css は .header-body-center も左にフロートし、要素を並べて表示します。

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

フローティング要素の動作が原因で、以前のスタイリングが機能しませんでした。要素がフローティングされると、ドキュメントの通常のフローから取り出されます。含まれているボックスまたは別の浮動要素の端に触れるまで、左または右にシフトされます。

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

于 2012-04-07T17:18:42.663 に答える
1

ほら、おいでよ: 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 */

}
于 2014-01-23T10:59:23.857 に答える