私が一緒に考えているヘッダーのレイアウトを取得するのに苦労しています。
これまでのhtmlは次のとおりです。
<div id="header">
<img src="/img/headerBg.jpg" alt="" class="headerBg" />
<a href="/"><img src="/img/logo.png" alt="Logo" class="logo" /></a>
<div id="loginBox">
other code
</div>
</div>
そして、これまでのCSS:
#header {
height: 130px;
margin: 5px 5px 0 5px;
border: #0f0f12 outset 2px;
border-radius: 15px;
}
#loginBox {
float: right;
width: 23.5%;
height: 128px;
font-size: 75%;
}
.headerBg {
}
.logo {
width: 50%;
height: 120px;
float: left;
display: block;
padding: 5px;
}
私が達成しようとしているのは、「headerBg.jpg」という画像をdiv「header」の幅の100%に表示することです。したがって、本質的にはdiv自体の背景になります。次に、画像「logo.png」とdiv「loginBox」を「headerBg.jpg」の上に表示します。
ロゴは、CSSのように、左端に浮かび、loginBoxを右端に浮かせます。
画像を削除すると、ロゴとdivは正しく配置されますが、画像が導入されると、フロー内の画像の後に2つの浮動アイテムが配置されます。
私はさまざまな追加や再構成を試みましたが、どれも私が望むように動作することを証明していません。
Cssの画像をヘッダーdivの背景として追加しましたが、そのように100%伸縮しません。
誰でもこれに関する洞察を提供できますか?
また、このようなことをカバーするチュートリアルは、私のコレクションへの素晴らしい追加になるでしょう!
ありがとうございました!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Render this</title>
<style type="text/css">
#header {
position:relative;
height: 130px;
margin: 5px 5px 0 5px;
border: #0f0f12 outset 2px;
border-radius: 15px;
}
#loginBox {
position:relative;
float: right;
width: 23.5%;
height: 128px;
font-size: 75%;
}
.headerBg {
position: absolute;
width: 100%;
height: 100%;
z-index: -1;
}
.logo {
position:relative;
width: 50%;
height: 120px;
float: left;
display: block;
padding: 5px;
}
</style>
</head>
<body>
<div id="header">
<img src="img/headerBg.jpg" alt="" class="headerBg" />
<a href="/"><img src="img/logo.png" alt="Logo" class="logo" /></a>
<div id="loginBox">
other code
</div>
</div>
</body>
</html>
.header {
position: relative;
}
.headerBg {
position: absolute;
left: 0px;
right: 0px;
width: 100%;
}
これにより、<div>
の幅に合わせて画像が拡大縮小されることに注意してください。水平方向にのみサイズを変更する場合は、高さを明示的に設定する必要があります。
大きなウィンドウでのみ画像を拡大したい場合は、max-width: 100%;
を試すこともできます。
ヘッダーの背景画像をそのdivの真の背景にします。 Floatは、position:absoluteのように他のオブジェクトを無視しません。
#header {
height: 130px;
margin: 5px 5px 0 5px;
border: #0f0f12 outset 2px;
border-radius: 15px;
background: url(headerBg.jpg);
}
余分なパーツを表示しないdivクラスを設定します。
div {
overflow: hidden;
}
これらの設定は私にとって完璧に機能しました。
#headerBg {
position: absolute;
top: 0px;
left: 0px;
right: 0px;
width: 100%;
height: 100%;
}