はじめに
三角や矢印を作るCSSを簡単にコピペで使えるよう、向きごとのコードを一覧にしています。
実現方法について
透明にする
transparent(トランスペアレント)を使って要素を透明にする事で簡単に実現できます。
transparentは、設定されている背景色を無効にしたい場合にも使います。
background-color: transparent;
回転させる
transform: rotate を使って回転させます。
三角を作るCSS
HTMLサンプル
<div class=”up01“></div>
それぞれの向きに設定するクラス名の<div>タグで。
CSSサンプル
| サンプル | コード |
上 | | コードを表示 .up01{
width: 0;
height: 0;
border-left: 30px solid transparent;
border-right: 30px solid transparent;
border-bottom: 30px solid #ff3e9e ;
}
|
右上 | | コードを表示 .right_up{
width: 0;
height: 0;
border-style: solid;
border-width: 0 40px 40px 0;
border-color: transparent #ff3e9e transparent transparent;
}
|
右 | | コードを表示 .right01{
width: 0;
height: 0;
border-left: 30px solid #ff3e9e;
border-top: 30px solid transparent;
border-bottom: 30px solid transparent;
}
|
右下 | | コードを表示 .right_down{
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 40px 40px;
border-color: transparent transparent #ff3e9e transparent;
}
|
下 | | コードを表示 .down01{
width: 0;
height: 0;
border-left: 30px solid transparent;
border-right: 30px solid transparent;
border-top: 30px solid #ff3e9e;
}
|
左下 | | コードを表示 .left_down{
width: 0;
height: 0;
border-style: solid;
border-width: 40px 0 0 40px;
border-color: transparent transparent transparent #ff3e9e;
}
|
左 | | コードを表示 .left01{
width: 0;
height: 0;
border-top: 30px solid transparent;
border-right: 30px solid #ff3e9e;
border-bottom: 30px solid transparent;
}
|
左上 | | コードを表示 .left_up{
width: 0;
height: 0;
border-style: solid;
border-width: 40px 40px 0 0;
border-color: #ff3e9e transparent transparent transparent;
}
|
応用サンプル
CSSサンプル
サンプル | コード |
| コードを表示 .sample1 {
border: 20px solid;
border-color: #ff9eff #ffce9e #9e9eff #9effff;
height: 100px;
width: 100px;
margin: 1rem auto;
}
|
| コードを表示 .sample2 {
border: 50px solid;
border-color: #ff9eff #ffce9e #9e9eff #9effff;
height: 0px;
width: 0px;
margin: 1rem auto;
}
|
見出しなどに | コードを表示 .sample3 {
padding: 1rem 3rem;
-webkit-transform: skew(-15deg);
transform: skew(-15deg);
color: #fff;
position: relative;
display: inline-block;
height: 50px;
font-size:20px;
color: #fff;
background: #ff3e9e;
}
|
リボン風 | コードを表示 .sample4 {
line-height: 60px;
position: relative;
height: 60px;
margin: 2em 40px 1em;
padding: 0 2rem;
text-align: center;
font-size:20px;
color: #fff;
background: #ff3e9e;
}
.sample4:before,.sample4:after {
position: absolute;
top: 0;
display: block;
height: 50px;
content: '';
border: 30px solid #ff3e9e;
}
.sample4:before {
left: -40px;
border-left-width: 15px;
border-left-color: transparent;
}
.sample4:after {
right: -40px;
border-right-width: 15px;
border-right-color: transparent;
}
|
吹き出し風 | コードを表示 .sample5 {
position: relative;
padding: 1.5rem 2rem;
font-size:20px;
color: #fff;
border-radius: 10px;
background: #ff3e9e;
}
.sample5:after {
position: absolute;
bottom: -9px;
left: 1em;
width: 0;
height: 0;
content: '';
border-width: 10px 10px 0 10px;
border-style: solid;
border-color: #ff3e9e transparent transparent transparent;
}
|
矢印を作るCSS
HTMLサンプル
<div class=”up02“></div>
それぞれの向きに設定するクラス名の<div>タグで。
CSSサンプル
| サンプル | コード |
上 | | コードを表示 .up02{
width: 30px;
height: 30px;
border: 5px solid;
border-color: #555 #555 transparent transparent;
transform: rotate(-45deg);
}
|
右 | | コードを表示 .right02{
width: 30px;
height: 30px;
border: 5px solid;
border-color: #555 #555 transparent transparent;
transform: rotate(45deg);
}
|
左 | | コードを表示 .left02{
width: 30px;
height: 30px;
border: 5px solid;
border-color: transparent transparent #555 #555;
transform: rotate(45deg);
}
|
下 | | コードを表示 .down02{
width: 30px;
height: 30px;
border: 5px solid;
border-color: transparent transparent #555 #555;
transform: rotate(-45deg);
}
|