2015年05月28日

リボンのような見出しをCSSで表示

スポンサード リンク

border のプロパティを使って三角形を生成し、 :before擬似要素 / :after擬似要素
対象要素内の先頭 / 末尾に、これを追加します。そして
見出し本体の適切な位置に配置して、リボンを表現します。

CSS リボン風見出し サンプル

容量1GB、月額125円、高性能なサーバが日本最大級のバックボーンに直結。
さくらのレンタルサーバ

サンプルソース

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>リボンのような見出しをCSSで表示</title>
<style>
	/* リボン風見出し 本体 */
.ribbonBox0{
	position: relative;  /* 相対配置(相対位置)*/
	width: 440px;
	line-height: 26px;  /* 行の高さ */
	margin: 50px;
	padding: 10px 0px;
	background: #eb225e;
	font-size: 20px;
	font-weight: bold;
	color: #ffff00;
	text-align: center;
	box-shadow: 0 8px 25px -10px #f562dd;/ * ボックスに影 */
	  }

.ribbonText{   /* テキスト部分 */
	margin: 0 15px;
	padding: 5px;
	border-top: 1px dashed #99ff99;
	border-bottom:1px dashed #99ff99;
	 }
.ribbonText span{
	color:#fff;
        }
.ribbonText span:before{   /* テキスト部分に ★ マーク */
	content: "★";
	position: absolute;
	color:#99ff99;
	font-size: 10px;
	top:-2px;left:10px;
	  }
.ribbonText span:after{  /* CSS疑似要素 :before / :after */
	content: "★";
	position: absolute;
	color:#99ff99;
	font-size: 10px;
	bottom:-2px;right:10px;
	  }

	/* ここから本番 リボン飾り */
	  /* 左右の凹み(逆)三角形 */
.ribbonBox0:before, .ribbonBox0:after{   /* 左右の凹み三角,共用コード */
	content: "";
	position: absolute; /* 絶対配置 */
	z-index: -1;/* 要素の重なり順序 */
	bottom: -20px; /* 下辺からの距離  top,left,bottom,right 親要素からの距離*/
	width: 0; height: 0; 
	 border: 30px solid #ec4477; /* ボーダー: 幅 実線 色 */
	  }
.ribbonBox0:before{   /* 左の凹み三角 */
	left: -40px;  /* 左辺からの距離 */
	border-left-color: transparent; /* 左ボーダーを透明に */
	  }
.ribbonBox0:after{   /* 右の凹み三角 */
	right: -40px; /* 右辺からの距離 */
	border-right-color: transparent;/* 右ボーダーを透明に */
	  }
	/* 左右の折り返し三角 */
.ribbonText:before, .ribbonText:after{   /* 左右の折り返し三角,共用コード */
	content: "";
	position: absolute;/* 絶対配置 */
	width: 0; height: 0;
	bottom: -20px;/* 下辺からの距離 */
	  }
.ribbonText:before{   /* 折り返し三角 左 */
      left: 0;/* 左辺からの位置 */
      border-top: 20px solid #690629;
      border-left: 20px solid transparent;
	  }
.ribbonText:after{   /* 折り返し三角 右 */
      right: 0;/* 右辺からの距離 */
      border-top: 20px solid #690629;
      border-right: 20px solid transparent;
	  }
</style>
</head>
<body>
  <div class="ribbonBox0">
    <p class="ribbonText">キャンペーン期間<span> 2020/07/24 </span>まで</p>
  </div>
</body>
</html>

リボン飾り  左右の凹み(逆)三角形 作成

  幅、高さ、共に’0’のボックスにボーダーを付けます。
四辺のボーダーの幅は’30px’で、色は解りやすくする為に、変えてあります。
そして、左ボーダーを透明にすると、左凹み(逆)三角が、出来上がりです。
   width: 0; height: 0; // ボックスの幅、高さ ;
    border: 30px solid #ec4477; // ボーダー: 幅30px 実線 色 ;
   border-left-color: transparent; // 左ボーダーを透明 ;
右凹み(逆)三角は、右ボーダーを透明にします。
  border-right-color: transparent; // 右ボーダーを透明 ;

リボン飾り  左右の折り返し三角形 作成

  幅、高さ、共に’0’のボックスにボーダーを付けます。
左側の折り返し三角形は、’上、左 ’ ボーダーに幅 ’20px’を設定します。
’下、右 ’ は設定しないので表示されません。// border-style のデフォルト値は noneです。
そして、左ボーダーを透明にします。
  width: 0; height: 0; // 幅、高さ、共に’0’のボックスにボーダーを付けます。
  border-top: 20px solid #690629;// 上ボーダー : 幅20px 実線 色 ;
  border-left: 20px solid transparent;// 左ボーダーを透明 ;
右側の折り返し三角形は、’上、右 ’ ボーダーに ’20px’を設定します。
  border-top: 20px solid #690629;// 上ボーダー : 幅20px 実線 色 ;
  border-right: 20px solid transparent;// 右ボーダーを透明 ;
     三角形を CSS で作る

リボン飾り 配置

  リボン風見出し 本体(親要素)position: relative;
