沃梦达 / IT编程 / 前端开发 / 正文

使用CSS样式position:fixed水平滚动的方法

要实现水平滚动,我们可以使用CSS样式中的position与overflow属性。

要实现水平滚动,我们可以使用CSS样式中的position与overflow属性。

  1. position: fixed
    使用position: fixed可以将元素定位到浏览器窗口的固定位置,不随用户的滚动而变化,达到水平滚动的效果。

需要注意的是,我们需要设置left或right属性的值来确定元素的位置。比如,将一个导航栏固定在网页的左侧,可以写出如下代码:

nav {
  position: fixed;
  left: 0;
  top: 0;
}
  1. overflow属性
    overflow属性用于定义当元素的内容溢出其框时发生的事情。我们可以设置overflow-x: scroll;来允许元素在水平方向上产生滚动条:
div.scroll {
  overflow-x: scroll;
  white-space: nowrap; /* 可以防止元素断行,保证水平滚动正常 */
}

这样,我们就可以在一个宽度不受限制的div中,放置多个宽度超出div范围的元素,通过水平滑动来浏览元素。下面是一个简单的示例代码:

<div class="scroll">
  <img src="image1.jpg">
  <img src="image2.jpg">
  <img src="image3.jpg">
  <img src="image4.jpg">
  <img src="image5.jpg">
</div>

通过上面两种方法的结合,我们可以实现水平滚动的效果。以下是一个完整的示例代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>水平滚动示例</title>
    <style>
      /* 设置导航条样式 */
      nav {
        position: fixed;
        left: 0;
        top: 0;
        background-color: #333;
        color: white;
        padding: 10px;
        width: 100%;
        box-sizing: border-box;
      }
      /* 设置滚动区域样式 */
      div.scroll {
        overflow-x: scroll;
        white-space: nowrap;
        padding: 20px 0;
      }
      /* 设置滚动元素样式 */
      div.scroll img {
        display: inline-block;
        width: 200px;
        height: 200px;
        margin-right: 20px;
        object-fit: cover;
      }
    </style>
  </head>
  <body>
    <nav>
      <a href="#">Home</a>
      <a href="#">About</a>
      <a href="#">Services</a>
      <a href="#">Contact</a>
    </nav>
    <div class="scroll">
      <img src="https://i.picsum.photos/id/1015/600/400.jpg" alt="image1">
      <img src="https://i.picsum.photos/id/1062/600/400.jpg" alt="image2">
      <img src="https://i.picsum.photos/id/1050/600/400.jpg" alt="image3">
      <img src="https://i.picsum.photos/id/1041/600/400.jpg" alt="image4">
      <img src="https://i.picsum.photos/id/100/600/400.jpg" alt="image5">
    </div>
  </body>
</html>

以上代码可以在浏览器中运行,产生一个带有固定导航条的水平滚动效果。

本文标题为:使用CSS样式position:fixed水平滚动的方法