修改滚动条样式

本文介绍了如何使用CSS来修改滚动条的样式,使其更加美观。通过设置`::-webkit-scrollbar`和`::-webkit-scrollbar-*`伪元素的样式,可以定制滚动条的宽度、颜色、圆角等属性。示例代码展示了如何创建具有特定颜色和圆角的滚动条。同时,文章还提及了如何使用CSS隐藏滚动条,只需将`display`属性设置为`none`。此外,内容中还涉及到网页元素在不同像素密度屏幕上的显示原理。

修改滚动条样式

如果给父元素固定了宽高,子元素设置overflow:auto时,就会出现滚动条,而浏览器默认的滚动条样式并不是很美观,如下图所示

为了让显示的滚动条更好看些,可以对滚动条样式进行设置,关键css代码如下:

    // 滚动条
    .box-card::-webkit-scrollbar {/*滚动条整体样式*/
        width: 10px;     /*高宽分别对应横竖滚动条的尺寸*/
        height: 1px;
    }
    .box-card::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
        border-radius: 10px;
        -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
        background: #E5E5E5;
    }
    .box-card::-webkit-scrollbar-track {/*滚动条里面轨道*/
        -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
        border-radius: 10px;
        background: #ffffff;
    }

但如果要隐藏滚动条,也可以设置以下样式:

    /*不显示滚动条*/
    .box-card::-webkit-scrollbar {
        display: none;
    }

通过设置滚动样式后,显示的效果如下:

完整代码如下:

<!--
    @author: itmacy
    @desc: 滚动条样式
-->
<template>

    <div class="div">
        <div class="box-card">
            例如,如果我们设计一个按钮元素,大小是200x50dp,那么它在160ppi的屏幕上显示为200x50dp,
            在320ppi的屏幕上显示为400x100px,即原始资源的2倍。
            在某些屏幕每英寸的像素要比其他屏幕多,但设计资源却不会在像素密度高的屏幕上显得更小,
            这是因为在这些屏幕上会以原始尺寸的2倍,3倍,4倍进行渲染。
            这样的机制可以确保所有设计资源可以在不同密度和设备之间保持同样大小。
            例如,iPhone XS Max的屏幕尺寸是414x896,但这不是像素尺寸而是点的数量,
            以像素为单位时是1242x2688px。考虑到这一点,在设计iPhone XS Max时,
            我会将在414x896点下设计,然后交付@3x的设计资源。
        </div>
    </div>
</template>

<script>
  export default {
    name: 'Scrollbar'
  }
</script>

<style scoped lang="scss">
    .div{
        height: 300px;
        width: 200px;
        border: 1px solid #E5E5E5;
    }
    .box-card {
        height: 100%;
        overflow: auto;
    }
    /*不显示滚动条*/
    /*.box-card::-webkit-scrollbar {*/
    /*    display: none;*/
    /*}*/
    // 滚动条
    .box-card::-webkit-scrollbar {/*滚动条整体样式*/
        width: 10px;     /*高宽分别对应横竖滚动条的尺寸*/
        height: 1px;
    }
    .box-card::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
        border-radius: 10px;
        -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
        background: #E5E5E5;
    }
    .box-card::-webkit-scrollbar-track {/*滚动条里面轨道*/
        -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
        border-radius: 10px;
        background: #ffffff;
    }
</style>

修改网页中滚动条样式,可以通过 CSS 的伪元素选择器来实现,特别是针对基于 WebKit 内核的浏览器(如 Chrome 和 Safari),可以使用 `::-webkit-scrollbar` 伪元素来定制滚动条的各个部分。以下是一个详细的样式修改示例,涵盖了滚动条的整体宽度、轨道、滑块以及滑块在悬停状态下的样式。 ### 滚动条整体样式 可以通过设置 `::-webkit-scrollbar` 来控制滚动条的整体宽度和高度。例如,设置滚动条的宽度为 5 像素: ```css ::-webkit-scrollbar { width: 5px; /* 设置滚动条的宽度 */ } ``` ### 滚动条轨道样式 滚动条轨道是指滚动条所在的滑动区域,可以通过 `::-webkit-scrollbar-track` 来设置其背景颜色或边框圆角等属性: ```css ::-webkit-scrollbar-track { background-color: #eee; /* 设置轨道的背景颜色 */ border-radius: 5px; /* 设置轨道的圆角 */ } ``` ### 滚动条滑块样式 滚动条滑块是指用户可以拖动的部分,可以通过 `::-webkit-scrollbar-thumb` 来设置其背景颜色、边框圆角等属性: ```css ::-webkit-scrollbar-thumb { background-color: #ccc; /* 设置滑块的背景颜色 */ border-radius: 5px; /* 设置滑块的圆角 */ } ``` ### 滚动条滑块悬停样式 为了提升用户体验,还可以为滚动条滑块设置悬停状态下的样式,当鼠标悬停在滑块上时改变其背景颜色: ```css ::-webkit-scrollbar-thumb:hover { background-color: #888; /* 设置滑块在悬停状态下的背景颜色 */ } ``` ### 针对特定元素的滚动条样式 如果只想修改某个特定元素内的滚动条样式,而不是整个页面的滚动条样式,可以在选择器前加上该元素的类名或 ID。例如,如果只想修改 `.scroll` 类中的滚动条样式,可以这样写: ```css .scroll::-webkit-scrollbar { height: 5px !important; /* 设置滚动条的高度 */ width: 5px !important; /* 设置滚动条的宽度 */ } .scroll::-webkit-scrollbar-thumb { border-radius: 0; /* 设置滑块的圆角 */ border-style: dashed; /* 设置滑块的边框样式 */ background-color: rgba(157, 165, 183, 0.4); /* 设置滑块的背景颜色 */ border-color: transparent; /* 设置滑块的边框颜色 */ border-width: 1px; /* 设置滑块的边框宽度 */ background-clip: padding-box; /* 设置背景的绘制区域 */ } .scroll::-webkit-scrollbar-thumb:hover { background: rgba(157, 165, 183, 0.4); /* 设置滑块在悬停状态下的背景颜色 */ } ``` 通过以上 CSS 代码,可以有效地修改网页中滚动条样式,使其更加符合网站的整体设计风格[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值