Maison >interface Web >tutoriel CSS >Créer une capture de défilement horizontal en utilisant HTML et CSS

Créer une capture de défilement horizontal en utilisant HTML et CSS

WBOY
WBOYavant
2023-08-27 18:25:101042parcourir

Créer une capture de défilement horizontal en utilisant HTML et CSS

Pour créer un accrochage à défilement horizontal, nous utiliserons le type scroll−snap− pour produire l'effet d'accrochage. Les propriétés scroll−snap−type et scroll−snap−align spécifient respectivement le type de comportement d'accrochage que nous souhaitons utiliser et l'alignement des points d'accrochage.

La valeur de la propriété scroll−snap−type de "x obligatoire" indique que nous voulons effectuer un accrochage horizontal, et la valeur de la propriété scroll−snap−align de "start" indique que nous voulons que les marques d'accrochage s'alignent avec le début de chaque rubrique.

可以使用JavaScript库(如ScrollSnap)来实现此功能,该库提供了更高级的功能和自定义选项。

Une autre option serait que les frameworks CSS tels que Bootstrap fournissent des composants intégrés pour l'accrochage à défilement horizontal et les dispositions de grille CSS ou de flexbox pour créer des sections horizontales qui s'alignent automatiquement les unes sur les autres.

算法

  • Définissez un élément conteneur pour contenir les sections pouvant défiler horizontalement

  • 将容器的宽度设置为其父元素的宽度的100%,高度设置为视口高度的100%

  • Activez le défilement horizontal lorsque le contenu déborde du conteneur à l'aide de la propriété CSS overflow−x

  • 使用CSS scroll−snap−type属性启用强制水平滚动捕捉

  • 为每个将水平滚动的部分定义一个section类

  • Définissez la largeur de chaque section à 100 % de la largeur de son élément parent et la hauteur à 100 % de la hauteur de la fenêtre d'affichage

  • Affichez chaque section en tant qu'élément de bloc en ligne pour permettre le placement horizontal à l'aide de la propriété d'affichage CSS

  • Définissez l'alignement instantané de chaque section sur le début du conteneur à l'aide de la propriété CSS scroll−snap−align

Exemple

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

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

      /* Set the width of the container element to 100% of its parent element's width,
      and the height to 100% of the viewport height */
        .container {
          width: 100%;
          height: 100vh;
          /* Enable horizontal scrolling when the content overflows the container */
          overflow-x: scroll;
          /* Enable mandatory horizontal scroll snapping */
          scroll-snap-type: x mandatory;
        }

        /* Set the width of each section to 100% of its parent element's width,
          and the height to 100% of the viewport height */
        .section {
          width: 100%;
          height: 100vh;
          /* Display each section as an inline block element to allow horizontal placement */
          display: inline-block;
          /* Set the snap alignment of each section to the start of the container */
          scroll-snap-align: start;
        }

    </style>

  </head>
  <body>
    <!-- The container element will contain the sections that can be scrolled horizontally -->
    <div class="container">
      <!-- Each section is wrapped inside an <h1> tag -->
      <h1><div class="section">Section 1</div></h1>
      <h1><div class="section">Section 2</div></h1>
      <h1><div class="section">Section 3</div></h1>
      <h1><div class="section">Section 4</div></h1>
    </div>
    
  </body>
  </html>

在创建此功能时,确保在不同的浏览器和设备上兼容性是很重要的。应该使用CSS属性,如scroll−snap− type、scroll−snap−align et scroll−behavior来控制滚动捕捉行为. Le comportement du défilement et le comportement du défilement sont également à la portée de tous.提供适当的ARIA属性和键盘导航选项。通过牢记这些注意事项和限制,开发人员可以创建一个功能齐全且用户友好的水平滚动捕捉。

Conclusion

水平滚动捕捉功能使用户能够轻松浏览网页的水平部分。它可以用于各种目的,如图像滑块、作品集、产品旋转木马等。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Propriété CSS padding-leftArticle suivant:Propriété CSS padding-left