各リボン飾りに position: absolute; を設定しておきます。
これで親要素を基準にして配置する事ができます。
配置位置の指定は top,left,bottom,rightプロパティで行います。

  • 左の逆三角      bottom: -20px; left: -40px;
  • 右の逆三角      bottom: -20px; right: -40px;
  • 左の折り返し三角 bottom: -20px; left: 0;
  • 右の折り返し三角 bottom: -20px; right: 0;

:before擬似要素 :after擬似要素

:before及び:after擬似要素は
対象要素内の先頭 / 末尾にコンテンツを追加します。
CSS疑似要素 :before / :after
posted by javaScript at 20:26 | 大阪 ☁ | 吹き出し、見出し装飾 | このブログの読者になる | 更新情報をチェックする

2015年05月09日

三角形を CSS で作る

スポンサード リンク

border のプロパティを利用して三角形を作成します。
border は、要素の周囲に枠線(ボーダー)を付ける際に使用します。これを巧く利用して!!

CSS 三角形 作成方法

ブロック要素
ボーダー幅 (50px) を
設定します。
見易くする為、
色を変えてます。
各ボーダーの端が
斜めに接してます。

ブロック要素の
高さと横幅を
無しにします。
各ボーダーが
三角形に
なりました。

左右のボーダーを100px にしました。
上下は 50px です。

上下のボーダーを
100px にしました。
左右は 50px です。

 上記が三角形を作る流れです。各ボーダー幅 を変更することで色々な大きさや形の三角を生成できます。
そして不必要な border の設定を除外したり、透明にすることで三角形を描写します。
ボーダーの色は transparent で透明になり、親要素の背景色が透過します。

三角形 描画コード

上向き 三角形

#sankaku-Top {
	width: 0;
	height: 0;
	border-left: 50px solid transparent;
	border-right: 50px solid transparent;
	border-bottom: 100px solid #ff00bb;
       }

右向き 三角形

#sankaku-Right {
	width: 0;
	height: 0;
	border-top: 50px solid transparent;
	border-bottom: 50px solid transparent;
	border-left: 100px solid #00ff11;
       }

下向き 三角形

#sankaku-Bottom {
	width: 0;
	height: 0;
	border-left: 50px solid transparent;
	border-right: 50px solid transparent;
	border-top: 100px solid #0055ff;
       }

左向き 三角形

#sankaku-Left {
	width: 0;
	height: 0;
	border-top: 50px solid transparent;
	border-bottom: 50px solid transparent;
	border-right: 100px solid #808000;
       }

上向き 直角三角形

#sankaku-suiTop {
	width: 0;
	height: 0;
	border-bottom: 100px solid #800080;
	border-right: 50px solid transparent;
       }

右向き 直角三角形

#sankaku-suiRight {
	width: 0;
	height: 0;
	border-bottom: 50px solid #800000;
	border-right: 100px solid transparent;
       }

下向き 直角三角形

#sankaku-suiBottom {
	width: 0;
	height: 0;
	border-top: 100px solid #008080;
	border-right: 50px solid transparent;
       }

左向き 直角三角形

#sankaku-suiLeft {
	width: 0;
	height: 0;
	border-top: 50px solid #484012;
	border-left: 100px solid transparent;
       }

★☆★☆★☆ ナウでヤングなレンタルサーバー!ロリポップ! ☆★☆★☆★
月額105円〜容量最大120GB!大人気のWordpressも簡単インストール★
WordPressが簡単・すぐに使える『レンタルサーバーheteml(ヘテムル)

boder (枠線)のプロパティ

プロパティ プロパティ値 値の設定
border-width
ボーダーの幅
数値+単位(px,em など) 或は
キーワード… thin 細線 | medium 中太線 | thick 太線  など
border-style
ボーダーの種類
solid 実線 | double 二重線 | dotted 点線 など
border-styleプロパティ
border-color
ボーダーの色
色の名前、カラーコード
'transparent' で透明になります。
border
四方のボーダーに上記、三つの値
(幅 種類 色)を一括して指定
各値は順不同で半角スペースで区切ります。
 border: 5px double #808000;

border-top: thin solid red;
border-right: thick dotted green;
border-bottom: 12px double #00ffff;
border-left: medium dashed brown;
border-top|上ボーダー
border-right|右ボーダー
border-bottom|下ボーダー
border-left|左ボーダー
それぞれに(幅 種類 色)を指定

border-width|border-style|border-color … 値の設定

border-widthborder-styleborder-color は 1つ〜4つの値を設定することができます。
※値には各プロパティに対応する、値を入れます。 例えば border-color の場合
  • border-color: blue; …1つ (上下左右)blue
  • border-color: red blue; …2つ (上下)red  (左右)blue
  • border-color: green red blue; …3つ (上)green (左右)red (下)blue
  • border-color: brown green red blue; …4つ (上)brown (右)green (下)red (左)blue
※枠線を表示するには、一緒に "枠線のスタイル" border-style を指定しておく事が必要です。

タグ:css 三角形
posted by javaScript at 23:19 | 大阪 ☁ | スタイルシート CSS | このブログの読者になる | 更新情報をチェックする