0

Web サイトのページの上部にヘッダー バーを作成しようとしていますが、レイアウトに問題があります。以下は私の望ましい結果です:

目標 http://ambiguities.ca/images/goal.png


html は次のとおりです。

<div id="page_wrapper">
    <div id="header_wrapper">
        <div id="banner_wrapper">
            <div id="header_banner">
                <div class="header_format">Site Name</div>
            </div>
        </div>
        <div id="user_management">
            <div class="header_format">Login / Register</div>
        </div>
        <div id="user_search">
            <form method="post" action="?search">
                    <input id="search_box" type="search" name="search" autocomplete="off" placeholder="Search..." />
            </form>
        </div>
    </div>
</div>

そしてCSS:

body{
    margin:0;
    padding:0;
}

#page_wrapper {
    width: 100%;
    min-width: 800px;
}

#header_wrapper {
    width: 100%;
    height: 30px;
    background-color: #E6E6E6;
    border-bottom-color: #D8D8D8;
    border-bottom-style: solid;
    border-bottom-width: 1px;
}

#banner_wrapper {
    float: left;
    width: 100%;
}

#header_banner {
    margin: 0 180px 0 160px;
}

#user_management{
    float: left;
    height: 30px;
    width: 160px;
    margin-left: -100%;
    border-right-color: #D8D8D8;
    border-right-style: solid;
    border-right-width: 1px;
}

#user_search {
    padding-top: 2px;
    float: left;
    height: 30px;
    width: 180px;
    margin-left: -181px;
    border-left-color: #D8D8D8;
    border-left-style: solid;
    border-left-width: 1px;
}

#search_box {
    height: 26px;
    width: 176px;
    margin: 0;
}

.header_format {
    font-family: Verdana;
    font-size: 10px;
    text-align: center;
    line-height: 30px;
    vertical-align: middle;
}

これが最も効率的なコードではない可能性があることは理解しています。私の本当の問題は、user_search div で、上部に 2 のパディングが追加されると、マウス クリックで検索ボックスが使用できなくなるという事実にあります。誰かが私を正しい方向に向けたり、これを行うためのより良い方法を示したりすることで私を助けることができれば、それは大歓迎です.

4

1 に答える 1

1

まず、「#user_search」から「padding-top」の値を削除し、次の CSS を使用します。

#user_search {
    float: left;
    height: 30px;
    width: 180px;
    margin-left: -181px;
    border: 1px solid #D8D8D8;
}

次に、「margin-top」値を「#search_box」に追加すると、うまくいくはずです。

#search_box {
    height: 26px;
    width: 176px;
    margin: 5px 0 0 0;
}

デモ: http://jsfiddle.net/8Frnq/

于 2013-09-13T13:49:30.677 に答える