溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用css實現顏色扇

發布時間:2021-08-03 18:40:06 來源:億速云 閱讀:175 作者:chen 欄目:web開發

本篇內容主要講解“怎么用css實現顏色扇”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用css實現顏色扇”吧!

今天我們實現一個純css實現的顏色扇,繼續學習sass的使用,效果見下圖所示。
怎么用css實現顏色扇 

html文件

代碼如下:


<div id="container">
<div class="item it1" title="pick a color">
<div class="dot"></div>
</div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>


然后是css文件,使用scss、prefire free和css reset。

代碼如下:


/*
變量聲明
numOfItem,定義扇條數量
degreeOfFan,定義扇形角度
*/
$numOfItem:20;
$degreeOfFan:180deg;
body{
background-color: #000000;
}
/* 定義容器樣式,我們的hover事件將要添加在容器上,所以一定不能脫離標準流 */
#container{
width:580px;
height:300px;
position: relative;
}
/*
扇條的樣式
transform-origin非常重要,旋轉中心(應該在.dot中心)
分別給不同的屬性定義不同的transition持續時間
*/
.item{
position: absolute;
left:50%;
top:100%;
width:300px;
height:40px;
border-radius:10px 10px 20px 10px;
transition:all .5s,transform 1s ease-in,;
transform-origin:22px 22px;
}
/* 扇條hover樣式 */
.item:hover{
width:336px;
border-radius:10px 10px 10px 10px;
cursor: pointer;
}
/*
設置扇條中的文字樣式,利用偽對象實現
*/
.item:after{
position: absolute;
right:10px;
top:0;
line-height: 40px;
color:#FFF;
}
.item:nth-child(1):before{
content:attr(title);
position: absolute;
right:90px;
top:0;
line-height: 40px;
color:#FFF;
}
/* 旋轉中心的樣式 */
.dot{
position: absolute;
left:15px;
top:15px;
border-radius:15px;
height:10px;
width:10px;
background-color:#333333;
border:4px #777777 solid;
z-index:100;
}
/*
關鍵代碼----
通過循環給不同的扇條添加樣式
*/
@for $i from 1 through $numOfItem{
//通過循環給不同的扇條增加樣式
//z-index,改變疊放次序
//bgc,設置不同的顏色
//通過:after偽對象來放置顏色文本
.item:nth-child(#{$i}){
z-index:100-$i;
background-color: hsl(360*($numOfItem - $i)/($numOfItem - 1),50%,50%);
&:after{
content:"#{hsl(360*($numOfItem - $i)/($numOfItem - 1),50%,50%)}";
}
}
//通過循環給不同的扇條增加樣式
//hover之后,旋轉扇條
//當旋轉角度超過角度之后,旋轉文字
#container:hover .item:nth-child(#{$i}){
transform:rotate($degreeOfFan*($i - $numOfItem)/$numOfItem);
&:after,&:before{
@if($degreeOfFan * ($i - $numOfItem)/$numOfItem < -90deg){
transform:rotate(180deg);
}}
}
}


完工,注釋比較完善,原理不再贅述。

到此,相信大家對“怎么用css實現顏色扇”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

css
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女