今天我们实现一个纯css实现的颜色扇,继续学习sass的使用,效果见下图所示。

html文件

复制代码代码如下:

然后是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颜色 333是什么颜色,纯css实现的颜色扇附图相关推荐

  1. before css 旋转_单标签!纯CSS实现动态晴阴雨雪

    引言 本期分享一下如何仅用CSS3,实现单标签的动态晴阴雨雪.技术关键点就是"单标签"和"纯CSS".先看下最终效果: 再看看HTML代码: <div c ...

  2. CSS特殊样式(三)纯CSS实现各类气球泡泡对话框效果

    一.关于纯CSS实现气泡对话框 首先,来张大图: 上边这张黄黄的,大大的,圆圆的,有个小尾巴,文字内容有些YY的图片,就是使用纯CSS实现的气泡对话框效果,一点图片都没有哦.看到这里,你是不是跟我一样 ...

  3. css改火狐滚动条样式_纯css美化滚动条样式

    知乎的编辑器对于复制转发文章来说特别不友好(直接复制后代码乱码,字体变化,表格数据丢失),不太想过多重复编辑,只会编辑转发部分到这上面来,如感觉还不错,请跳转到:https://www.emperin ...

  4. css.gg - 一套漂亮的纯 CSS 实现的免费开源图标库

    700多个时尚漂亮的 css 图标库,特别适合 UI 设计师和前端开发者下载使用. 700+ CSS 图标 css.gg 是一套纯 css 实现的轻量美观的开源图标库,特点是所有的图形都通过 css ...

  5. css 实现一个尖角_纯 CSS 实现三角形尖角箭头的实例

    上次无意中发现了个使用纯 CSS 实现三角形尖角箭头的方法 ,但没有怎么用上,也没有详细完整的实例,今天刚好要用上,整理了下,写个完整的代码: 无标题文档 .area { margin:100px a ...

  6. css单标签,单标签!纯CSS实现动态晴阴雨雪

    封面.jpg 1 引言 本期分享一下如何仅用CSS3,实现单标签的动态晴阴雨雪.技术关键点就是"单标签"和"纯CSS".先看下最终效果: 效果预览.gif 再看 ...

  7. 谈谈一些有趣的CSS题目(十四)-- 纯 CSS 方式实现 CSS 动画的暂停与播放!

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  8. 用纯css实现优雅的tab页,纯CSS实现Tab页切换效果的方法

    纯CSS实现Tab页切换效果的方法 发布时间:2020-10-26 09:30:20 来源:亿速云 阅读:104 作者:小新 小编给大家分享一下纯CSS实现Tab页切换效果的方法,希望大家阅读完这篇文 ...

  9. 纯css实现手风琴效果_创建纯CSS手风琴的4种方法

    内容手风琴是一种有用的设计模式. 您可以将它们用于许多不同的事物:用于菜单,列表,图像,文章摘录,文本片段甚至视频 那里的大多数手风琴都依赖JavaScript,主要是jQuery ,但是由于高级CS ...

  10. css 多行文字左对齐,纯CSS实现文字一行居中,多行左对齐的方法

    其实这种需求还是蛮常见的,主要用于产品列表页面,用于产品图片下面,显示产品的名称. 想要实现的效果为: 未知文字长度,当文字长度小于盒子宽度,也就是一行时,文字居中. 当文字长度大于盒子的宽度,会自动 ...

最新文章

  1. java封装插件,基于面向对象思想封装一个水球插件
  2. Asp.net Mvc Enum 扩展
  3. python编程if语法-二、python 语法之变量赋值与if(if else)
  4. yum安装mysql驱动_centos7下使用yum安装mysql
  5. 【opencv】22.HOG的原理与详细步骤
  6. QT的QDesignerWidgetBoxInterface类的使用
  7. ASP.NET Web API身份验证和授权
  8. [Leetcode][JAVA][第20题][Stack][Map]
  9. C/C++轻松写电脑锁机程序
  10. 升级sublime text4后激活及问题
  11. STM32学习——中断方式下的发送数据
  12. 基于JAVA+SpringMVC+MYSQL的火车票订票系统
  13. 社会达尔文主义 盛行时间_新达尔文主义的心理理论
  14. 【SpringBoot_ANNOTATIONS】组件注册 05 @Lazy 懒加载
  15. 关于Vue项目导入谷歌翻译api
  16. macOS苹果电脑下载m3u8、ts视频
  17. 【java毕业设计】基于java+SSH+jsp的网上体育商城设计与实现(毕业论文+程序源码)——网上体育商城
  18. ESP8266闪存文件系统基本操作-删除文件
  19. 什么是浮动塌陷css,CSS浮动塌陷和一点关于浮动的事儿
  20. ValueError: Can only save/restore ResourceVariables when executing eagerly, got type: <class ‘tenso

热门文章

  1. 解决vue addRoutes多次添加路由重复问题。
  2. 如何为curl命令添加数据?
  3. win11开始菜单如何分组 Windows11开始菜单进行分组的设置方法
  4. 用回溯法求子集和的c++代码
  5. python中关于命名的例子_Python()-类命名空间和对象/实例命名空间
  6. mysql的表导入pgsql用_postgresql 导入数据库表并重设自增属性的操作
  7. app 如何接收遥控信息_如何选购红外接收头?华新告诉你产品的标准
  8. pdf 天线理论与技术 钟顺时_天线理论与技术第二版-钟顺时-第一章部分习题解答.pdf...
  9. eclipse中怎么安装spring插件_安装eclipse中容易遇到的问题
  10. python歌星大赛评分_2018年机器阅读理解技术竞赛模型,BLEU-4评分排名第6, ROUGE-L评分排名第14...