Web技巧(08)

栏目: CSS · 发布时间: 5年前

内容简介:前段时间看到群里有不少同学在讨论,Slider效果在Web中是非常常见的一种效果,像通过

前段时间看到群里有不少同学在讨论, 目前阶段哪些交互行为可以直接使用CSS来实现,而不再依赖JavaScript 。后来想想,这应该也是一个值得我们探讨的话题,后来一想,要不这一期我们就来聊聊,哪些交互行为,可以不再依赖JavaScript,直接使用CSS来实现。

CSS Slider

Slider效果在Web中是非常常见的一种效果,像 Swiper 这样的库是一个非常优秀的库,用于实现Slider效果最好不过了。如果我们抛开JavaScript使用纯CSS也可以实现一些简单的Slider效果,不同的是要实现自动播放会有一定的难度。

通过 <a> 链接的锚点来实现。除此之外,还可以配合 input[type="radio"] 、CSS的 :target 选择器

如果我们想要实现一个自动播放的效果,需要配合CSS的 animation 相关的特性一起来实现,比如下面这个示例:

如果不是自播放的Slider,CSS实现方案有很多种,对于自动播放的,那么就需要具备 animation 和Web动画相关的知识 。随着滚 动特性 滚动捕捉特性 越来越完善,对于CSS实现Slider的效果会越来越完美。

有关于CSS实现的Slider效果更多案例, 可以点击这里查阅

CSS Accordion

使用CSS实现手风琴的效果和实现Slider的效果类似,可以通过 [input type="radio"]:target:hover 等方法来实现。比如下面这个效果:

如果你不想太纠结或者说徒手撸一个手风琴效果的话,也可以尝试着使用在线的生成工具,比如 CSS Accordion Slider 就蛮不错的:

Web技巧(08)

有关于CSS手风琴更多的效果可以点击 这里这里 查阅。

实现Accordion的效果除了CSS之外,还有一个更优秀的方案,那就是采用HTML5的 <details><summary> 标签,比如下面这个案例:

有关于 <details><summary> 更详细的介绍可以阅读《 借助HTML5 details,summary无JS实现各种交互效果 》一文。另外,这两个标签结合在一起还可以 实现一些其他的交互效果

CSS Modal

模态弹出框也可以使用 :target 或借助 radiocheckboxchecked 来完成:

同时还可以借助 animation.css 中提供的 animation 效果 ,让Modal的出现和隐藏带有一些动效。比如像 Light Modal提供的效果

有关于CSS实现Modal的更多效果 可以点击这里查阅

CSS Tabs

原理是一样的, :targetchecked 配合 ~ 一起。有关于 CSS实现Tabs 更多的 案例 可以 点击这里

CSS Tooltips

提示框通常是借助CSS状态选择器中的 :hover:focus 来实现,也是非常常见的一个效果:

如果要实现点击显示或隐藏提示框,那还得借助 checkboxradiochecked 来完成。除此之外还可以使用 :focus-within 来实现提示框的效果

有关于Tooltip更多的效果 可以点击这里查阅

CSS Dropdown Menu

下拉菜单,采用 :hover 实现下拉菜单已是很经典的技术了,比如下面这个效果:

现如今可以使用 :focus-within 实现 Off-screen 导航菜单的效果:

前面提到使用 <details><summary> 来实现手风琴的效果,其实使用这两个标签也可以很好的实现下拉菜单的效果。

有关于 下拉菜单更案例可以点击这里查阅

CSS Range Slider

在上一期中的末尾提到了HTML5的 <meter><progress> 实现进度条的效果:

对于滑块的效果,可以直接使用 <input type="range" /> 来实现:

@Ana Tudor在她的《 A Sliding Nightmare: Understanding the Range Input 》一文中详细介绍了如何使用 <input type="range"> ,有兴趣的同学可以看看。

我们也可以使用 CSS的 mask 相关的特性 ,让Progress的效果更美:

有关于滑块更多的效果 可以点击这里查阅

CSS Star Rating

评分系统,也可以使用CSS来完成,不过需要配合 inputchecked 一直处理:

有关于评分系统更多的案例 可以点击这里查阅

CSS Scrollbar

在Webkit内核下,可以借助Scrollbar相关的伪元素选择器实现自定义滚动条效果:

小结

文章中提到的这些效果,在以往较多情形之下,或者说一定得依赖JavaScript一起才能完成。随着CSS特性越来越强大,以前很多常见的Web效果(交互效果)就可以使用纯CSS来完成。上面是我能想到的一些常见效果,效果中常用到的是 :target:focus-withininputchecked~ (或 + )选择器来完成。虽然CSS能实现这些效果,但对于HTML的结构有较强的要求,如果结果没有写好,要实现这些相应的交互效果就较为困难。另外,HTML5的一些新标签也能很好的帮助我们实现一些效果,比如使用 <details> 实现手风琴,下拉菜单等效果,使用 type="range"progressmeter 可以实现一些进度条和滑块的效果。

如果您在这方面有相应的经验,欢迎在下面的评论中与我们一起分享。


以上所述就是小编给大家介绍的《Web技巧(08)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

有的放矢

有的放矢

Nathan Furr、Paul Ahlstrom / 七印部落 / 华中科技大学出版社 / 2014-4-20 / 38.00元

创业需要大笔资金吗?自信的人适合创业吗?好点子究竟来自哪里?《有的放矢:NISI创业指南》的两位作者拥有多年创业与投资经验,收集了大量的一手案例和资料,提出有的放矢创业流程,帮助创业者规避创业风险,提高创业成功率。一起来看看 《有的放矢》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试