
前ページで背景に透過した背景画像を入れました。
ここではヘッダーの上をblackにして上に1列、左側に文字を入れてみましょう。
上部左に文字を1列入れる
左上に文字を1列入れてみましょう。
前ページでheader_1の背景に透過画像を設置しました。
背景画像の上部に入れる文字列の背景をheader_1aで設置し、左側に文字をいれてみましょう。
htmlソース
<body>
<div id="container">
<header>
<div class="header_1">
<div class="header_1a">
<p class="subject_left">ホームページを</p>
</div>
</div>
</header>
</div><!--container-->
</body>
cssファイル
文字の背景header_1aをblackにして、左側に文字を1列入れてみましょう。
cssソース
.header_1a {
width: 100%;
height: 25px;
background: black;
}
.subject_left {
line-height: 25px;
color: white;
text-align: left;
padding-left: 7px;
}
黒枠はbody、 はcontainerです。
ホームページを
おや?文字の背景を黒色にしたはずなのに、透過してる。
実は、header背景の透過が影響してるんです。
こんな時は文字背景を絶対配置で設置します。
やってみましょう。
htmlファイル
背景画像header_1を配置します。
次に、文字列の背景をheader_1aで設置し、文字をいれます。
htmlソース
<body>
<div id="container">
<header>
<div class="header_1"></div>
<div class="header_1a">
<p class="subject_left">ホームページを</p>
</div>
</header>
</div><!--container-->
</body>
cssファイル
文字の背景を絶対配置するため、headerにposition: relativeを指定し、基準点にします。
header_1aを絶対配置します。
cssソース
header [
position: relative; /*追記*/
}
.header_1a {
width: 100%;
height: 25px;
background: black;
position: absolute;
top: 0;
left: 0;
}
.subject_left {
line-height: 25px;
color: white;
text-align: left;
padding-left: 7px;
}
黒枠はbody、 はcontainerです。
ホームページを
上部左右に文字を1列入れる
上の例では左側に文字を1列入れました。
次は、右側にも入れてみます。
htmlファイル
右側に表示するためのソースを1列追記しました。
htmlソース
<body>
<div id="container">
<header>
<div class="header_1"></div>
<div class="header_1a">
<p class="subject_left">ホームページを</p>
<p class="subject_right">サイト</p>
</div>
</header>
</div><!--container-->
</body>
cssファイル
subject-leftのソースを1列書き換えます。
左右に表示するため、floatプロパティでsubject_leftを左へ寄せる。
floatプロパティはここから
cssソース
.subject_left {
float: left; /*追記*/
line-height: 25px;
color: white;
text-align: left;
padding-left: 7px;
}
.subject_right {
line-height: 25px;
color: white;
text-align: right;
padding-right: 7px;
}
ホームページを
サイト
上部左右にそして中央にも文字を1列入れる
中央にも1列文字を入れてみましょう。
htmlファイル
中央に表示するため、subject:leftと、subject:rightの間にsubject: centerを追記しました。
htmlソース
<body>
<div id="container">
<header>
<div class="header_1"></div>
<div class="header_1a">
<p class="subject_left">ホームページを</p>
<p class="subject_center">自作する</p>
<p class="subject_right">サイト</p>
</div>
</header>
</div><!--container-->
</body>
cssファイル
左右、中央に文字を1列表示するには、display: tableを使います。(他にも方法はいろいろありますよ。)
displayプロパティに、値tableを設定するとtable要素のように表示できます。
display:tableはここから
また、displayプロパティに値table-cellを設定すると、1列のセルのように表示できます。
セルの幅を揃えるため左、中、右をwidth%で1:2:1に分けました。
cssソース
.header_1a {
display: table; /*追記*/
width: 100%;
height: 25px;
background: black;
position: absolute;
top: 0;
left: 0;
}
.subject_left {
display: table-cell;
width: 25%; /*追記*/
line-height: 25px;
color: white;
text-align: left;
padding-left: 7px;
}
.subject_center {
display: table-cell;
width: 50%;
line-height: 25px;
color: white;
}
.subject_right {
display: table-cell;
width: 25%; /*追記*/
line-height: 25px;
color: white;
text-align: right;
padding-right: 7px;
}
ホームページを
自作する
サイト
サイト上部などに文字を表示する場合などに使えます。
次ページでロゴマークを入れてみましょう。
