[CSS] CSSで作るリストのアイコン
CSSだけでも色々出来る!
CSS3が現在の最新ブラウザでは大体対応されてきてますので、色々な表現が画像を使わずにできるようになってきてます。
よく使うリストのアイコンもCSSだけで可能です。
今回はそんなリストを3種類紹介します。
>の形のアイコン
アイコンを配置させるのに使うのが:beforeという疑似要素。
また、ものによっては:afterも一緒に使ったりしますが、今回は:beforeのみ使用します。
.sankaku{ list-style:none; margin:0; padding:0; } .sankaku li{ position:relative; padding:0 0 0 10px; line-height:1.2; } .sankaku li:before{ content:""; display: block; width:4px; height:4px; border-top:2px solid #333; border-right:2px solid #333; transform: rotate(45deg); position: absolute; left:0px; top:-webkit-calc(100%/2); top:calc(100%/2); margin:-4px 0 0; }
ざっと説明しますと、まずはリストのデフォルトアイコンをなくして、その次にこれから作るアイコンを置けるスペースを作ります。
ここからが、アイコンの説明。
contentは、中身ですので今回は空っぽです。そして四角の大きさを決めて、そこにつける枠線(border)がアイコンの役割をしています。
このままだと¬ こんな形なのでそれを45度回転させています。
あとは、場所を絶対配置で決めて微調整しています。
calc(100%/2)というのは、CSS3の calc()ファンクションというものです。
[参照] CSS の calc を使えば複雑なサイズ指定が可能らしい ここに色々載っています。
さて、CSSの設定が終わればHTMLなんですが、今回はクラスを付けるだけですので割愛します。
結果が下のリストになります。
- ああああああ
- いいいいいい
- うううううう
ちゃんと>のアイコンが入ってますね。
▶︎のアイコンを入れる!
では、次にアイコンの形を変えてみましょう。
よく使われる▶︎のアイコンです。
内容はほとんど一緒で下記の様になります。
.sankaku2 li:before{ content: ''; border: solid #000; border-color: #000 transparent transparent; border-width: 4px 4px 0; width:0; position: absolute; top:-webkit-calc(100%/2); top:calc(100%/2); left: 0px; transform: rotate(-90deg); margin:-4px 0 0; }
今回は、90度反時計回りに回して、倒しています。
元々、CSSで線を引くときにwidthを0にすると四つの三角の集合体になります。
それを上だけ色をつけて、他の辺には色をつけずにアイコンを表現しています。
結果は、下記の様になります。
- ああああああ
- いいいいいい
- うううううう
チェックマークにしてみよう!
チェックマークは、一番最初の>このアイコンの応用になります。
内容はほぼ同じで下記の様になります。
.check li:before{ content:""; display:block; width: 3px; height: 6px; border: solid #333; border-width: 0 2px 2px 0; position:absolute; left: 0px; top: 40%; margin-top: -4px; transform: rotate(45deg); }
変わっているところは、正方形ではなく長方形になっていることでチェックマークを表現しているところですね。
結果は、下記の様になります。
- あああああ
- いいいいい
- ううううう
まとめ
CSSってすごいですね。まだまだいろんな事ができます。
ブラウザが対応してなかったりもしますので注意が必要ですが、どんどん使っていきたいですね。
今回は、ベンダープレフィックスは省略しましたが、実際のソースにはまだまだ必要な場合もあります。
実際に使ってみたり、対応状況を調べてなるべくソースも綺麗にわかりやすくしましょう。
ad
関連記事
-
-
[HTML] 初心者を脱却するためのHTMLの心構え!
デザインを見たら、まずレイアウトの方法をイメージしよう 僕は、基本的にデザインを頂いたときに、すぐ
-
-
[jQuery]背景画像にぼかしを入れるプラグイン
Blurrプラグインの紹介 BlurrはシンプルなjQueryのプラグインです。 そして、背景画
-
-
[CSS] メディアクエリ(Media Queries)を考える
Media Queriesとは Media Queriesとは、画面環境に応じてCSSの適用範囲を
-
-
[CSS] ベンダープレフィックスはどこまで必要か?
各ブラウザが独自に先行実装しているCSS3 CSS3が現在、各ブラウザでも対応状況が進み、だいぶ使
-
-
[WordPress] 管理画面にテーブル(WP_List_Table)を表示する
WP_List_Table 管理画面で標準テーブルを表示したい場合は、WP_List_Tableを
-
-
[jQuery] Block Scrollプラグイン
今回は、ブロック毎にスクロールするjQueryプラグインのご紹介です。 Block Scroll
-
-
[Dreamweaver] テンプレート機能を使う!初級〜中級編
まだまだある便利機能! 既に、上級編まで紹介してしまってますが、抜けていたので、すこし簡単です。
-
-
[CSS] フォームや登録の進み具合をCSSだけで表現する方法
フォームや登録過程で、今どれくらい進んでいるのか利用者に対して表示する事はとても重要な事だと思います
-
-
[jQuery] クリックしたところから波紋が広がるプラグイン!
Rippler 以前にも波紋のプラグインを紹介しましたが、今回も新たなプラグインを紹介しま
-
-
[jQuery] クリック時に波紋のような効果をつける
今回は、クリックした時に波紋のような効果をつけるjQueryプラグインの紹介です。 Ripple