多年来,Web 上的交互◢性意味着☆使用 JavaScript。无论是 vanilla JS 还是 jQuery 或 React 等库,该语言一□□□直是构建□□用户可以□□与之交互丨的元素的□□□□门户。
虽然 JavaScript 在这些场□□□□景中仍然□□□□非常有用,但它不再□□□是必需的。如今,结合使用 HTML 和 CSS 可以完成□□很多工作。每个标准·都经过扩□□展以包含□□□□曾经专为△其他语言●所独有的●功能。
这种演变□□□□带来了几□□□个好处。首先,它大大降□□低了构建□□这些元素•的复杂性。您无需加▼载外部库□□或担心掌□□□□握 JavaScript 语法。反过来,这也可以□□提高性能□□□□并确保浏□□□览器兼容□□□性。
长期以来,手风琴都♦是在 JavaScript 的帮助下□□□□构建的。jQuery UI 库甚至包□□□□含该元素。这简化了□□□□创建和样□□□式化过程,但它不是□□最高性能◤的代码。
尤其是当□□□您考虑到 HTML 现在内置□□了details和summary标签时。使用一些□□□□基本的标□□□□记和样式,可以创建♦一个有吸△引力且功□□□□能强大的 UI。它还与所□□□□有主要浏□□□□览器兼容。
值得一提的是,这种方法并不能提供全方位的特效。
除去这个警告,这是加载 JavaScript 库的一个非常可行的替代方法。
下面是一个基本示例,说明仅需几行 HTML 和 CSS 即可完成的操作。

高级导航菜单
制作跨浏☆览器和设□□□□备的导航▽曾经是一★个相当大□□的挑战。特别是在□□□□创建多级□□□或大型菜•单时。高级功能□□□通常需要□□回退才能□□□□在旧版浏□□□览器上正□□□□常运行。
这还没有★考虑到小◢屏幕。可能需要□□□实现一个□□完全独立□□□□的菜单,以确保在●移动设备□□□□上易于使□□□□用。
值得庆幸❖的是,这方面已▲经取得了丨很大进展。通过结合 HTMLnav标签、无序列表□□□和 CSS,我们可以□□支持所有□□□设备。它们不仅□□看起来和□□过去大量□□□□使用 JavaScript 的菜单一□□□样好,而且它们□□□□的执行效□□□□率也更高。

游戏
基于网络□□□□的游戏已□□□经存在了☆很长时间——可以追溯□□□□到(吞咽!) Flash时代。即使在该□□平台消亡□□□□之后,构建它们·的过程仍□□□然很复杂。
创建流畅□□□的动画、处理数学□□□计算和允★许用户输•入传统上◇需要高级□□脚本和库□□□□使用。但现在不□□一定是这▼样了。
canvas现在,CSS 可以与 HTML 、SVG 和其他好□□□东西相结□□□合,以创建一▼些令人惊□□□讶的强大◥结果。虽然您不★会将这些□□□纯 CSS 游戏误认□□□为是在您□□□的控制台□□上播放的○尖端游戏,但它们仍□□□□然令人印□□□象深刻。

就像游戏□□□一样,网络上的◆多媒体曾◥经是浏览□□□器插件领★域。其中一些□□□□是由于专□□有格式,因为供应❖商竞相为□□其编解码□□□□器赢得市□□□□场份额。内容提供□□□者(以及设计□□者)被迫选择□□□□一种或多□□种格式以□□□提供给用★户。用户需要□□□安装正确□□的软件才□□□能播放媒□□体。真是一团□□□糟。
但即使 MP4 等格式成□□□为开放标●准,播放仍然◇很复杂。然而,向 HTML5 的转变给□□□□浏览器带□□来了很多□□□功能负担。和元素使□□□□用具有多□□□□种可选功※能video的audio内置媒体□□播放器。
虽然 JavaScript 仍然被推□□□□荐用于更□□□□加自定义□□的 UI,但它不再□□□是必需的。一些基本□□□样式可以□□□使用 CSS 完成。此外,本机元素□□□□的浏览器□□□□兼容性非□□□□常强大。

建立基础及超越
CSS 和 HTML 的进步为□□□□推动网络□□□向前发展□□□创造了奇□□□□迹。我们不再□□需要借助□□□大量代码□□库或过于▽复杂的流□□□程来提供□□基本的交✦互性。这些本地□□□□支持的订◣书钉完全◢有能力完□□□□成这项工□□□作。
这是个好□□□消息,因为网页◢设计师需△要考虑越□□□来越多的□□□设备。导航和媒◣体播放器△等无需第◆三方库即▲可运行的□□元素对于□□□实现这一□□□目标至关□□重要。
当然,JavaScript 和类似的□□东西仍然□□□存在,可以将事●情提升到▽一个新的□□□□水平。但现在可□□以在没有丨它们的情□□□□况下构建□□基础。