51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

CSS设置滚动条样式

话不多说,直接上代码。

# CSS设置滚动条样式 {#css设置滚动条样式}

// 滚动条 $bgColor - 背景色。尽量与模块背景色一致 $barColor - 滚动条颜色
@mixin scrollBar($bgColor, $barColor) {
  scrollbar-face-color: $barColor; /* 立体滚动条的颜色(包括箭头部分的背景色) */
  scrollbar-3dlight-color: $barColor; /* 立体滚动条亮边的颜色 */
  scrollbar-highlight-color: $barColor; /* 滚动条的高亮颜色(左阴影?) */
  scrollbar-shadow-color: $barColor; /* 立体滚动条阴影的颜色 */
  scrollbar-darkshadow-color: $barColor; /* 立体滚动条外阴影的颜色 */
  scrollbar-track-color: $bgColor; /* 立体滚动条背景颜色 */
  scrollbar-base-color: $bgColor; /* 滚动条的基色 */
  &:hover {
    overflow-y: auto;
  }
  &::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }
  &::-webkit-scrollbar-thumb {
    // 滑块部分
    border-radius: 4px;
    background-color: $barColor;
  }
  &::-webkit-scrollbar-track {
    // 轨道部分
    background: $bgColor;
    border-radius: 4px;
  }
}

.test {
  @include scrollBar(#000, #373737);
}

# 隐藏滚动条 {#隐藏滚动条}

// 隐藏滚动条
.hide_scrollbar {
  scrollbar-width: none; /* firefox */
  -ms-overflow-style: none; /* IE 10+ */
  &::-webkit-scrollbar {
    display: none; /* Chrome Safari */
  }
}

# 效果预览 {#效果预览}

默认 自定义滚动条 设置滚动条为红色 隐藏滚动条
自定义滚动条

<template>
  <div class="demo-ScrollBar" :class="className">
    <button @click="setClassName('')">默认</button>
    <button @click="setClassName('scroll-bar')">自定义滚动条</button>
    <button @click="setClassName('scroll-bar-red')">设置滚动条为红色</button>
    <button @click="setClassName('hide-scroll')">隐藏滚动条</button>
    <div class="ScrollBar-ctr">
      自定义滚动条
    </div>
  </div>
</template>

<script>
export default {
  name: 'ScrollBar',
  data() {
    return {
      className: '',
    }
  },
  methods: {
    setClassName(name) {
      this.className = name
    },
  },
}
</script>

<style lang="scss">
// 滚动条 $bgColor - 背景色。尽量与模块背景色一致 $barColor - 滚动条颜色
@mixin scrollBar($bgColor, $barColor) {
  scrollbar-face-color: $barColor; /* 立体滚动条的颜色(包括箭头部分的背景色) */
  scrollbar-3dlight-color: $barColor; /* 立体滚动条亮边的颜色 */
  scrollbar-highlight-color: $barColor; /* 滚动条的高亮颜色(左阴影?) */
  scrollbar-shadow-color: $barColor; /* 立体滚动条阴影的颜色 */
  scrollbar-darkshadow-color: $barColor; /* 立体滚动条外阴影的颜色 */
  scrollbar-track-color: $bgColor; /* 立体滚动条背景颜色 */
  scrollbar-base-color: $bgColor; /* 滚动条的基色 */
  &:hover {
    overflow-y: auto;
  }
  &::-webkit-scrollbar {
    width: 8px;
    height: 8px;
  }
  &::-webkit-scrollbar-thumb {
    // 滑块部分
    border-radius: 4px;
    background-color: $barColor;
  }
  &::-webkit-scrollbar-track {
    // 轨道部分
    background: $bgColor;
    border-radius: 4px;
  }
}
.demo-ScrollBar {
  width: 100%;
  height: 300px;
  overflow: auto;
  background-color: #000;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  button {
    margin: 0 10px;
  }
  &.scroll-bar {
    @include scrollBar(#000, #373737);
  }
  &.scroll-bar-red {
    @include scrollBar(#fff, red);
  }
  &.hide-scroll {
    scrollbar-width: none; /* firefox */
    -ms-overflow-style: none; /* IE 10+ */
    &::-webkit-scrollbar {
      display: none; /* Chrome Safari */
    }
  }
  .ScrollBar-ctr {
    width: 9999px;
    height: 9999px;
  }
}
</style>
赞(4)
未经允许不得转载:工具盒子 » CSS设置滚动条样式