目錄
什麼是輪播圖?
如何製作一個網頁輪播圖?
需要遵循的步驟
Example
範例
Responsive Carousel using CSS
CSS Transform 屬性
文法
價值觀
CSS動畫
首頁 web前端 css教學 如何借助CSS創建一個旋轉木馬?

如何借助CSS創建一個旋轉木馬?

Aug 23, 2023 pm 12:33 PM

如何借助CSS創建一個旋轉木馬?

旋轉木馬在網路上非常有名。 網路旋轉木馬是一種優雅的方式,可以將相似的內容組織到一個觸覺的地方,同時保留寶貴的網站空間。它們用於展示照片、提供產品,並吸引新訪客的興趣。但是它們的效果如何?有很多反對旋轉木馬的論點,以及研究使用旋轉木馬來提高性能。但是旋轉木馬如何影響網站的可用性?

在本文中,我們將討論輪播圖的基礎知識以及如何使用HTML和CSS建立輪播圖。

什麼是輪播圖?

輪播圖是一種幻燈片展示,可以顯示一系列旋轉的橫幅/圖片。輪播圖通常出現在網站的首頁。它可以改善您的網站的外觀。 Web輪播圖,也被稱為滑桿、畫廊和幻燈片,可讓您在一個動態的「滑動」區塊中顯示文字、圖形、圖像甚至影片。它們是將內容和概念分組的優秀設計選擇,可以在特定內容之間建立視覺連結。

Web輪播圖因此非常適合在電子商務網站上推廣相關產品,在設計作品集中展示特色項目,甚至在房地產網站上循環播放家居內外照片。然而,它們並不總是最佳選擇。

許多設計師批評它們會減慢載入時間並破壞設計的流暢性。然而,與任何設計相關的事物一樣,當正確地完成時,網頁輪播可以以更容易遍歷的方式分割內容。

如何製作一個網頁輪播圖?

在這裡,我們將看到如何製作一個簡單的網頁輪播圖,而不使用像Bootstrap這樣的框架。

需要遵循的步驟

  • 使用HTML建立走馬燈的基本結構,其中包含圖像。在下面的範例中,我們為走馬燈添加了4張圖像。此外,還有4個按鈕,點擊按鈕將顯示對應的圖像。

  • 首先,建立一個作為容器的 div 元素,其中包含 標題內容

  • 現在,content div 包含兩個部分- carousel content(包含在整個過渡過程中保持固定的文字部分)和slideshow# (包含移動部分,即4張圖片和按鈕)。

  • 使用CSS來為輪播圖像和按鈕添加樣式。保持幻燈片的位置為相對定位。

  • 使用CSS動畫使輪播中的影像平滑過渡。

Example

的中文翻譯為:

範例

以下範例示範了一個包含4個影像和控制影像顯示的按鈕的輪播。這些影像以固定時間間隔進行過渡顯示。

<!DOCTYPE html>
<html>
<head>
   <title> Web Carousel </title>
   <style>
      * {
         box-sizing: border-box;
         margin: 10px;
         padding: 3px;
      }
      body {
         background-color: rgb(195, 225, 235);
      }
      .box {
         width: 600px;
         height: 400px;
         display: flex;
         flex-direction: column;
         justify-content: center;
         align-items: center;
         margin: auto;
      }
      .title {
         padding: 10px 0 10px 0;
         position: absolute;
         top: 10px;
      }
      .content {
         position: relative;
         top: 10%;
      }
      .carousel-content {
         position: absolute;
         top: 50%;
         left: 45%;
         transform: translate(-40%, -40%);
         text-align: center;
         z-index: 50;
      }
      .carousel-title {
         font-size: 48px;
         color: black;
         margin-bottom: 1rem;
         font-family: Times New Roman;
      }
      .slideshow {
         position: relative;
         height: 100%;
         overflow: hidden;
      }
      .wrapper {
         display: flex;
         width: 400%;
         height: 100%;
         top: 10%;
         border-radius: 30%;
         position: relative;
         animation: motion 20s infinite;
      }
      .slide {
         width: 80%;
         height: 200%;
         border-radius: 30%;
      }
      .img {
         width: 100%;
         height: 100%;
         object-fit: cover;
      }
      @keyframes motion {
         0% {left: 0;}
         10% {left: 0;}
         15% {left: -100%;}
         25% {left: -100%;}
         30% {left: -200%;}
         40% {left: -200%;}
         45% {left: -300%;}
         55% {left: -300%;}
         60% {left: -200%;}
         70% {left: -200%;}
         75% {left: -100%;}
         85% {left: -100%;}
         90% {left: 0%;}
      }
      .button {
         position: absolute;
         bottom: 3%;
         left: 50%;
         width: 1.3rem;
         height: 1.3rem;
         background-color: red;
         border-radius: 50%;
         border: 0.2rem solid #d38800;
         outline: none;
         cursor: pointer;
         transform: translateX(-50%);
         z-index: 70;
      }
      .button-1 {
         left: 20%;
      }
      .button-2 {
         left: 25%;
      }
      .button-3 {
         left: 30%;
      }
      .button-4 {
         left: 35%;
      }
      .button-1:focus~.wrapper {
         animation: none;
         left: 0%;
      }
      .button-2:focus~.wrapper {
         animation: none;
         left: -100%;
      }
      .button-3:focus~.wrapper {
         animation: none;
         left: -200%;
      }
      .button-4:focus~.wrapper {
         animation: none;
         left: -300%;
      }
      .button:focus {
         background-color: black;
      }
   </style>
