[解決済み] CSSで残りの幅を埋める
2022-01-30 14:07:34
質問
このようなヘッダーバーがあります。
<div id="header">
<div class="container">
<img src="img/logo.png"/>
<div id="searchBar">
<input type="text" />
</div>
<div class="buttonsHolder">
<div class="button orange inline" id="myAccount">
My Account
</div>
<div class="button red inline" id="basket">
Basket (2)
</div>
</div>
</div>
</div>
divに残った隙間をsearchBarが埋める必要があります。どうすればいいのでしょうか?
以下は、私のCSSです。
#header {
background-color: #323C3E;
width:100%;
}
.button {
padding:22px;
}
.orange {
background-color: #FF5A0B;
}
.red {
background-color: #FF0000;
}
.inline {
display:inline;
}
#searchBar {
background-color: #FFF2BC;
}
解決方法は?
このレイアウトは、CSSのテーブルセルを使って実現することができます。
以下のように、HTMLを少し修正します。
<div id="header">
<div class="container">
<div class="logoBar">
<img src="http://placehold.it/50x40" />
</div>
<div id="searchBar">
<input type="text" />
</div>
<div class="button orange" id="myAccount">My Account</div>
<div class="button red" id="basket">Basket (2)</div>
</div>
</div>
を囲むラッパー要素を削除するだけです。
.button
要素を使用します。
以下のCSSを適用します。
#header {
background-color: #323C3E;
width:100%;
}
.container {
display: table;
width: 100%;
}
.logoBar, #searchBar, .button {
display: table-cell;
vertical-align: middle;
width: auto;
}
.logoBar img {
display: block;
}
#searchBar {
background-color: #FFF2BC;
width: 90%;
padding: 0 50px 0 10px;
}
#searchBar input {
width: 100%;
}
.button {
white-space: nowrap;
padding:22px;
}
適用
display: table
に
.container
で、幅を100%にします。
について
.logoBar
,
#searchBar
,
.button
, 適用
display: table-cell
.
については
#searchBar
そうすると、他のすべての要素が縮小してフィットする幅を計算し、検索バーが残りのスペースを埋めるように展開されます。
必要に応じて、テーブルのセルでtext-alignとvertical-alignを使用します。
でデモをご覧ください。 http://jsfiddle.net/audetwebdesign/zWXQt/
関連
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] FontAwesomeによる星評価用CSS
-
[解決済み] :first-child が期待通りに動作しない
-
[解決済み] ChromeでCSSカスタムスタイルのボタンから青枠を削除する
-
[解決済み] CSS - div から画面の幅いっぱいまでオーバーフローさせる方法
-
[解決済み] CSSの親セレクタはありますか?
-
[解決済み] CSSでcellpaddingとcellspacingを設定する?
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] 残りの幅を埋めるためにdivを展開する
-
[解決済み】HTML5入力のプレースホルダの色をCSSで変更する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】bootstrap 3で画像にテキストを回り込ませる
-
[解決済み] divをクリックすると、その下にある要素に移動します。
-
[解決済み] Tailwind CSS - コンポーネントとしてのレスポンシブブレークポイント
-
[解決済み] CSS無効なプロパティ値?
-
[解決済み] Bootstrapのポップオーバーの幅を変更する
-
[解決済み] DjangoのCSSが更新されない
-
[解決済み] JavaFX Labelの文字色を変更する方法
-
[解決済み] twitter-bootstrapの@-ms-viewportというタグは何ですか?
-
[解決済み] divが残りの幅を埋めるようにする
-
[解決済み] codepenでfont awesomeを使用する