【CSS3学習】セレクタについて

前回のブログ:[cssとは・基本の記述方法](http://qiita.com/natsukan/items/f22f29b74207f5d32bf4)
#セレクタ#

##**全称セレクタ(ユニバーサルセレクタ)　**##
>書式 : **＊**
>範囲 : 全ての要素
>(アスタリスクを記述し、すべての要素に対してスタイルを適用する。)

>```html
<h1>Qiita</h1>
<p>cssとは<strong>Cascading Style Sheet</strong>の略。</p>
<p>HTMLに対して<strong>色、大きさ、配置など</strong>を指定してページをデザインするための言語</p>
<ul>
  <li>HTML</li>
  <li>CSS</li>
  <li>JavaScript</li>
  <li>jQuery</li>
  <li>Ruby</li>
  <li>PHP</li>
</ul>
>```

>```css
* {
    color: blue;
}
```

><img width="610" alt="全称.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/a31fe3e4-3068-1785-dd15-bd62e6d3f371.png">


##**要素型セレクタ**##
>書式 : **　要素名**
>範囲 : 要素名で指定した要素
>(文書内の指定した要素のすべてに対してスタイルを適用する。)

>```html
<h1>Qiita</h1>
<p>cssとは<strong>Cascading Style Sheet</strong>の略。</p>
<p>HTMLに対して<strong>色、大きさ、配置など</strong>を指定してページをデザインするための言語</p>
<ul>
  <li>HTML</li>
  <li>CSS</li>
  <li>JavaScript</li>
  <li>jQuery</li>
  <li>Ruby</li>
  <li>PHP</li>
</ul>
>```

>```css
p {
    color: red;
}
```
><img width="601" alt="要素.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/a674e82a-90a0-fa4e-0f06-ea1343910f63.png">


##**classセレクタ**##
>書式 : **　.クラス名**
>範囲 : クラス名をつけた範囲
>(class属性によって特定のclass名がつけられた要素を対象にスタイルを適用する。
id属性とは異なり、１つの文書内で同じclass名を複数指定することができるので、複数の箇所や異なる要素に対し同じスタイルを指定できる。)

>```html
<h1 class="title">Qiita</h1>
<p>cssとは<strong>Cascading Style Sheet</strong>の略。</p>
<p>HTMLに対して<strong>色、大きさ、配置など</strong>を指定してページをデザインするための言語</p>
<ul>
  <li>HTML</li>
  <li>CSS</li>
  <li>JavaScript</li>
  <li>jQuery</li>
  <li>Ruby</li>
  <li>PHP</li>
</ul>
>```

>```css 
.title{
    color: lightpink;
}
```
>```css
p.title{
    color: lightpink;
}
```
><img width="599" alt="class.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/91928c40-7d7f-ff3a-ada9-b47847ba4d26.png">




##**idセレクタ**##
>書式 : **　#id名**
>範囲 : id名をつけた範囲
>(id属性によって特定のid名が付けられた要素に対象にスタイルを適用する。
1つの文書内では同じid名を重複して指定することはできない。)

>```html
<h1 class="title">Qiita</h1>
<p id="css">cssとは<strong>Cascading Style Sheet</strong>の略。</p>
<p>HTMLに対して<strong>色、大きさ、配置など</strong>を指定してページをデザインするための言語</p>
<ul>
  <li>HTML</li>
  <li>CSS</li>
  <li>JavaScript</li>
  <li>jQuery</li>
  <li>Ruby</li>
  <li>PHP</li>
</ul>
>```

>```css 
#css{
    color: orange;
}
```

>```css
p#css{
    color: orange;
}
```
><img width="599" alt="id.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/8a9812f5-65f7-715e-9160-039866c2c854.png">


##**擬似クラス**##

>###**:link**###
>>書式 : **要素名:link**
>>範囲 : 未訪問のリンク
>>(未訪問のリンクに対してスタイルを適用する。)

>>```css
a:link {
    color:#1b95e0;
}
```
>><img width="222" alt="擬似visited,link.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/a25bfa43-b56e-7bcd-5754-2688adc43bed.png">

>###**:visited**###
>>書式 : **要素名:visited**
>>範囲 : 訪問済みのリンク
>>(訪問済みのリンクに対してスタイルを適用する。)

>>```css
a:visited {
    color: #e67277;
}
```
>><img width="222" alt="擬似visited.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/1d8f6c2c-abe8-a6c1-65ab-6d02b5ffb03e.png">

>###**:hover**###
>>書式 : **要素名:hover**
>>範囲 : カーソルが乗っている状態
>>(要素にカーソルなどが乗った際のスタイルを適用する。カーソルは乗っているが、クリックはされていない状態)

>>```css
li:hover {
    color: #4cbcff;
}
```
>><img width="233" alt="hover.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/cc6b45e8-062c-16c6-04ce-736e02fabe62.png">


>###**:active**###
>>書式 : **要素名:active**
>>範囲 : クリック中
>>(要素がアクティブになった際のスタイルを適用する。クリックされてから離されるまでの状態)

>>```css
input:active {
    background: #ff6e9b;
    box-shadow: 2px 2px 1px #c13c8c inset;
}
>>```

>><img width="199" alt="active.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/1e1b0911-491e-5a4b-020b-fdc612a8bcac.png">


>###**:focus**###
>>書式 : **要素名:focus**
>>範囲 : フォーカスされている要素
>>(要素がフォーカスされた場合のスタイルを適用する。例えば、フォームの入力欄にカーソルを合わせ、テキスト入力できるようになった状態など)

>>```css
a:focus {
    background: #31d8e6;
    color: #fff;
}
>>```
>><img width="308" alt="focus.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/40d94b18-8a15-43e4-09cd-02bf4cb9ac48.png">



##**属性セレクタ**##

>###**要素名[属性名]**###
>>書式 : **要素名[属性名]**
>>範囲 : 特定の属性を持つ指定要素
>>(特定の属性を持つ、指定した要素を対象にスタイルを適用する。属性値は問わない)

>>```html
<ul>
  <li><a href="#" title="最新情報">最新情報！</a></li>
  <li><a href="#">お知らせ</a></li>
</ul>
```

>>```css
a[title] {
    background: #ffa969;
    color: #fff;
}
>>```

>><img width="127" alt="属性セレクタ1.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/73551843-67a3-aafd-f7f5-61ce921fe294.png">


>###**要素名[属性名="属性値"]**###
>>書式 : **要素名[属性名="属性値"]**
>>範囲 : 特定の属性値を持つ指定要素
>>(特定の属性に特定の値を持つ、指定した要素を対象にスタイルを適用する)

>>```html
<input type="text">
<input type="email">	
<input type="submit">
```

>>```css
input[type="submit"] {
    background-color: #b2e165;
    border: none;
}
>>```

>><img width="370" alt="属性セレクタ2.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/08d04415-8535-378c-edc9-bcc0e2725f3a.png">

##**複数のセレクタ**##

>###**セレクタ , セレクタ**###
>>書式 : **セレクタ , セレクタ**
>>範囲 : 複数のセレクタ
>>(セレクタをカンマ(,)で区切ると、複数のセレクタにまとめて同じスタイルを適用できる。)

>>```html
<h1>Qiita</h1>
<p>text</p>
<a href="#">リンク</a>
<input type="text">
<input type="submit">
>>```

>>```css
h1 , a {
    color: #ff6e9b;
}
>>```

>><img width="170" alt="複数セレクタ.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/2266ef42-a8b2-8ea7-2a1e-e6522e7e59c0.png">

##**子孫セレクタ**##
>###**セレクタ セレクタ**###
>>書式 : **セレクタ セレクタ**
>>範囲 : 下の階層の子孫要素
>>(セレクタを半角スペースで区切ると、ある要素の下の階層にある子孫要素を対象にスタイルを適用できる。)

>>```html
<p>cssとは<strong>Cascading Style Sheet</strong>の略。</p>
>>```

>>```css
p strong {
    color: #1a78bd;
}
>>```

>><img width="299" alt="子孫セレクタ.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/ff8935e6-304e-0c48-5fa0-d5c14bbdc54a.png">

##**子セレクタ**##
>###**セレクタ>セレクタ**###
>>書式 : **セレクタ>セレクタ**
>>範囲 : 直下の階層の子要素
>>(セレクタを　>　で区切ると、あるセレクタの直下の階層にある子セレクタを対象にスタイルを適用できる。)

>>```html
<p>cssとは<strong>Cascading Style Sheet</strong>の略。<span>HTMLに対して<strong>色、大きさ、配置など</strong>を指定してページをデザインするための言語</span></p>
```

>>```css
p>strong {
    color: #1a78bd;
}
>>```
>><img width="897" alt="子セレクタ.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/56342711-8679-1771-f6f3-fea4cc4184d8.png">


##**隣接セレクタ**##
>###**セレクタ+セレクタ**###
>>書式 : **セレクタ+セレクタ**
>>範囲 : 直後に隣接している要素
>>(セレクタを + で区切ると、同じ階層にある要素同士で、ある要素の直後に隣接している要素を対象にスタイルを適用できる。)

>>```html
<h1>Qiita</h1>
<p>cssとは<strong>Cascading Style Sheet</strong>の略。</p>
<p>HTMLに対して<strong>色、大きさ、配置など</strong>を指定してページをデザインするための言語</p>
>>```

>>```css
h1 + p {
    color: #e14561;
}
>>```

>><img width="600" alt="隣接セレクタ.png" src="https://qiita-image-store.s3.amazonaws.com/0/174180/a19d101b-7623-9af0-6e11-9c663c6192ff.png">




今回は書いていない、　:nth-childなどの擬似クラスと、:afterなどの擬似要素はまた別の機会に書いていこうと思います。