使用 CSS 创建水平可滚动区域


水平可滚动区域是一种流行的网页设计模式,用于展示超出视口宽度的内容。这种设计模式允许用户水平滚动,提供了一种独特且引人入胜的方式来显示大型图像、画廊、时间线、地图和其他内容。这可以通过使用 CSS 属性(如 overflow−x: auto 或 overflow−x: scroll)来实现。

这利用了浏览器原生的水平滚动功能,并且在不同设备上具有响应性。允许轻松导航和浏览内容。它不需要任何额外的库或插件。

算法

  • 定义一个具有“container”类的容器元素。

  • 将容器的“overflow−x”属性设置为“auto”以启用水平滚动。

  • 将容器的“white−space”属性设置为“nowrap”以防止区域换行到下一行。

  • 定义具有“section”类的区域元素。

  • 将每个区域的“display”属性设置为“inline−block”以使它们并排显示。

  • 将每个区域的“width”属性设置为“100vw”以将每个区域的宽度设置为整个视口宽度。

  • 将每个区域的“height”属性设置为“80vh”以将每个区域的高度设置为视口高度的 80%。

  • 使用“margin−right”属性向每个区域的右侧添加边距。

  • 使用“vertical−align”属性将每个区域的顶部与容器的顶部对齐。

  • 将区域元素放置在容器元素内。

示例

 <!DOCTYPE html>
  <html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Horizontal Scrollable Sections</title>

    <!------------------------- CSS ----------------------->

    <style>

      .container {
        overflow-x: auto; /* Enables horizontal scrolling for the container */
        white-space: nowrap; /* Prevents the sections from wrapping to the next line */
      }

      .section {
        display: inline-block; /* Makes the sections display side-by-side */
        width: 100vw; /* Sets the width of each section to the full viewport width */
        height: 80vh; /* Sets the height of each section to 80% of the viewport height */
        margin-right: 20px; /* Adds a 20px margin to the right of each section */
        vertical-align: top; /* Aligns the top of each section with the top of the container */
      }


    </style>

  </head>
  <body>
    <!-- This is the container that holds the sections -->
    <div class="container">
       <!-- Each section is a div with the "section" class -->
       <div class="section">
        <h2>Section 1</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
      </div>
      <div class="section">
        <h2>Section 2</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
      </div>
      <div class="section">
        <h2>Section 3</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
      </div>
      <div class="section">
        <h2>Section 4</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
      </div>
      <div class="section">
        <h2>Section 5</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
      </div>
    </div>
  </body>
  </html>

这也可以使用传统的垂直滚动与分页或选项卡来实现,以将内容分成多个区域。使用网格或 flexbox 布局以响应式且视觉上吸引人的方式显示内容,而无需依赖水平滚动。

结论

在设计时请记住以下准则

  • 保持简单:避免在每个区域塞满信息。将注意力放在简洁明了地陈述要点上。

  • 使用醒目的视觉效果:使用一流的照片、视频或动画来吸引观看者并使您的区域更具趣味性。

  • 使用一致的设计:确保每个区域都具有一致的设计,以创造无缝的整体外观和感觉。

  • 提供导航:使用户能够轻松地在水平滚动页面中各个部分之间移动。您可以包含箭头、点和导航链接来帮助他们移动。

更新于:2023年8月18日

781 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告