気ままに趣味旅行

面白いコト「拡がる/拡げる」

実践で学ぶHTML/CSS -疑似要素について

どうもです。

 

これまでで基礎編は大体終わりです。これからは実践編に入っていきます。実践編では以前学んだ基礎的な知識を使いつつ、実際に何か作っていきます。なので、もし分からなくなれば巻き戻って復習してみてください。質問等も気軽にくださればお答えします。

ではよろしくお願いします。

▼こちらで全てのレッスンを確認できます。

hiroakies.hatenablog.com 

疑似要素について

さて、先日floatを使用した場合の回り込みを解除する方法として、crearfixというテクニックについて紹介しました。crearfixには疑似要素を使用する必要がありました。今回はこの疑似要素について押さえていきます。

 

▼ポイント

検索エンジンCSSである疑似要素をコンテンツの中身として見ていません。そのため、SEOを気にせずユーザーのための自由な表現ができます。疑似要素はあくまでもHTMLの要素ではないので、装飾扱いにできます。

 ※はてなブログでは、2018.11.26時点でコロンはひとつです。

 

以下は、aタグに対して疑似要素を用意する場合です。

a すべてのリンク
a:link 未訪問のリンク
a:hover リンクにカーソルが重なっている時
a:active リンクをクリックしている時
a:visited 訪問済みのリンク
a:focus リンクにフォーカスしている時(tabキーで移動)
a:after タグの前に疑似要素を用意する
a:before タグの後ろに疑似要素を用意する
a:first-letter 最初の文字
a:first-line 最初の行

 

例えば、私のウェブページでは以下の設定を行ってヘッダ部分のボタンを作っています。イメージは次のものです。

f:id:hiroakies4463:20181125010300j:plain

  1. .header-list li,.header-list li a{ list-style: none;
  2. height:50px;
  3. width:120px;
  4. text-align:center;
  5. line-height:2.5em;
  6. float:left;
  7. margin-right:3px;
  8. display:block;
  9. font-color:black;
  10. background-color:#f0f0f0;
  11. text-decoration: none;
  12. transition:all 0.5s;}
  13. .header-list li a:hover{background-color:#fdfdfd;}
  14. .header-list li a:active{position:relative;
  15. top:6px;
  16. box-shadow:none;}

HTML部分はヘッダ部分に書いています。

上記のように書くことで、カーソルが当たった時の変化やクリック時の変化をつけています。クリック時にbox-shadowなどをnoneとすることで、へこんだように見えるわけです。

実際に書いて試してみてくださいね。

 

また、もうひとつ紹介します。

以前の記事で、上記のコードブロックについてコード例を紹介しましたが、実はこのように書くこともできます。こうすることですっきりとした見た目になりますね。コピペして使ってみてください。

  1. <div class="code-table">
  2. <div class="code-block HTML">
  3. <ol>
  4. <li><--! ここにコードを書きます。--></li>
  5. </ol>
  6. </div>
  7. <div class="code-block CSS">
  8. <ol>
  9. <li><--! ここにコードを書きます。--></li>
  10. </ol>
  11. </div>
  12. </div> 
  1. /* コード表 */
  2. .code-block{border:solid;
  3. border-radius:5px;
  4. padding:15px 5px 5px;
  5. margin-top:10px;
  6. width:;
  7. font-size:15px;
  8. width:345px;
  9. display:inline-block;
  10. position:relative;}
  11. .code-block.HTML{float:left;}
  12. /* コード表-HTMLCSSなど */
  13. .code-block:after{font-size:15px;
  14. background-color:white;
  15. border:solid;
  16. border-radius:5px;
  17. user-select:none;
  18. position:absolute;
  19. top:-15px;
  20. left:5px;
  21. z-index:1;}
  22. .code-block.HTML:after{content:"HTML";}
  23. .code-block.CSS:after{content:"CSS";}
  24. .code-table:after{content:"";
  25. display:block;
  26. clear:both;}

上記コードで不明点ありましたら過去の記事を見返してみてください。また、分からなければコメント等くださればお答えします。

 

 

こちらもとても分かりやすいのでぜひ参考にしてみてください。

saruwakakun.com

 

 

今回は以上です。

基礎的なことは以前の記事で書いてますので参照してみてください。また時々加筆などもしていきますので、内容が分かりにくかったりすればコメントくだされば嬉しいです。

 

では。