css

CSSを書けるようになりたいなら3つポイントを覚えるだけでいい。

CSSを書けるようになりたいなら次のポイントを覚えるだけでいい。
0、CSSの基礎
1、ボックス
2、セレクタ
3、デバッガ

CSSの基礎

CSSって何?って聞かないで、そこはクリアしてる人に向けてこの記事を書いています。

HTMLのパーツに対して様々な”属性”を設定するものがCSSです。

CSSは、パーツそのものに記述するインライン型、HTMLの記述内に書き込む型、外部ファイルで指定する型があります。

デバッグするときに楽なのは、インライン型、HTMLのソース内に書き込む型です。

たとえば、インライン型

<img src=”AAAA.gif” style=”width:300px;height:auto;”>

HTMLのソース内に書き込む型

<img src=”AAAA.gif” class=”imgA”>
<style>
.imgA{
width:300px;
height:auto;
}
</style>

外部ファイルで指定する型
<head>
<link rel=’stylesheet’ href=’aaa.css”/>
 :
</head>

<img src=”AAAA.gif” class=”imgA”>

— aaa.css —
.imgA{
width:300px;
height:auto;
}

ワードプレスなどでは、自動的にHTMLソース内に書き出してくれる「外観->カスタマイズ->追加CSS」などもあります。


1、ボックス


CSSのボックスは下図のような構造を持っています。


例えば、

<div class=”demo1″>DEMO 1</div>
<style>
.demo1{
margin:5px;
border:3px solid #ccc;
padding:10px;
}

DEMO 1

黒い枠の内側が前述した class=”demo1″ のボックスです。

margin:5px なので黒いフレームとグレーのフレームの間は上下左右にそれぞれ 5px あいています。
border:3px solid #ccc なのでグレーの線は太さ 3px で solid(実践) #ccc (灰色) で表示されています。
次に padding;10px なのでグレーの線と「DEMO 1」の文字の上下左右に 10px の隙間が空いています。

ワンポイント
margin や padding といったコマンドのパラメーターの書き方には以下のような規則があります。

パラメータが一つの場合
margin:パラ1(上下左右)

パラメータが二つの場合
margin:パラ1(上下) パラ2(左右)

パラメータが三つの場合
margin:パラ1(上) パラ2(左右) パラ3(下)

パラメータが四つの場合
margin:パラ1(上) パラ2(右) パラ3(下) パラ4(左) ※時計回りと覚えるといいです。


このほか、個別に指定することもでき、それぞれ top right bottom left のように指定できます。
例えば、
margin-right:5px;
で、右側に 5px の余白がとられます。


セレクタ

ブロックの属性を指定するとき、どのブロックに対して影響を与えたいかを指定するのがセレクタです。

次のようなものがあります。

そのうち1,3,4,5,9を暗記しておけば概ねことがたります。

1.要素の指定
 img とか a とか

<p>pタグ</p>
<span>spanタグ</span>
<style>
span{color:#f00;}
</style>

pタグ

spanタグ

2.*(すべての要素を指定)

3..class(クラス名の指定) class=”xxxx” と記述しているもの
 <div class=”a”>

<p>pタグ</p>
<p class=”example”>クラス名exampleのpタグ</p>
<span>spanタグの</span><br>
<style>
.example{
color:#f00;
}
</style>

pタグ

クラス名exampleのpタグ

spanタグの


4.#id(ID名の指定)
 id=”xxxx” と記述しているもの
 <div id=”xxxx”>

<p>pタグ</p>
<p id=”example”>ID名exampleのpタグ</p>
<span>spanタグ</span><br>
<style>
#example {
color: #F80206;
}
</style>

pタグ

ID名exampleのpタグ

spanタグ


5.A B(子孫セレクタの指定)

 <div class=”cls1″>
 <a href=”・・・”
 <img ・・・

上記で img タグのブロック対して属性を設定したい場合
.cls1 a img { ~ } と書くことで指定することができます。

<p>pタグ</p>
<p><span>pタグの子要素のspanタグ</span></p>
<span>spanタグ</span>
<style>
p span {
color: #F80206;
}
</style>

pタグ

pタグの子要素のspanタグ

spanタグ

6.A > B(子セレクタの指定)

 <div class=”cls1″>
 <img ・・・
 <a href=”・・・”
 <img ・・・

上記で 2つめの img タグのブロック対して属性を設定したい場合
.cls1 > a > img { ~ } と書くことで指定することができます。

<div>divタグの内容</div>
<div>
<span>divタグの子要素のspanタグ</span>
<div><p><span>divタグの孫要素のspanタグ</span></p></div>
</div>
<span>spanタグ</span>
<style>
div > span {
color: #F80206;
}
</style>

divタグ
divタグの子要素のspanタグ

divタグの孫要素のspanタグ

spanタグ

7.A + B(隣接セレクタの指定)
 <div class=”cls1″>
 <img ・・・
 <a href=”・・・”
 <img ・・・

上記で 1つめの img タグのブロック対して属性を設定したい場合
.cls1 + img { ~ } と書くことで指定することができます。

<p>pタグ</p>
<div>divタグ</div>
<p>divタグに隣接したpタグ</p>
<p>pタグに隣接したpタグ</p>
<style>
div + p {
color: #F80206;
}
</style>

pタグ

divタグ

divタグに隣接したpタグ

pタグに隣接したpタグ



8.A ~ B(要素の後ろにある同じ階層のセレクタの指定)
 <div class=”cls1″>
 <img ・・・
 <a href=”・・・”
 <img ・・・

上記で 2つめの img タグのブロック対して属性を設定したい場合
a ~ img { ~ } と書くことで指定することができます。

<p>divタグより前にあるpタグ</p>
<div>divタグ</div>
<p>divタグより後にあるpタグ</p>
<p>divタグより後にあるpタグ</p>
<div><p>divタグの子要素のpタグ</p></div>
<p>divタグより後にあるpタグ</p>
<style>
div ~ p {
color: #F80206;
}
</style>

divタグより前にあるpタグ

divタグ

divタグより後にあるpタグ

divタグより後にあるpタグ

divタグの子要素のpタグ

divタグより後にあるpタグ



9.A , B(複数のセレクタの指定)

 <div class=”cls1″>

 <div class=”cls2″>

 <div class=”cls3″>

上記で cls1 と cls3 のブロック対して属性を設定したい場合
.cls1 , .cls3 { ~ } と書くことで指定することができます。

<div>divタグの内容</div>
<p>pタグの内容</p>
<span>spanタグの内容</span>
<style>
</style>

divタグの内容

pタグの内容

spanタグの内容

スポンサードリンク

関連記事一覧