当前位置: 首页 > news >正文

湖南省网站建设情感网站seo

湖南省网站建设,情感网站seo,wordpress定制后台,榆林公司做网站背景 一个按钮往往有 4 个状态。 默认状态hover鼠标按下禁用状态 为了表示这 4 个状态&#xff0c;需要设置 4 个颜色来提示用户。 按钮类型一般有 5 个&#xff1a; 以 primary 类型按钮为例&#xff0c;设置它不同状态下的颜色&#xff1a; <button class"btn…

背景

一个按钮往往有 4 个状态。

  1. 默认状态
  2. hover
  3. 鼠标按下
  4. 禁用状态

为了表示这 4 个状态,需要设置 4 个颜色来提示用户。

按钮类型一般有 5 个:
image.png

以 primary 类型按钮为例,设置它不同状态下的颜色:

<button class="btn type--primary">Primary</button><style>
.btn {width: 100px;height: 40px;border: none;border-radius: 5px;
}
.btn.type--primary { /* 基础色 */background-color: #409eff;color: #ffffff;/* hover */&:hover {background-color: #79bbff;}/* 鼠标按下 */&:active {background-color: #337ecc;}/* 禁用状态 */&:disabled {background-color: #a0cfff;}
}
</style>

一个按钮就要设置 4 个颜色,5 个类型的按钮就是 20 种颜色,显然要设计出这 20 种颜色非常麻烦。(如果有设计师直接提供设计好的颜色,那么就定义变量直接用。)

因此希望只需给按钮设置一个基本颜色,其他状态的颜色可以根据这个基本颜色自动生成。

sass 调整颜色亮度

按钮不同状态的颜色,其实是修改了按钮基础颜色的亮度。比如:

  • hover 就是基础色变亮一点,
  • active 就是基础色变暗
  • disabled 就是基础色比 hover 还要更亮一点,文字也要更亮。

sass 中提供了工具函数可以便捷的修改颜色的亮度。

引入 sass 的颜色模块,里面有很多实用的工具函数。

@use sass:color

但我们这里不需要引入。因为我们主要使用颜色函数中的变亮,变暗函数。这两个函数已经变成全局的了,可以直接用。

  • 变亮:lighten(颜色, 百分比)
  • 变暗:darken(颜色, 百分比)
.btn {width: 100px;height: 40px;border: none;border-radius: 5px;
}.btn.type--primary {$primary-color: #409eff;$primary-text-color: #ffffff;color: $primary-text-color;background-color: $primary-color;&:hover {background-color: lighten($primary-color, 10%);}&:active {background-color: darken($primary-color, 10%);}&:disabled {background-color: lighten($primary-color, 20%);color: lighten($primary-text-color, 40%);}
}

进阶:循环优化

上面以 primary 类型按钮为例的代码已经实现了自动生成其他状态颜色的目标。但我们还可以用循环优化一下,省得每个按钮类型重复写上面的代码。

  • $var: (key: value):括号定义对象(map)
  • map-keys:返回 key 组成的数组(list),类似 Object.keys()
  • @each ... in ...:遍历数组,类似数组高阶函数 map
  • #{}:插值表达式,类似模板字符串
<button class="btn type--primary">Primary</button>
<button class="btn type--success">Success</button>
<button class="btn type--warning">Warning</button>
<button class="btn type--danger">Danger</button>
<button class="btn type--info">Info</button><style lang="scss">
.btn {width: 100px;height: 40px;border: none;border-radius: 5px;
}/* 定义按钮类型颜色对象 */
$btn-color-map: (primary: #409eff,success: #67c23a,warning: #e6a23c,danger: #f56c6c,info: #909399
);/* 生成 .btn.type--primary{},.btn.type--success{} 等样式选择器下的样式 */
@each $type in map-keys($btn-color-map) {$btn-color: map-get($btn-color-map, $type);.btn.type--#{$type} {$bg-color: $btn-color;$text-color: #ffffff;color: $text-color;background-color: $bg-color;&:hover {background-color: lighten($bg-color, 10%);}&:active {background-color: darken($bg-color, 10%);}&:disabled {color: lighten($text-color, 40%);background-color: lighten($bg-color, 20%);}}
}
</style>

完整代码

主要功能已经实现了,这里只是补充了下按钮的通用样式。

/*************** start ****************//* 按钮全局样式,包括5中类型 *//***********************************   */
.btn {box-sizing: border-box;display: inline-flex;align-items: center;justify-content: center;height: 32px;padding: 8px 15px;margin-left: 12px;font-size: 14px;font-weight: 500;line-height: 1;text-align: center;white-space: nowrap;vertical-align: middle;appearance: none;cursor: pointer;user-select: none;border: 1px solid #dcdfe6;border-radius: 5px;outline: none;transition: .1s;
}/* 定义按钮类型颜色对象 */
$btn-color-map: (primary: #409eff,success: #67c23a,warning: #e6a23c,danger: #f56c6c,info: #909399
);/* 生成 .btn.type--primary{},.btn.type--success{} 等样式选择器下的样式 */
@each $type in map-keys($btn-color-map) {$btn-color: map-get($btn-color-map, $type);.btn.type--#{$type} {$bg-color: $btn-color;$text-color: #ffffff;color: $text-color;background-color: $bg-color;border-color: $bg-color;&:hover {background-color: lighten($bg-color, 10%);}&:active {background-color: darken($bg-color, 10%);}&:disabled {color: lighten($text-color, 40%);background-color: lighten($bg-color, 20%);}}
}/***************  end  ****************/
http://www.mmbaike.com/news/87852.html

相关文章:

  • php餐饮美食店网站源码 生成htmlseo计费系统
  • 传统网站模版附近电脑培训学校
  • 石家庄市桥西区建设局网站谷歌推广技巧
  • 江苏网站建设 seo短视频营销的发展趋势
  • 网站建设应遵守的原则360搜索引擎下载
  • py可以做网站吗郑州网络营销公司有哪些
  • 网站升级建设中厨师培训机构
  • 用自己的计算机做服务器建网站市场推广计划怎么写
  • 购物网站建设方案ip域名查询地址
  • 营销网站推荐兰州网站seo
  • 东莞中小企业网站建设网站收录服务
  • 找人做任务网站网络营销的方式
  • 做微信用什么网站网络推广产品要给多少钱
  • 做后台网站营销推广软文
  • 赣州建网站天津百度快速排名优化
  • 丽水哪里做网站如何自己搭建一个网站
  • 西安网站建设哪家好百度引流推广费用多少
  • wordpress 后台显示idseo网上培训课程
  • 做电商要有网站吗谷歌搜索引擎网址
  • 专门做蛋糕面包的网站百度热词搜索指数
  • 企业网站建设的意义关键词怎么做快速的有排名
  • 网站建设或网站优化排名seo搜索引擎优化的内容
  • 咨询公司资质西安的网络优化公司
  • 网站建设政府板块seo关键词排名注册价格
  • 网站建设制作设计营销公司杭州新东方雅思培训价目表
  • 有道云笔记 同步 wordpress宁波关键词排名优化
  • 门户网站 源码四平网站seo
  • 龙岩网站优化长沙官网seo服务
  • 广州网站建立市场调研问卷调查怎么做
  • 深圳建网站有哪些公司浙江seo公司