CSSでやりたかったことが数行のコードで実装できるスタイルシートの小技のまとめ -CSS Protips

リスト要素で実装したアイテム間の区切り線の最後だけ取り除く簡単なコード、リストの各アイテムをカンマ区切りで配置させるコード、テキスト表示をすべてのデバイスで最適化するコードなど、サイトやブログに役立つ便利なCSSのテクニックを紹介します。

CSS Protips

CSS Protips -GitHub

CSS Protipsは前回紹介した時(紹介記事)から倍近く量が増えているので、改めて全項目を紹介します。

CSS ProtipsのライセンスはMIT Licenseで、個人でも商用でも無料で利用できます。
スタイルシートの対応ブラウザはChrome, Firefox, Safari, Edge, IE11です。

1. リスト要素の最後だけ区切り線を削除

「:not()」を使用して、リスト要素で実装したナビゲーションの最後のアイテムだけに区切り線を削除します。
まずは、今までの書き方。

「:not()」を使用するとシンプルなコードで指定できます。

:not()など、疑似クラスの更にくわしい使い方は下記ページを参考に。

2. body要素に「line-height」を加える

body要素でline-heightを指定することでp, hnなどにその値が継承されるため、それぞれにline-heightを指定する必要がなくなります。

3. 天地の中央に配置

ページの天地の中央に要素を配置するシンプルなコードです。
※IE11ではflexboxのバグ(バグ情報)があります(※Edgeは対応済み)。

高さ不明の要素に対して天地中央に配置する場合は下記ページを参考に。

4. リストをカンマ区切りにする

リストの各アイテムをカンマ区切りにします。

5. ネガティブなnth-childを使用してアイテムを選択

nth-childにはネガティブな値も指定できます。

6. SVGファイルの指定

アイコンを使用する時に、SVGを使わない理由はありません。SVGはIE9以降のすべてのブラウザでサポートされています。

SVGスプライトなど、更にくわしい設置方法は下記ページを参考に。

7. テキストをすべてのデバイスで最適化

下記の指定をすると、ディスプレイのテキストをすべてのデバイスで最適に表示します。

text-renderingは、IE/Edgeではサポートされていません。

8. CSSで実装されたスライダーにはmax-heightを使う

CSSで実装されたスライダーは、max-heightをoverflow: hidden;と一緒に使ってください。

9. box-sizingをコンポーネントごとに変更

box-sizingはhtml要素で指定し、継承して利用すると、コンポーネントで変える時に簡単です。

10. テーブルのセルの幅を均等にする

テーブルの各セルの幅を均等にするには、table-layout: fixed;を使うと簡単にできます。

11. flexboxのマージンハックを取り除く

flexboxでカラムの溝をつくる時、nth-, first-, last-childなどのハックで最後の溝を取り除くことができますが、それはflexboxのspace-betweenプロパティを使うだけで解決します。

flexboxの実装については、下記ページを参考に。

12. リンクにテキストが無い時はURLを表示

リンクのhref属性にはURLがあり、リンクのテキストがない場合に、下記のCSSを使用すると、リンク先のURLを表示します。

リンクにテキストが無い時はこんな感じで、hrefの値「http://coliss.com/」が表示されます。

top of page

©2015 coliss