使用HTML和CSS编程幻灯片


使用HTML和CSS编程幻灯片,需要对HTML和CSS动画有基本的了解。幻灯片以连续的方式显示一系列内容,并具有平滑的过渡效果。

在本文中,我们将讨论如何使用HTMLCSS创建幻灯片,而无需使用JavaScript。我们有一组div元素,其中包含作为幻灯片的文本内容或图像。我们的任务是使用HTML和CSS编程一个幻灯片。

使用HTML和CSS编程幻灯片的步骤

我们将遵循一个两步过程来使用HTML和CSS编程幻灯片,如下所示

使用HTML创建幻灯片的结构

  • 我们使用div来创建幻灯片。类名为**parent**的div充当幻灯片的容器。
  • 类名为**slides**的div包含四个子元素,代表四个幻灯片,每个幻灯片显示包装在名为**element**的div内的唯一内容。

使用CSS设计幻灯片

  • 我们使用了**parent**类,它充当幻灯片的容器,使用CSS heightwidth属性设置容器的尺寸,并设置margin使其居中对齐。CSS overflow属性确保一次只显示一个幻灯片。
  • 我们使用了**element**类来使用CSS height和width属性设置幻灯片的尺寸。每个幻灯片都使用float属性左浮动,并设置幻灯片文本内容的font-size
  • **slides**类包含所有四个幻灯片,其宽度等于一个幻灯片宽度的四倍,使用calc()函数。CSS animation属性创建名为**slideShow**的动画,该动画无限循环。
  • 然后,我们使用了**.element:nth-child()**,它选择每个幻灯片,我们可以对每个幻灯片应用不同的样式。我们使用background-color更改每个幻灯片的背景颜色,并将文本color设置为白色。
  • 我们使用了@keyframes slideShow动画,它通过调整margin-left属性来向左移动幻灯片。我们在四个步骤中定义了我们的动画:在20%时显示第一个幻灯片,类似地,在40%、60%和80%时分别显示第二个、第三个和第四个幻灯片。

示例1

这是一个完整的示例代码,实现了上述使用HTML和CSS编程幻灯片的步骤。

<html>
<head>
    <title>
        Programming a slideshow with HTML and CSS
    </title>
    <style>
        .wrap {
            text-align: center;
        }
        .parent {
            height: 300px;
            width: 600px;
            overflow: hidden;
            margin: 0 auto;
        }
        .element {
            float: left;
            height: 500px;
            width: 716px;
            font-size: 4rem;
        }
        .slides {
            width: calc(716px * 4);
            animation: slideShow 10s ease infinite;
        } 
        .content {
            padding: 15%;
        }
        .element:nth-child(1) {
            background-color: #04af2f;
            color: white;
        }
        .element:nth-child(2) {
            background-color: #031926;
            color: white;
        }
        .element:nth-child(3) {
            background-color: #2c302c;
            color: white;
        }
        .element:nth-child(4) {
            background-color: rgb(68, 9, 30);
            color: white;
        }
        @keyframes slideShow {
            20% {
                margin-left: 0px;
            }
            40% {
                margin-left: calc(-716px * 1);
            }
            60% {
                margin-left: calc(-716px * 2);
            }
            80% {
                margin-left: calc(-716px * 3);
            }
        }
    </style>
</head>
<body>
    <div class="wrap">
        <h3>
            Programming a Slideshow with HTML and CSS
        </h3>
        <p>
            This example creates a slideshow using HTML 
            and CSS with CSS animations.
        </p>
    </div>
    <div class="parent">
        <div class="slides">
            <div class="element">
                <strong class="content">This is a slide 1</strong>
            </div>
            <div class="element">
                <strong class="content">This is a slide 2</strong>
            </div>
            <div class="element">
                <strong class="content">This is a slide 3</strong>
            </div>
            <div class="element">
                <strong class="content">This is a slide 4</strong>
            </div>
        </div>
    </div>
</body>
</html>

示例2

在这个例子中,我们使用了img标签来创建幻灯片,而不是使用文本内容。

<html>
<head>
    <title>
        Programming a slideshow with HTML and CSS
    </title>
    <style>
        .wrap {
            text-align: center;
        }
        .parent {
            height: 300px;
            width: 600px;
            overflow: hidden;
            margin: 0 auto;
        }
        .element {
            float: left;
            height: 100px;
            width: 716px;
        }
        .slides {
            width: calc(716px * 4);
            animation: slideShow 10s ease infinite;
        }
        img {
            width: 450px;
            height: 100%;
        }
        @keyframes slideShow {
            20% {
                margin-left: 0px;
            }
            40% {
                margin-left: calc(-716px * 1);
            }
            60% {
                margin-left: calc(-716px * 2);
            }
            80% {
                margin-left: calc(-716px * 3);
            }
        }
    </style>
</head>
<body>
    <div class="wrap">
        <h3>
            Programming a Slideshow with HTML and CSS
        </h3>
        <p>
            This example creates a slideshow using HTML 
            and CSS with CSS animations.
        </p>
    </div>
    <div class="parent">
        <div class="slides">
            <div class="element">
                <img src="/html/images/test.png" alt="image 1">
            </div>
            <div class="element">
                <img src="/css/images/css-mini-logo.jpg" alt="image 2">
            </div>
            <div class="element">
                <img src="/html/images/test.png" alt="image 3">
            </div>
            <div class="element">
                <img src="/css/images/css-mini-logo.jpg" alt="image 4">
            </div>
        </div>
    </div>
</body>
</html>

结论

在本文中,用户学习并理解了仅使用HTML和CSS编程幻灯片的方法。我们使用了**CSS动画**来创建使用HTML和CSS的幻灯片。但是,建议使用JavaScript创建幻灯片,因为我们可以更好地操作它。例如,如果我们有100多个幻灯片并且需要创建幻灯片,CSS代码可能会变得更复杂,因为我们需要在关键帧中添加硬编码的百分比值来设置动画。

更新于:2024年9月10日

4K+ 浏览量

启动您的职业生涯

完成课程后获得认证

开始
广告