您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“怎么用純CSS實現一把剪刀的效果”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么用純CSS實現一把剪刀的效果”這篇文章吧。
代碼解讀
定義dom,容器中包含2個.half元素,各表示剪刀的半邊,它的子元素handle表示刀柄,blade表示刀,最后的.joint表示連接左右兩部分鉚釘:
<figureclass="scissors">
<divclass="half">
<spanclass="handle"></span>
<spanclass="blade"></span>
</div>
<divclass="half">
<spanclass="blade"></span>
<spanclass="handle"></span>
</div>
<divclass="joint"></div>
</figure>
居中顯示:
body{
margin:0;
height:100vh;
display:flex;
align-items:center;
justify-content:center;
}
定義容器尺寸,其中outline是輔助線:
.scissors{
width:21em;
height:7em;
outline:1pxdashed;
}
定義半邊剪刀的尺寸,其中outline是輔助線:
.scissors{
position:relative;
}
.half{
position:absolute;
width:inherit;
height:4em;
outline:1pxdashedred;
}
畫出刀柄:
.handle{
position:absolute;
box-sizing:border-box;
width:8em;
height:inherit;
border:1emsolid#333;
border-radius:2em;
}
畫出刀,用圓角屬性畫出了頂部的刀尖:
.blade{
position:absolute;
width:15em;
height:1em;
background-color:silver;
top:3em;
left:6em;
border-radius:001em0;
z-index:-1;
}
用偽元素在刀的底部畫一個三角形,使刀與刀柄連接得更牢固:
.blade::before{
content:'';
position:absolute;
border-style:solid;
border-width:01.8em1em1.8em;
border-color:transparenttransparentsilvertransparent;
top:-1em;
left:0.2em;
}
使半邊刀傾斜:
.half{
transform-origin:45%bottom;
transform:rotate(15deg);
}
利用scale()函數畫出剪刀的另一半:
.half{
transform-origin:45%bottom;
transform:rotate(calc(15deg*var(--direction)))scaleY(var(--direction));
}
.half:nth-child(1){
--direction:1;
top:0;
}
.half:nth-child(2){
--direction:-1;
top:-1em;
}
畫出連接左右半邊的鉚釘:
.joint{
position:absolute;
width:0.7em;
height:0.7em;
background-color:#333;
border-radius:50%;
top:calc(50%-0.7em/2);
left:45%;
}
增加動畫鼠標懸停時的動畫效果:
.scissors:hover.half{
animation:cut2sease-out;
}
@keyframescut{
20%,60%{
transform:rotate(calc(30deg*var(--direction)))scaleY(var(--direction));
}
40%,80%{
transform:rotate(calc(5deg*var(--direction)))scaleY(var(--direction));
}
}
以上是“怎么用純CSS實現一把剪刀的效果”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。