今天我们实现一个纯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. 西湖大学蓝振忠:预训练语言模型的前沿发展趋势
  2. 「镁客·请讲」智加科技刘万千:技术与生态的成熟将推动自动驾驶的落地应用...
  3. MyBatis框架——mybatis插入数据返回主键(mysql、oracle)
  4. html div数据替换,在contenteditable div中替换innerHTML
  5. 团队计划(4.27)
  6. 【FLink】Flink checkpoint 实现数据连续计算 恢复机制 拓扑图 变化 如何处理
  7. ”高精度整数删去若干位以使剩下的值最小“问题
  8. 一站式服务助力研发 2020 Ohayoo游戏开发者沙龙广州站成功揭幕
  9. Mac OSX 下 mysql 影响关系的问题处理
  10. Slam中几种变换的理解
  11. Java Web(八) MVC和三层架构
  12. Ps 初学者教程,如何添加选择、减去选择和进行交叉选择?
  13. Excel 2016 对数据做线性回归分析步骤
  14. 分享一些查询资源的网站
  15. 【C语言】创建各类三角形图案
  16. mysql 分库备份_如何分表分库备份及批量恢复?MySQL
  17. SysML精粹学习笔记一
  18. echarts默认高亮省市区联动
  19. git clone加速(实测推荐)
  20. 能哄老婆睡觉的小故事

热门文章

  1. 如何解决php 生成验证码图片不显示问题
  2. 解决:百度编辑器UEditor,怎么将图片保存到图片服务器,或者上传到ftp服务器的问题(如果你正在用UE,这篇文章值得你看下)
  3. 如何使用jQuery刷新页面?
  4. 系统修复对电脑的影响有哪些
  5. mysql schema 定义_数据库 schema含义
  6. 麦克纳姆轮运动特性分析(图片版)
  7. php项目源码发布linux,php代码上传到linux服务器无法正常显示
  8. map java 用法_java中map 9种常规用法
  9. 大蜘蛛序列号_没事校个色?Datacolor Spyder5 Elite红蜘蛛五代校色仪体验
  10. 多行溢出文字省略号显示(HTML、CSS)