与滚动条相关的属性

2022/07/04

滚动条设置(overflow)

设置当一个元素的内容太大而无法适应 块级格式化上下文 时候该做什么。 可选值: visible, hidden, scroll, auto, overlay

特别的: overlay: 行为与auto相同,但滚动条绘制在内容之上而不是占用空间。仅在基于 WebKit(例如,Safari)和基于 Blink 的(例如,Chrome 或 Opera)浏览器中受支持。

滚动行为(scroll-behavior)

为一个滚动框指定滚动行为

滚动条样式(伪类选择器)

通过下面几个伪类选择器可以设置滚动条样式

可用的属性

例子

<head>
  <style>
    div::-webkit-scrollbar {
      width: 17px;
      height: 17px;
    }

    div::-webkit-scrollbar-button {
      display: block;
      width: 17px;
      height: 17px;
    }

    div::-webkit-scrollbar-button:decrement:start {
      background-color: lightblue;
      border: 2px solid black;
    }

    div::-webkit-scrollbar-button:increment:start {
      background-color: lightgreen;
      border: 2px solid black;
    }

    div::-webkit-scrollbar-button:decrement:end {
      background-color: orange;
      border: 2px solid black;
    }

    div::-webkit-scrollbar-button:increment:end {
      background-color: brown;
      border: 2px solid black;
    }

    div::-webkit-scrollbar-thumb {
      max-width: 10px;
      max-height: 10px;
      background-color: red;
      border: 2px solid #cccccc;
    }

    div::-webkit-scrollbar-track-piece:decrement {
      background-color: olive;
    }

    div::-webkit-scrollbar-track-piece:increment {
      background-color: pink;
    }
  </style>
</head>

<body>
  <div style="width:200px; height:200px; overflow-y:scroll; overflow-x:hidden">
    Hello<br>
    Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>
    Hello<br>Hello<br>Hello<br>Hello<br>
    Hello<br>Hello<br>Hello<br>Hello<br>
    <span style="white-space:nowrap">Hello world this is a long string and will not wrap.</span>
    Hello<br>Hello<br>Hello<br>Hello<br>
    Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>
    Hello<br>Hello<br>Hello<br>Hello<br>
    Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>Hello<br>
    Hello<br>Hello<br>Hello<br>Hello<br>
    Hello<br>Hello<br>Hello<br>
  </div>
<body>