CSS模仿遥控器按钮

所属分类: 网页制作 / CSS 阅读数: 1099
收藏 0 赞 0 分享

注:本demo在小程序环境中测试,其他h5,pc网页通用,只需将小程序单位和标签名改成通用的即可,并按照自己的需求做适配即可。

大体思路:四个相同的正方形田字形布局,配合旋转属性即可。

html结构

<view class="button-group">
  <view class="outter-circle">
    <view class="inner-parts brown" bindtap="button" data-type="volAdd">
      <text class="rotate">+</text>
    </view>
    <view class="inner-parts silver" bindtap="button" data-type="chaAdd">
      <text class="rotate">+</text>
    </view>
    <view class="inner-parts blue" bindtap="button" data-type="chaDes">
      <text class="rotate">-</text>
    </view>
    <view class="inner-parts gold" bindtap="button" data-type="volDes">
      <text class="rotate">-</text>
    </view>

    <view class="inner-circle" bindtap="button" data-type="ok">
      <text class="ok rotate">ok</text>
    </view>
  </view>
</view>

css样式

.button-group {
  padding-top: 20rpx;
  width: 300rpx;
  height: 300rpx;
  background-color: pink;
}
.outter-circle {
  position: relative;
  margin-left: 10rpx;
  width: 280rpx;
  height: 280rpx;
  background-color: lightcyan;
  border-radius: 100%;
  overflow: hidden;
  transform-origin: center;
  transform: rotate(45deg);
}
.inner-parts {
  float: left;
  width: 140rpx;
  height: 140rpx;
  line-height: 140rpx;
  text-align: center;
}
.silver {
  background-color: silver;
}
.gold {
  background-color: gold;
}
.blue {
  background-color: blue;
}
.brown {
  background-color: brown;
}
.inner-circle {
  position: absolute;
  margin-top: 70rpx;
  margin-left: 70rpx;
  width: 140rpx;
  height: 140rpx;
  line-height: 140rpx;
  text-align: center;
  border-radius: 100%;
  background-color: lightblue;
}
.rotate {
  display: inline-block;
  transform: rotate(-45deg);
}

注:文字区域若不inline-block,旋转属性将不生效!

按钮点击事件

button: function(e) {
    var buttonType = e.currentTarget.dataset.type
    console.log(buttonType)
    switch (buttonType) {
      case 'chaAdd':
        console.log('backward the channel')
      break
      case 'chaDes':
        console.log('forward the channel')
      break
      case 'volAdd':
        console.log('strengthen the volumn')
      break
      case 'volDes':
        console.log('weaken the volumn')
      break
      default:
        console.log('ok')
    }
  }

运行效果
 

以上所述是小编给大家介绍的CSS模仿遥控器按钮,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

CSS3实现背景透明文字不透明的示例代码

这篇文章主要介绍了CSS3实现背景透明文字不透明的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈CSS中的尺寸单位

这篇文章主要介绍了浅谈CSS中的尺寸单位的相关资料,浏览器的兼容性越来越好,移动端基本是清一色的webkit,经常会用到css的不同尺寸/长度单位,这里做个整理。感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

CSS中有些属性的前面会加上“*”或“_”所代表的意思

这篇文章主要介绍了CSS中有些属性的前面会加上“*”或“_”所代表的意思,需要的朋友可以参考下
收藏 0 赞 0 分享

CSS 设置滚动条样式的实例代码

这篇文章主要介绍了CSS 设置滚动条样式的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)

这篇文章主要介绍了纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

纯css实现多级折叠菜单折叠树效果

这篇文章主要介绍了纯css实现多级折叠菜单折叠树效果,运用checkbox的checked值来判断下级栏目是否展开,通过css3选择器提供的checked伪类来实现此效果,感兴趣的朋友参考下吧
收藏 0 赞 0 分享

CSS Grid 网格布局全解析

这篇文章主要介绍了CSS Grid 网格布局全解析的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

css flex 弹性布局详解

这篇文章主要介绍了css flex 弹性布局详解的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

CSS3 二级导航菜单的制作的示例

这篇文章主要介绍了CSS3 二级导航的制作的示例的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用css禁用input、checkbox、select等html控件实现disable效果

这篇文章主要介绍了使用css禁用input、checkbox、select等html控件实现disable效果,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多