スキップしてメイン コンテンツに移動

画像ナシ!CSSだけでリボンを描いてみよう

こんにちは、クリエイティブフレークです。



こんな風に画像を使わずに、CSSだけでリボンを描くサンプルです。

上から順番に、ひし形、リボン、右側矢印、左側矢印をそれぞれ作ってみましょう。



まずはHTML↓↓↓

<div class="diamond">Diamond</div>
<div class="ribbon">Ribbon</div>
<div class="right-arrow">Right arrow</div>
<div class="left-arrow">Left arrow</div>


そしてCSS↓↓↓

/* ここでまとめて横長の長方形を作ります */
div.diamond, div.ribbon, div.right-arrow, div.left-arrow {
 display: inline-block;
 color: #FFFFFF;
  font-size: 18px;
  line-height: 38px;
 margin: 15px 0;
 position: relative;
 width: 200px;
 text-align: center;
}

/* それぞれの長方形のbefore(前)とafter(後ろ)に大きさゼロの要素を作ります */
div.diamond:before, div.diamond:after,
div.ribbon:before, div.ribbon:after,
div.right-arrow:before, div.right-arrow:after,
div.left-arrow:before, div.left-arrow:after {
 content: "";
 border-style: solid;
 border-width: 0;
 position: absolute;
 width: 0;
 height: 0;
}

/* ひし形 */
div.diamond {
 background-color: #59C9CE;
}
div.diamond:after, div.diamond:before {
 border-color: transparent #59C9CE;
}
div.diamond:before {
 left: -19px;
 border-width: 19px 19px 19px 0;
}
div.diamond:after {
 right: -19px;
 border-width: 19px 0 19px 19px;
}

/* リボン */
div.ribbon {
 background-color: #59C9CE;
}
div.ribbon:before, div.ribbon:after {
 top: 6px;
 z-index: -15;
}
div.ribbon:before {
 border-color: #4BB5B9 #4BB5B9 #4BB5B9 transparent;
 border-width: 19px;
 left: -25px;
}
div.ribbon:after {
 border-color: #4BB5B9 transparent #4BB5B9 #4BB5B9;
 border-width: 19px;
 right: -25px;
}

/* 右側矢印 */
div.right-arrow {
 background-color: #59C9CE;
}
div.right-arrow:after, div.right-arrow:before {
 border-width: 19px 0 19px 19px;
}
div.right-arrow:before {
 border-color: #59C9CE transparent;
 left: -19px;
}
div.right-arrow:after {
 border-color: transparent #59C9CE;
 right: -19px;
}

/* 左側矢印 */
div.left-arrow {
 background-color: #59C9CE;
}
div.left-arrow:after, div.left-arrow:before {
 border-width: 19px 19px 19px 0;
}
div.left-arrow:before {
 border-color: transparent #59C9CE;
 left: -19px;
}
div.left-arrow:after {
 border-color: #59C9CE transparent;
 right: -19px;
}


ここでは長方形の前後に"before"と"after"というCSSの擬似要素を使っています。

具体的にどういうこと?を、1つ目のひし形(Diamond)を例に解説すると、

1.border : 19px; で、空の要素に上下左右それぞれ19pxのボーダーを作ります。
つまりは1辺が38pxの正方形になりますよね?

2.border-color: transparent #色番号; は、上下の枠線の色が透明で、左右の枠線の色が指定した色になることを意味します。
これで上下が切り取られたように見えることになります。

3.さらに border-width: 19px 19px 19px 0; と指定することで、左側の枠線のみなし、上下右は19pxの枠、ということになります。
これで右半分が残ることになります。



▶CSSだけでリボンを作る デモはこちら




Written by Creative Flake

コメント

このブログの人気の投稿

ブログ移転のお知らせ

いつもご覧いただきありがとうございます。 当ブログは下記URLへと引っ越しました。 http://blog2.creativeflake.com/ 今後はこちらをご覧ください!!

CSSでドット絵を描いてみよう

