没有 javascript 的 HTML/CSS 幻灯片

标签 html css slideshow

首先,我想说这是一个关于我大学元素的问题,所以我更多地是在寻找指导而不是直接的答案。非常感谢任何指向我正确学习方向的链接。

我正在尝试仅使用 CSS/Html 创建幻灯片,而不使用 javascript。要求是:

  • 没有 Javscript。
  • 转换将在 URL 哈希 (#foo) 更改时触发(它指向幻灯片的 ID。
  • 每张幻灯片都有一个唯一的预定义 ID。

我发现了很多不使用 javascript 的幻灯片示例,但它们中的每一个都使用链接来实现这一点。所以这里的问题是:

如何使用 ID 实现这一目标?有什么方法可以使用其 id 显示/隐藏元素?

注意: 我知道 SO 的规则不鼓励发布链接而不是答案,但在这种情况下,我想知道是否有任何资源可供学习!谢谢!

最佳答案

我想很好,使用:target 伪元素,你可以实现你想做的事情。有一个包含隐藏内容的幻灯片列表,并且基于 :target,如果我们显示它,它就会起作用。这就是我到目前为止的想法。

我不确定如何在不使用链接的情况下实现它,但这只是为了左右移动,但这使用了 :target、CSS 而没有 JavaScript。

section {background-color: #ccf; border: 5px solid #99f; display: none; line-height: 500px; width: 500px; margin: 15px auto; text-align: center;}
section:target {display: block;}

#nav,
#nav li {display: block; margin: 0; padding: 0; list-style: none; text-align: center;}
#nav li {display: inline-block;}
#nav li a {display: block; text-decoration: none; padding: 3px; margin: 5px; border: 1px solid #99f; border-radius: 5px;}
#nav li a:focus,
#nav li a:active {background-color: #ccf; color: #fff;}
<ul id="nav">
  <li><a href="#slide-1">Slide 1</a></li>
  <li><a href="#slide-2">Slide 2</a></li>
  <li><a href="#slide-3">Slide 3</a></li>
  <li><a href="#slide-4">Slide 4</a></li>
  <li><a href="#slide-5">Slide 5</a></li>
</ul>
<div id="slides">
  <section id="slide-1">This is Slide 1</section>
  <section id="slide-2">This is Slide 2</section>
  <section id="slide-3">This is Slide 3</section>
  <section id="slide-4">This is Slide 4</section>
  <section id="slide-5">This is Slide 5</section>
</div>

使用全屏预览来查看它的外观。

关于没有 javascript 的 HTML/CSS 幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36695640/

相关文章:

html - 如何使用自定义 wordpress 主题使 div 响应?

html - 具有动态宽度的顶部层,位置 : absolute 以外的替代方案

html - 幻灯片/旋转木马和背景 img

javascript - 如何更改模态 materializecss 的大小

javascript - 将 CSS 表格高度设置为 x 行高组合数

css - 使用网格CSS框架的利弊

javascript - 如何仅通过单击按钮来浏览图片(如幻灯片)?

jQuery SlidesJS 键盘导航

javascript - Perl——如何将新网页滚动到上一行位置

javascript - 单击箭头更改图像