E ~ Fは、E要素の後ろにある同じ階層のF要素にスタイルを適用する際に使用します。
セレクタを ~ (チルダ)で区切ると、
同じ階層にある要素同士であれば、E要素とF要素の間に他の要素があっても(E要素とF要素が隣接していなくても)、F要素にスタイルが適用されます。
div.sample h2 ~ p {border: 3px dotted #000000;}
<html>
<head>
<link rel=”stylesheet” type=”text/css” href=”sample.css”>
</head>
<body>
<div class=”sample”>
<h2>今日のお天気</h2>
<p>今日は晴れです。</p>
<p>洗濯日和となるでしょう。</p>
<h2>明日のお天気</h2>
<p>明日は雨です。</p>
<p>傘を忘れないようにしましょう。</p>
<h2>お天気まめ知識</h2>
<div>毎週金曜日更新!</div>
<p>アマガエルが鳴くと雨。</p>
<p>朝焼けは雨、夕焼けは晴れ。</p>
</div>
</body>
</html>
今日は晴れです。
洗濯日和となるでしょう。
明日は雨です。
傘を忘れないようにしましょう。
アマガエルが鳴くと雨。
朝焼けは雨、夕焼けは晴れ。
E[foo^=”bar”] …… foo属性の値がbarで始まるE要素
E[foo$=”bar”] …… foo属性の値がbarで終わるE要素
E[foo*=”bar”] …… foo属性の値にbarを含むE要素
E:root …… 文書のルートとなる要素
E:nth-child(n) …… n番目の子となるE要素
E:nth-last-child(n) …… 後ろから数えてn番目の子となるE要素
E:nth-of-type(n) …… n番目のその種類の要素
E:nth-last-of-type(n) …… 後ろから数えてn番目のその種類の要素
E:last-child …… 子として最後のE要素
E:first-of-type …… 最初のその種類の要素
E:last-of-type …… 最後のその種類の要素
E:only-child …… 子として唯一となるE要素
E:only-of-type …… 子として唯一となるその種類の要素
E:empty …… 要素内容が空となるE要素
E:target …… リンクのターゲット先となるE要素
E:enabled …… 有効となっているユーザーインターフェース要素(テキストエリアなど)
E:disabled …… 無効となっているユーザーインターフェース要素(テキストエリアなど)
E:checked …… チェックされているユーザーインターフェース要素(ラジオボタン・チェックボックスなど)
E:not(s) …… sで指定するセレクタに当てはまらないE要素
E ~ F …… E要素の後ろにある同じ階層のF要素
複数のセレクタ …… 複数のセレクタに同じスタイルを適用する
子孫セレクタ …… 子孫要素にスタイルを適用する
子セレクタ …… 子要素にスタイルを適用する
隣接セレクタ …… 直後に隣接している要素にスタイルを適用する