ドット絵(ピクセルアート)は1980年代ごろのパソコンやゲーム機で、最もよく使われた画像の表現方法でしたが、パソコン等の高解像度化にともなって、ドット絵を使われることはほとんどなくなりました。 以前は解像度が低かったため、写真や画像を今のようにきれいに表示することができなかったので、ドットで描画することが主流でした。目で見てピクセルだと分かる範囲がドット絵と呼ぶそうです。 今だからこそ逆に斬新、かわいいと思うこともあるのですが、せっかくなのでドット絵をCSSだけで描画したいと思います。 もちろん、こんなチョコボを描くことも余裕でできます。 ドット絵に使うCSS HTMLやCSSを使って描く表現方法はさまざま考えられますが、今回は「box-shadow」のみで描いていきたいと思います。 box-shadowでドットを描く HTML <div></div> まずHTMLには空のdivを用意してあげます。これだけでHTMLは完成です。 CSS div { background: transparent; width: 10px; height: 10px; box-shadow: 0 10px red, 10px 20px blue, 20px 10px green; } CSSは基点<(0, 0)の場所>をtransparent(透明)とし、基本となるドットの大きさを縦、横ともに10pxずつと設定します。 そのときに、基点から下へ10pxの箇所に赤いドットを、右へ10px、下へ20pxの箇所に青いドットを、右へ20px、下へ10pxの箇所に緑のドットを描画します。 ↓↓↓こんな感じで表示されます 本来box-shadow(ボックスシャドウ)は指定した要素に立体っぽく影をつけるCSSなのですが、ぼかし具合を入力しないことでゼロ、つまりただの直線として認識されます。 ざくざく作っていこう こんな感じで、ドット絵を書いていくには元画像を準備し、ピクセル単位で描画していきます。 チョコボを描く(HTML) <div id="chocobo...

完全無料のみ厳選!パターンを選ぶだけなのにクオリティの高い年賀状

年末が近づくとまた今年もあの季節。 年賀状のシーズンです! ハガキ年賀状は年々減少しつづけていて、年賀状発行枚数は2003年の44億枚をピークに、2016年は26億枚でした。 通信手段はメールか電話、友だちや家族ならSNSやチャットで連絡が当たり前になってきている今だからこそ、ハガキをおすすめしたい!! 年賀状注文は面倒? 年賀状の注文は写真やさん、印刷屋さん、比較的大きなスーパーなどでも取り扱っているほか、本屋さんで年賀状素材集などを買って自宅でプリントするのが大半でしょうか。 イラストレーターなどのソフトを使う手もありますが。 ちなみに弊社の年賀状は毎年イラレで描いています。 無料で作れる年賀状 最近無料で、かつクオリティの高い年賀状作成サービスが出てきています。「早くて」、「無料で」、「誰でも作れる」サービスをご紹介します。 郵便年賀.jpの「はがきデザインキット」 郵便年賀.jpは、あの郵便局が運営しているサービスです。 デザインキットはテンプレートを選ぶだけの簡単操作。 テンプレートは ・和もの ・カワイイ ・ポップ ・喪中・寒中  のカテゴリから選べます。 そのほか便利な機能として、 ・写真入れ ・文字入れ ・スタンプ入れ ・賀詞入れ などが可能です。 文字の色を変えたり、大きさを変えたりするのも、直感的にできるので簡単にオリジナルデザインが作れます。 できたデザインは、郵便局に印刷注文することも、データをダウンロードして自宅のプリンターで印刷することもできます。 「はがきデザインキット」はこちらから いらすとやの「ねんがや」 「いらすとや」は無料イラスト素材サイトです。 もしかしたらお店やWebページなどでいらすとやのイラストを見たことがある人も多いかも! こちらもテンプレート一覧からデザインを選んで、データをダウンロードするだけ。 あとはプリンターで印刷して完成! ・キャラクター ・版画 ・シンプル ・ゆるかわ ・おえかき ・コラージュ ・ししゅう・・・・などなど18カテゴリから選べます。 挨拶文のあり、なしを選択できるので、送る相手にあわせて選べますよね。 「ねんがや」はこちらから 「年賀状AC」 こちらも無料素材サイトの年賀状用サイトです。...