はじめに
オリジナルなhタグ(要素)が作りたくて、肉球をつくってみたお話です。
まず最初にCSS擬似要素のbeforeとafterを使用する。
作るにあたっての考え方
まずは簡単な装飾から作り最後に肉球の形を作ることにする。。
1.1つ表示する方法
ここでは、h1要素「こんにちは」に対して左側に青丸を1つ表示する。
<style>
.circle01 {
position: relative;
padding-left: 20px;
}
.circle01::before {
/* ブラウザで正常に表示されない場合は、
::beforeを:before(コロン1つ)にする */
content:'';
height: 15px; /* 縦幅 */
width: 15px; /* 横幅 */
display:block;
border-radius: 50%; /* まん丸に表示 */
background: blue; /* 色指定 */
position:absolute;
top: 15px; /* 縦位置調整 */
left: 0px; /* 横位置調整 */
}
</style>
<h1 class="circle01">こんにちは</h1>
表示結果
こんにちは
と結果として表示される。
解説
.circle01
に対して擬似要素:before
を使用<h1 class="circle01">こんにちは</h1>
を表示する- 次に擬似要素
::before
によって左側に青丸を表示させる
2.box-shadow
を使い2つ表示する
次に、CSS擬似要素を用いてh1要素「こんにちは」に対しての左側に 青丸と黒丸を2つ表示する。黒丸はbox-shadow
を用いて表示する。
<style>
.circle02 {
position: relative;
padding-left: 20px;
}
.circle02:before {
content:'';
height: 15px;
width: 15px;
display:block;
border-radius: 50%;
background: blue;
position:absolute;
top: 15px;
left: 0px;
box-shadow:0px -0px black;
-webkit-box-shadow:0px -20px black;
}.circle02 {
position: relative;
padding-left: 20px;
}
</style>
<h1 class="circle02">こんにちは</h1>
表示結果
こんにちは
と結果として表示される。
解説
.circle02
に対して擬似要素:before
を使用<h1 class="circle01">こんにちは</h1>
を表示する- 次に擬似要素
::before
によって左側に青丸と、box-shadow
を使い黒丸を表示させる
3.box-shadow
と擬似要素::before、::after
を使い4つ表示する
次に、CSS擬似要素を用いてh1要素「こんにちは」に対しての左側に 青丸と黒丸を2つ表示する。黒丸はbox-shadow
を用いて表示する。
<style>
.circle03 {
position: relative;
padding-left: 20px;
}
.circle03:before {
content:'';
height: 15px;
width: 15px;
display:block;
border-radius: 50%;
background: blue;
position:absolute;
top: 15px;
left: 0px;
box-shadow:0px -0px black;
-webkit-box-shadow:0px -20px black;
}
.circle03:after {
content:'';
height: 15px;
width: 15px;
display:block;
border-radius: 0%;
background: red;
position:absolute;
top: 15px;
left: 20px;
box-shadow:0px -0px #000;
-webkit-box-shadow:0px -20px white;
}
</style>
<h1 class="circle02">こんにちは</h1>
表示結果
こんにちは
と結果として表示される。
解説
.circle03
に対して擬似要素::before、::after
を使用<h1 class="circle01">こんにちは</h1>
を表示する- 次に擬似要素
::before
によって左側に青丸と、box-shadow
を使い黒丸を表示させる - 最後に擬似要素
::after
によって左側に赤四角と、box-shadow
を使い白四角を表示させる
注目!!
ここで気づいた方もいると思うが擬似要素::brfore、::after
で2種類の表示。さらにbox-shadow
を用いて同じものを2つ表示。box-shadow
を使えば同じ形のものであれば複数増やすことができる。
4.お待ちかねの肉球の表示
CSS擬似要素::before、::after、box-shadow
を用いて肉球表示する。
<style>
.demo {
position: relative;
padding-left: 50px;
}
.demo:before{
content:'';
height: 8px;
width: 8px;
display:block;
border-radius: 50%;
background: #008ec2;
box-shadow:10px -8px #008ec2, -2px 13px #008ec2;
-webkit-box-shadow:10px -8px #008ec2, -2px 13px #008ec2;
position:absolute;
top: 10px;
left: 5px;
}
.demo:after{
content:'';
height: 20px;
width: 20px;
display: block;
border-radius: 50%;
background: #008ec2;
position:absolute;
top: 13px;
left: 15px;
}
</style>
<h1 class="circle02">こんにちは</h1>
表示結果
こんにちは
と結果として表示される。
解説
.demo
に対して擬似要素::before、::after
を使用<h1 class="demo">こんにちは</h1>
を表示する- 次に擬似要素
::before
によって左側に青丸を中心に、box-shadow
を使い黄丸と赤丸を表示させる - 最後に擬似要素
::after
によって左側に白丸を表示させる
最後に
わかりやすくするために別々の色を使ったが、実際には同じ色をつかうので肉球に見えるはずだ。今回は使用しなかったがtransform
を使えば回転も使える。例えば■(四角)を回転させて◆(ひし形)にもできる。これをつかっていろいろなものを作成してみよう!(これを使えばグラフィックアイコンも作れるよ!)
0 件のコメント :
コメントを投稿