Step.6 CSSのセレクタなどについて学ぼう
CSSを書く際の半角スペースや改行などについて
そんなわけで、ちょっとCSSを書く際の工夫というか、半角スペースとか改行について教えておくね。
[code language=”css” title=”CSS” highlight=””]
header {
display:block;
background:#ffb0c6;
width:1000px;
height:180px;
margin:0px auto;
font-size:20px;
font-weight:bold;
}
main {
display:block;
background:#ffffff;
width:1000px;
height:400px;
margin:0px auto;
}
footer{
display:block;
background:#ffb0c6;
width:1000px;
height:50px;
margin:0px auto;
}
body {
margin:0px;
color:#9e2634;
font-size:14px;
line-height:23px;
background:#fff7de;
font-family:’MS ゴシック’;
}
p {
padding:10px;
margin:0px;
}
[/code]
さっきから私がCSSを出す時に半角スペースとか改行を入れていたのだけれども、これ実は必須じゃないの。ただ見えやすいようにしてるだけなのね。
無駄を取っ払ったら一行で書けちゃうよ。
[code language=”css” title=”CSS” highlight=””]
header{display:block;background:#ffb0c6;width:1000px;height:180px;margin:0px auto;font-size:20px;font-weight:bold;}main{display:block;background:#ffffff;width:1000px;height:400px;margin:0px auto;}footer{display:block;background:#ffb0c6;width:1000px;height:50px;margin:0px auto;}body{margin:0px;color:#9e2634;font-size:14px;line-height:23px;background:#fff7de;font-family:’MS ゴシック’;}p{padding:10px;margin:0px;}
[/code]
私が表示しているやり方はCSSを解説してるサイトとかでよく見かけるかな。
[code language=”css” title=”CSS” highlight=””]
header{
display: block;
background: #ffb0c6;
width: 1000px;
height: 180px;
margin: 0px auto;
font-size: 20px;
font-weight:bold;
}
main{
display: block;
background: #ffffff;
width: 1000px;
height: 400px;
margin: 0px auto;
}
footer{
display: block;
background: #ffb0c6;
width: 1000px;
height: 50px;
margin: 0px auto;
}
body{
margin: 0px;
color: #9e2634;
font-size: 14px;
line-height: 23px;
background: #fff7de;
font-family:’MS ゴシック’;
}
p {
padding: 10px;
margin: 0px;
}
[/code]
書き方はほんとメルちゃんの好きにしたらいいよ。自分でルール決めて書くと後で編集するときにも困らないしね。後で編集するのも大体自分自身になるんだしね。
例えば、セレクタごとに一行で書いちゃうとか
[code language=”css” title=”CSS” highlight=””]
header { display:block; background:#ffb0c6; width:1000px; height:180px; margin:0px auto; font-size:20px; font-weight:bold; }
main { display:block; background:#ffffff; width:1000px; height:400px; margin:0px auto; }
footer{ display:block; background:#ffb0c6; width:1000px; height:50px; margin:0px auto; }
body { margin:0px; color:#9e2634; font-size:14px; line-height:23px; background:#fff7de; font-family:’MS ゴシック’; }
p { padding:10px; margin:0px; }
[/code]
私もよく margin と padding を同じ行にしたり、font-size と line-height と color など文字関連のプロパティは全部同じ行にしたり、とかしてるよ。
[code language=”css” title=”CSS” highlight=””]
header {
display:block;
background:#ffb0c6;
width:1000px; height:180px;
margin:0px auto;
font-size:20px; font-weight:bold;
}
main {
display:block;
background:#ffffff;
width:1000px; height:400px;
margin:0px auto;
}
footer{
display:block;
background:#ffb0c6;
width:1000px; height:50px;
margin:0px auto;
}
body {
margin:0px;
color:#9e2634; font-size:14px; line-height:23px; font-family:’MS ゴシック’;
background:#fff7de; }
p {
padding:10px; margin:0px;
}
[/code]
ところでさ、この行頭の空白ってどうしてるの? スペースキー連打してるの?
スペースを作ることでセレクタと見分けがつくようにしてる感じだね。
テキストエディターソフトによってはタブによるスペースを何文字分にできるかも設定できたりするから便利よ。私は半角8文字だと開けすぎて嫌だからよく4文字ぐらいにしてるかな。
ちなみに残念ながらメモ帳にはタブの空白文字数を設定する機能はなさそうね。
/* メモの内容 */
といった感じに指定してね。最後の */ の直前の文字は半角スペースか半角英数字でないといけないよ。半角スペースを入れる癖をつけることをお勧めしておくよ。
[code language=”css” title=”CSS” highlight=””]
/* ヘッダー関連 */
header {
display:block; /* こんな風に */
background:#ffb0c6; /* ここに入れることもできるよ */
width:1000px; /* 横幅 */
height:180px; /* 縦幅 */
margin:0px auto; /* って感じに説明入れておくと */
font-size:20px; /* 後で編集するときにわかりやすいね */
font-weight:bold;
}
/* メイン関連 */
main {
display:block;
background:#ffffff;
width:1000px;
height:400px;
margin:0px auto;
}
/* フッター関連 */
footer {
display:block;
background:#ffb0c6;
width:1000px;
height:50px;
margin:0px auto;
}
/* その他 */
body {
margin:0px;
color:#9e2634;
font-size:14px;
line-height:23px;
background:#fff7de;
font-family:’MS ゴシック’;
}
p {
padding:10px;
margin:0px;
}
[/code]
CSSの対象となる要素の指定方法 class属性を使ってみよう
今回はその中でもよく使うのを伝えておくね。
はて、メルちゃん。今のindex.htmlファイルを見て欲しい。
[code language=”html” title=”HTML” highlight=”10″]
<!doctype html>
<html>
<head>
<title>メルちゃんの素敵なサイト★</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header><p>メルちゃんの素敵なサイト★</p></header>
<main><p>メイン</p><p>行間を試すために文字を沢山書いておきます。文章を読みやすくするには多少行間を開けておいたほうが良いでしょう。文字の大きさも、女性は小さい文字を好むことが多いようですが、小さすぎると大変読み辛くなり、せっかくサイトを作ったのに見てもらえなくなったりしますので単純に見た目だけに拘らず、見やすさ、使いやすさ、わかりやすさ、といったものに目を向けるのも大切だと思います。</p></main>
<footer><p>コピーライト</p></footer>
</body>
</html>
[/code]
それぞれの<p>要素に class っていう属性を指定してみよう。
[code language=”html” title=”HTML” highlight=”12,13″]
<!doctype html>
<html>
<head>
<title>メルちゃんの素敵なサイト★</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header><p>メルちゃんの素敵なサイト★</p></header>
<main>
<p class="main1">メイン</p>
<p class="main2">行間を試すために文字を沢山書いておきます。文章を読みやすくするには多少行間を開けておいたほうが良いでしょう。文字の大きさも、女性は小さい文字を好むことが多いようですが、小さすぎると大変読み辛くなり、せっかくサイトを作ったのに見てもらえなくなったりしますので単純に見た目だけに拘らず、見やすさ、使いやすさ、わかりやすさ、といったものに目を向けるのも大切だと思います。</p>
</main>
<footer><p>コピーライト</p></footer>
</body>
</html>
[/code]
クラス名を決めておくことによって、そのクラス名を指定してCSSを書くことができるよ
[code language=”css” title=”CSS” highlight=”36-41″]
header {
display:block;
background:#ffb0c6;
width:1000px;
height:180px;
margin:0px auto;
font-size:20px;
font-weight:bold;
}
main {
display:block;
background:#ffffff;
width:1000px;
height:400px;
margin:0px auto;
}
footer {
display:block;
background:#ffb0c6;
width:1000px;
height:50px;
margin:0px auto;
}
body {
margin:0px;
color:#9e2634;
font-size:14px;
line-height:23px;
background:#fff7de;
font-family:’MS ゴシック’;
}
p {
padding:10px;
margin:0px;
}
.main1 {
color:#ff0000;
}
.main2 {
color:#000000;
}
[/code]
ちなみに、クラス名は半角英数にしておくのが無難だよ。
<footer>要素のクラス名を main1 にしてごらん。
[code language=”html” title=”HTML” highlight=”16″]
<!doctype html>
<html>
<head>
<title>メルちゃんの素敵なサイト★</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header><p>メルちゃんの素敵なサイト★</p></header>
<main>
<p class="main1">メイン</p>
<p class="main2">行間を試すために文字を沢山書いておきます。文章を読みやすくするには多少行間を開けておいたほうが良いでしょう。文字の大きさも、女性は小さい文字を好むことが多いようですが、小さすぎると大変読み辛くなり、せっかくサイトを作ったのに見てもらえなくなったりしますので単純に見た目だけに拘らず、見やすさ、使いやすさ、わかりやすさ、といったものに目を向けるのも大切だと思います。</p>
</main>
<footer class="main1"><p>コピーライト</p></footer>
</body>
</html>
[/code]
CSSの対象となる要素の指定方法 idとclassの違い
<タグ名 id=”ID名”>
ってID名を入れるの。セレクタでは頭にシャープ「#」をつけるよ。
ID名は頭文字は半角英文字じゃないとだめだよ。頭文字に数字使えないからね。
[code language=”html” title=”HTML” highlight=”12,13″]
<!doctype html>
<html>
<head>
<title>メルちゃんの素敵なサイト★</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header><p>メルちゃんの素敵なサイト★</p></header>
<main>
<p id="main1">メイン</p>
<p id="main2">行間を試すために文字を沢山書いておきます。文章を読みやすくするには多少行間を開けておいたほうが良いでしょう。文字の大きさも、女性は小さい文字を好むことが多いようですが、小さすぎると大変読み辛くなり、せっかくサイトを作ったのに見てもらえなくなったりしますので単純に見た目だけに拘らず、見やすさ、使いやすさ、わかりやすさ、といったものに目を向けるのも大切だと思います。</p>
</main>
<footer><p>コピーライト</p></footer>
</body>
</html>
[/code]
[code language=”css” title=”CSS” highlight=”36-41″]
header {
display:block;
background:#ffb0c6;
width:1000px;
height:180px;
margin:0px auto;
font-size:20px;
font-weight:bold;
}
main {
display:block;
background:#ffffff;
width:1000px;
height:400px;
margin:0px auto;
}
footer {
display:block;
background:#ffb0c6;
width:1000px;
height:50px;
margin:0px auto;
}
body {
margin:0px;
color:#9e2634;
font-size:14px;
line-height:23px;
background:#fff7de;
font-family:’MS ゴシック’;
}
p {
padding:10px;
margin:0px;
}
#main1 {
color:#ff0000;
}
#main2 {
color:#000000;
}
[/code]
メルちゃん小学三年生の時クラスは何組だった?
同じクラスの人はたくさんいるけれど、メルちゃんはメルちゃん一人だけってこと。
複数のセレクタにCSSを指定する
カンマ「,」で区切ることによって複数のセレクタにCSSを指定することができるんだ。
[code language=”css” title=”CSS” highlight=”1″]
footer,#main1 {
color:#ff0000;
}
[/code]
例えば今のCSSならば
[code language=”css” title=”CSS” highlight=”2,4,6,11,13,15,18,20,22″]
header {
display:block;
background:#ffb0c6;
width:1000px;
height:180px;
margin:0px auto;
font-size:20px;
font-weight:bold;
}
main {
display:block;
background:#ffffff;
width:1000px;
height:400px;
margin:0px auto;
}
footer {
display:block;
background:#ffb0c6;
width:1000px;
height:50px;
margin:0px auto;
}
body {
margin:0px;
color:#9e2634;
font-size:14px;
line-height:23px;
background:#fff7de;
font-family:’MS ゴシック’;
}
p {
padding:10px;
margin:0px;
}
#main1 {
color:#ff0000;
}
#main2 {
color:#000000;
}
[/code]
この部分をまとめて指定した後に、個別で違う部分を指定してやるといいよ。
こっちの方が後々ページの全体の横幅を変えたいって時に一気に変えられるし便利だね。
[code language=”css” title=”CSS” highlight=”1-5″]
header,main,footer {
display:block;
width:1000px;
margin:0px auto;
}
header {
background:#ffb0c6;
height:180px;
font-size:20px;
font-weight:bold;
}
main {
background:#ffffff;
height:400px;
}
footer {
background:#ffb0c6;
height:50px;
}
body {
margin:0px;
color:#9e2634;
font-size:14px;
line-height:23px;
background:#fff7de;
font-family:’MS ゴシック’;
}
p {
padding:10px;
margin:0px;
}
#main1 {
color:#ff0000;
}
#main2 {
color:#000000;
}
[/code]
はて、他にも色々使えるセレクタとかあるんだけれど、メルちゃん飽きてきてそうだから次はサイト弄りにしようか。