0

検索バーの横に「検索」ボタンを配置しながら、流動的な入力フィールド幅を持たせようとしています。

入力フィールド.searchは.navigation-rightと呼ばれる包含要素よりもはるかに大きく、ボタン.search-submitが包含 div から押し出されているようです。以下の画像を参照してください。

問題:

問題

私はそれを次のように見せようとしています:

ここに画像の説明を入力

これが私のコードです:(便宜上、マージンとパディングの値を省略しました)

CSS

.navigation-right {
    width: 282px; min-width: 282px;
    height: 50px;

    display: table-cell;
    vertical-align: top;

    border: 1px solid #920000;
}

.search {
    width: 100%;
    height: 30px;

    display: table;
}

.search-input {
    height: 28px;
    width: 100%;

    display: table-cell;

    border: 1px solid #920000;
    outline: 0px;
}

.search-submit {
    width: 30px;
    height: 30px;

    display: table-cell;
    vertical-align: top;

    margin: 0;
    padding: 0;

    border: 0;
}

HTML

<div class="navigation-right">

    <form class="search">

        <input class="search-input">

        <button class="search-submit"></button>

    </form>

</div>
4

5 に答える 5

1

以下のクラスを置き換えます

.search-input {
    height: 28px;
    width: 70%;

    display: table-cell;

    border: 1px solid #920000;
    outline: 0px;
}
于 2013-10-29T12:48:55.147 に答える
0

検索フィールド (.search-input) の幅が 100% に設定されているため、親がいっぱいになります。幅を約250pxに縮小する必要があります

于 2013-10-29T12:49:11.190 に答える
0
.search-input {
    height: 28px;
    width: 70%;

    display: table-cell;

    border: 1px solid #920000;
    outline: 0px;
    float:left;
}

.search-submit {
    width: 30px;
    height: 30px;

    display: table-cell;
    vertical-align: top;

    margin: 0;
    padding: 0;

    border: 0;
    float:left;
}
于 2013-10-30T05:20:02.723 に答える
-1
.search-input {
    height: 28px;
    width: 100%;
      display: table-cell;
    border: 1px solid #920000;
    outline: 0px;
    position:relative;
float:left;
}

.search-submit {
    width: 30px;
    height: 30px;
    display: table-cell;
    vertical-align: top;
    margin: 0;
    padding: 0;
    border: 0;
    position:absolute;
    float:left;

}
于 2013-10-29T12:53:43.167 に答える