CSS 中 `overflow: auto` 和 `overflow: scroll` 的区别是什么?


在 CSS 中,`overflow` 属性用于指定 HTML 元素内容的溢出方式。例如,如果 div 元素的高度为 `500px`,而内部内容的高度为 `1000px`,我们需要使内容可滚动。

在本教程中,我们将学习 CSS `overflow` 属性的 `auto` 和 `scroll` 值之间的区别。

CSS 中的 `overflow: auto`

在 CSS 中,`overflow: auto` 将 HTML 元素的溢出设置为自动。这意味着如果 div 的内容溢出,它将 `scroll` 设置为 `overflow` 属性的值;否则,它将 `none` 设置为 `overflow` 属性的值。

语法

用户可以按照以下语法使用 `overflow: auto` CSS 属性。

overflow: auto;

示例

在下面的示例中,我们创建了 HTML div 元素并赋予了 `main` 类名。此外,我们还为 div 元素设置了固定宽度和高度。此外,我们设置了 `overflow: auto` CSS 属性。

在输出中,用户可以观察到它显示了滚动条,因为内容尺寸大于 div 元素的尺寸。

<html>
<head>
   <style>
      .main {
         height: 100px;
         width: 500px;
         font-size: 1rem;
         overflow: auto;
         border: 2px solid red;
      }
   </style>
</head>
<body>
   <h2> <i> overflow: auto </i> in CSS </h2>
   <div class = "main">
      <p> TutorialsPoint! </p>
      <p> TutorialsPoint! </p>
      <p> TutorialsPoint! </p>
      <p> TutorialsPoint! </p>
      <p> TutorialsPoint! </p>
      <p> TutorialsPoint! </p>
      <p> TutorialsPoint! </p>
      <p> TutorialsPoint! </p>
   </div>
</body>
</html>

示例

在下面的示例中,div 元素内部内容的尺寸小于 div 元素的尺寸。在输出中,用户可以观察到 div 元素不可滚动,因为内容没有溢出。

<html>
<head>
   <style>
      .main {
         height: 200px;
         width: 100px;
         font-size: 1rem;
         overflow: auto;
         border: 2px solid red;
      }
   </style>
</head>
<body>
   <h2> <i> overflow: auto </i> in CSS </h2>
   <div class = "main">
      <p> TutorialsPoint! </p>
      <p> TutorialsPoint! </p>
      <p> TutorialsPoint! </p>
   </div>
</body>
</html>

CSS 中的 `overflow: scroll`

`overflow: scroll` 始终在 HTML 元素中显示滚动条,即使元素的内容没有溢出,并且它始终显示水平和垂直滚动条。

语法

Overflow: scroll;

示例

在下面的示例中,我们在 div 元素中添加了适合 div 元素尺寸的内容。此外,我们使用 CSS 为 div 元素设置了 `overflow: scroll`。

在输出中,用户可以观察到即使 div 元素的内容没有溢出,它也显示了滚动条。

<html>
<head>
   <style>
      .main {
         height: 200px;
         width: 300px;
         font-size: 1rem;
         overflow: scroll;
         border: 2px solid blue;
      }
   </style>
</head>
<body>
   <h2> <i> overflow: scroll </i> in CSS </h2>
   <div class = "main">
      <p> This is a content. </p>
      <p> This is a content. </p>
      <p> This is a content. </p>
      <p> This is a content. </p>
   </div>
</body>
</html>

`overflow: auto` 和 `overflow: scroll` 的区别

以下是 `overflow: auto` 和 `overflow: scroll` CSS 属性的区别表。

`overflow: auto`

`overflow: scroll`

仅当 HTML 元素的内容溢出或不适合原始元素的尺寸时,才会显示滚动条。

始终显示滚动条。

示例

在下面的示例中,我们演示了 `overflow: scroll` 和 `overflow: auto` 的输出。我们为类名为 `scroll` 的 div 元素设置了 `overflow: scroll`,为类名为 `auto` 的 div 元素设置了 `overflow: auto`。

在输出中,用户可以观察到 `overflow: scroll` 显示了滚动条,但 `overflow: auto` 没有显示。

<html>
<head>
   <style>
      .scroll {
         height: 220px;
         width: 500px;
         font-size: 1rem;
         overflow: scroll;
         border: 2px solid blue;
      }
      .auto {
         height: 200px;
         width: 500px;
         overflow: auto;
         border: 3px dotted red;
         margin: 10px;
      }
   </style>
</head>
<body>
   <h2> Difference between overflow: scroll and overflow: auto in CSS</h2>
   <div class = "scroll">
      <p> overflow: scroll. </p>
      <p> overflow: scroll. </p>
      <p> overflow: scroll. </p>
      <p> overflow: scroll. </p>
      <p> overflow: scroll. </p>
   </div>
   <div class = "auto">
      <p> overflow: auto. </p>
      <p> overflow: auto. </p>
      <p> overflow: auto. </p>
      <p> overflow: auto. </p>
      <p> overflow: auto. </p>
   </div>
</body>
</html>

用户学习了 `overflow: auto` 和 `overflow: scroll` CSS 属性之间的区别。两者之间唯一的区别在于何时显示滚动条。

更新于: 2023年4月19日

409 次查看

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告