CSSでアニメみたいに文字や画像を真っ二つ、斜めに斬るスタイルシートのテクニック
Post on:2019年6月3日
sponsorsr
文字や画像をCSSで、真っ二つに斜めに斬るスタイルシートのテクニックを紹介します。左上からなので天翔龍閃とは違うのですが、袈裟斬りの感じがかっこいいです。

このCSSは文字だけでなく、画像も斬ることができます。
空の画像を用意してました。

写真: Unsplash
空裂斬!
実際の動作は、下記ページで楽しめます。
  See the Pen 
  Cutting text effect by CHENXINNN (@chenxinnn)
  on CodePen.
コードは、下記のようになっています。
HTMLでは、斬る要素を3つ用意します。
| 
					 1 2 3 4 5 6  | 
						<div class="wrap">   <p class="text">blade</p>   <p class="text">blade</p>   <p class="text">blade</p>   <p class="crack"></p> </div>  | 
					
3つの要素は上から、斬った後の上半分、下半分、一番上に表示です。上半分と下半分はclip-pathで斜めに斬ります。剣筋のカラーを変更したい場合は、crackのカラーを変更します。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72  | 
						* {       margin: 0;       padding: 0;     }     body {       display: flex;       justify-content: center;       align-items: center;       width: 100vw;       height: 100vh;       background-color: hsl(0, 0%, 20%);     }     .wrap {       position: relative;     }     .text {       font-size: 20vw;       line-height: .8;       color: whitesmoke;       text-transform: uppercase;       font-weight: bold;       /* background-color: pink; */     }     .wrap .text:nth-child(2),     .wrap .text:nth-child(3),     .crack {       position: absolute;       left: 0;       top: 0;     }     .wrap .text:nth-child(1) {       -webkit-clip-path: polygon(100% 0, 3% 0, 100% 97%);               clip-path: polygon(100% 0, 3% 0, 100% 97%);       transition: -webkit-transform .6s;       transition: transform .6s;       transition: transform .6s, -webkit-transform .6s;     }     .wrap .text:nth-child(2) {       -webkit-clip-path: polygon(0 3%, 0% 100%, 97% 100%);               clip-path: polygon(0 3%, 0% 100%, 97% 100%);     }     .wrap .text:nth-child(3) {       opacity: 1;       transition: opacity .1s .6s;     }     .crack {       background-color: hsl(0, 0%, 20%);       width: 100%;       height: 100%;       -webkit-clip-path: polygon(0 3%, 3% 0, 100% 97%, 97% 100%);               clip-path: polygon(0 3%, 3% 0, 100% 97%, 97% 100%);       -webkit-transform: translate(-100%, -100%);               transform: translate(-100%, -100%);       transition: -webkit-transform .3s;       transition: transform .3s;       transition: transform .3s, -webkit-transform .3s;     }     .wrap:hover .crack{       -webkit-transform: translate(0, 0);               transform: translate(0, 0);     }     .wrap:hover .text:nth-child(3) {       opacity: 0;       transition: opacity .1s .3s;     }     .wrap:hover .text:nth-child(1) {       transition: -webkit-transform .6s .5s;       transition: transform .6s .5s;       transition: transform .6s .5s, -webkit-transform .6s .5s;       -webkit-transform: translate(10%, 10%);               transform: translate(10%, 10%);     }  | 
					
sponsors











