当前位置:   article > 正文

带弧度的选项卡源码分享uniapp 小程序可用_uniapp 做一个圆弧形菜单

uniapp 做一个圆弧形菜单

  1. <template>
  2. <view>
  3. <view class="tabs">
  4. <scroll-view scroll-x="true" :scroll-into-view="scrollView" :scroll-with-animation="true">
  5. <view class="h-flex-x">
  6. <view
  7. v-for="(item,index) in 10" :key="index"
  8. class="tabs-item"
  9. :class="{
  10. 'active':index == tabIndex,
  11. 'radius-right':index+1 == tabIndex,
  12. 'radius-left':index-1 == tabIndex
  13. }"
  14. @tap="tabChange(index)"
  15. :id="'item-'+index"
  16. >
  17. <view class="h-flex-x">选项卡{{index+1}}</view>
  18. </view>
  19. </view>
  20. </scroll-view>
  21. </view>
  22. <view style="text-align: center;color: #999;margin-top: 50rpx;">
  23. <view>滚动定位的不想写了,累了~ ⊙﹏⊙</view>
  24. <view>没滚动需求的可以删除 &lt;scroll-view&gt; 即可</view>
  25. </view>
  26. </view>
  27. </template>
  28. <script>
  29. export default {
  30. data() {
  31. return {
  32. tabIndex:0,
  33. scrollView:''
  34. }
  35. },
  36. onLoad() {
  37. },
  38. methods:{
  39. tabChange(index){
  40. this.tabIndex = index;
  41. this.scrollView = `item-${index}`;
  42. }
  43. }
  44. }
  45. </script>
  46. <style lang="scss">
  47. // flex 水平排列
  48. .h-flex-x{
  49. display: flex;
  50. flex-direction: row;
  51. flex-wrap: nowrap;
  52. justify-content: flex-start;
  53. align-items: center;
  54. align-content: center;
  55. }
  56. // 选项卡
  57. .tabs{
  58. height: 80rpx;
  59. background-color: #2d6ef0;
  60. font-size: 28rpx;
  61. color: #fff;
  62. white-space: nowrap;
  63. &-item{
  64. height: 80rpx;
  65. position: relative;
  66. >view{
  67. padding: 0 40rpx;
  68. box-sizing: border-box;
  69. width: 100%;
  70. height: 100%;
  71. }
  72. &.active{
  73. background-color: #fff;
  74. color: #333;
  75. border-radius: 16rpx 16rpx 0 0;
  76. }
  77. // 左右两项颜色覆盖
  78. &.radius-left,&.radius-right{
  79. background-color: #fff;
  80. > view{
  81. background-color: #2d6ef0;
  82. }
  83. }
  84. // 左边圆角
  85. &.radius-left{
  86. > view{
  87. border-bottom-left-radius: 16rpx;
  88. }
  89. }
  90. // 右边圆角
  91. &.radius-right{
  92. > view{
  93. border-bottom-right-radius: 16rpx;
  94. }
  95. }
  96. }
  97. }
  98. </style>

作者:黄河爱浪 QQ:1846492969,邮箱:helang.love@qq.com

公众号:web-7258,本文原创,著作权归作者所有,转载请注明原链接及出处

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/117024?site
推荐阅读
相关标签