</head>
<body>
   <div class= "box">
      <h1 id="Responsive-Carousel-using-CSS"> Responsive Carousel using CSS </h1>
      <div class= "content">
         <div class= "carousel-content">
         </div>
         <div class= "slideshow">
            <button class= "button button-1"> </button>
            <button class= "button button-2"> </button>
            <button class= "button button-3"> </button>
            <button class= "button button-4"> </button>
            <div class= "wrapper">
               <div class= "slide">
                  <img  src="/static/imghw/default1.png"  data-src="https://wallpapercave.com/wp/wp2782600.jpg"  class="lazy"  class= "img" src= "https://www.tutorialspoint.com/static/images/simply-easy-learning.jpg" alt="如何借助CSS創建一個旋轉木馬?" >
               </div>
               <div class= "slide">
                  <img  src="/static/imghw/default1.png"  data-src="https://wallpapercave.com/wp/wp2782600.jpg"  class="lazy"  class= "img" alt="如何借助CSS創建一個旋轉木馬?" >
               </div>
               <div class= "slide">
                  <img  src="/static/imghw/default1.png"  data-src="https://i.insider.com/5fd90e7ef773c90019ff1293?   style="max-width:90%"  class="lazy"  class= "img" alt="如何借助CSS創建一個旋轉木馬?" >
               </div>
               <div class= "slide">
                  <img  src="/static/imghw/default1.png"  data-src="https://wallpaperaccess.com/full/1164582.jpg"  class="lazy"  class= "img" alt="如何借助CSS創建一個旋轉木馬?" >
               </div>
            </div>
         </div>
      </div>
   </div>
</body>
</html>
登入後複製

CSS Transform 屬性

要修改視覺格式模型所使用的座標空間,請使用CSS中的transform屬性。透過這樣做,可以對元素應用傾斜、旋轉和平移等效果。

文法

transform: none| transform-functions| initial| inherit;
登入後複製

價值觀

  • translate(x, y) − 此函數定義了沿著X和Y座標的平移。

  • translate3d(x, y, z) − 此函數提供了沿著X、Y和Z座標軸的平移。

  • initial − 將元素設為其預設值。

  • inherit − 它繼承父元素的值。

CSS動畫

CSS的animation屬性允許我們在一定的時間間隔內更改元素的各種樣式屬性,從而為它添加動畫效果。

動畫的一些特性如下:

  • Animation-name - 它允許我們指定動畫的名稱,後續由@keyframes使用該名稱來指定要執行該動畫的CSS規則。

  • 動畫持續時間 - 設定動畫的持續時間

  • 動畫時間函數 - 表示動畫的速度曲線,即動畫從一組CSS自訂屬性變化到另一組所使用的時間間隔。

  • Animation-delay – 在給定的時間間隔內為起始值設定延遲

@keyframes用於指定在給定的時間段內動畫中需要執行的程式碼。這是透過在動畫期間為某些特定的「幀」聲明CSS屬性來實現的,百分比從0%(動畫的開始)到100%(動畫的結束)。

以上是如何借助CSS創建一個旋轉木馬?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue團隊完成了完成,我知道這是一項巨大的努力,而且很長時間。所有新文檔也是如此。

您可以從瀏覽器獲得有效的CSS屬性值嗎? 您可以從瀏覽器獲得有效的CSS屬性值嗎? Apr 02, 2025 pm 06:17 PM

我有人寫了這個非常合法的問題。 Lea只是在博客上介紹瞭如何從瀏覽器中獲得有效的CSS屬性。那樣的是這樣。

在CI/CD上有點 在CI/CD上有點 Apr 02, 2025 pm 06:21 PM

我說的“網站”比“移動應用程序”更合適,但我喜歡Max Lynch的框架:

帶有粘性定位的堆疊卡和一點點的雜物 帶有粘性定位的堆疊卡和一點點的雜物 Apr 03, 2025 am 10:30 AM

前幾天,我發現了科里·金尼文(Corey Ginnivan)網站上的這一點,當您滾動時,彼此之間的卡片堆放集。

在WordPress塊編輯器中使用Markdown和本地化 在WordPress塊編輯器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我們需要直接在WordPress編輯器中向用戶顯示文檔,那麼最佳方法是什麼?

比較瀏覽器的響應式設計 比較瀏覽器的響應式設計 Apr 02, 2025 pm 06:25 PM

這些桌面應用程序中有許多目標是同時在不同的維度上顯示您的網站。因此,例如,您可以寫作

為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? 為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? Apr 05, 2025 pm 05:51 PM

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

如何將CSS網格用於粘頭和頁腳 如何將CSS網格用於粘頭和頁腳 Apr 02, 2025 pm 06:29 PM

CSS網格是一系列屬性的集合,旨在使佈局比以往任何時候都容易。像任何東西一樣,那裡有一點學習曲線,但是網格是

See all articles