热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javascript冷门吗_不写JavaScript,教你只用纯HTML做出几个实用网页效果

在我们以往看到的页面效果中,很多是需要JS搭配使用的,那如果不写JS你知道如何实现吗?在本文中,将介绍如何使用纯HTML打造
3e25011b7a52c08d7796ee0ae2f43425.png

在我们以往看到的页面效果中,很多是需要JS搭配使用的,那如果不写JS你知道如何实现吗?

在本文中,将介绍如何使用纯HTML打造属于自己的实用网页效果。

1. 折叠手风琴

使用Details和Summary标签可以创建没有Javascript代码的可折叠手风琴。

效果:

498d493821cafb6c68f3f4d6fc992fb1.gif

HTML


Languages Used

This page was written in HTML and CSS. The CSS was compiled from SASS. Regardless, this could all be done in plain HTML and CSS



How it Works

Using the sibling and checked selectors, we can determine the styling of sibling elements based on the checked state of the checkbox input element.


CSS

* {font-size: 1rem;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
details {border: 1px solid #aaa;border-radius: 4px;padding: .5em .5em 0;
}summary {font-weight: bold;margin: -.5em -.5em 0;padding: .5em;
}details[open] {padding: .5em;
}details[open] summary {border-bottom: 1px solid #aaa;margin-bottom: .5em;
}

浏览器支持:

3667f8832d561e45208c58b736c99fb3.png

2. 进度条

该Meter和Progress 的元素标签的基础上,你可以调整属性呈现在屏幕上的进度条。进步有两个属性:maxvalue校准进度条,而Meter标签提供了更多的定制属性。

效果:

70c0e92e7ebbe285f7f66e54cb63d193.png

HTML:

at 50/100


70%

CSS:

body {margin: 50px;
}label {padding-right: 10px;font-size: 1rem;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

浏览器支持:

4bcd7fbfa1659951ae8584e3748121c2.png

3. 更多输入类型

在定义输入元素时,您要知道现代浏览器已经允许您指定足够多的输入类型了。除了你应该已经知道text,email,password,number这些类型外,还有下面的这些。

  • date 将显示本机日期选择器
  • datetime-local 更丰富的日期和时间选择器
  • month 友好的月份选择器
  • tel会让你输入一个电话号码。在移动浏览器上打开它,弹出的键盘将发生变化,同样的email也是如此。
  • search 将输入文本框设置为友好的搜索样式。

效果:

3324d38f28071181f0b5913f675e7f55.gif

HTML:






CSS:

input, label {display:block; margin: 5px;}
input {margin-bottom:18px;}

各种新输入类型的MDN文档非常广泛且信息量很大。此外,检查移动输入类型以了解用户在移动浏览器上时这些输入元素的键盘行为。

4. 视频和音频

videoaudio元素虽然现在已经成为HTML规范的一部分,但是你一样会惊讶于你可以使用video标签在屏幕上渲染出一个体面的视频播放器。

视频标记中值得注意的一些属性包括:

  • poster 下载视频时要显示封面的URL
  • preload 是否在页面加载时预加载整个视频
  • autoplay 视频是否应该在页面加载后自动播放

浏览器支持:

62bb0a65bff3f5c918e0f8df60a0bd16.png

5. 校对文本

当你想显示历史编辑及校对的情况时,blockquote,delins元素标签可以派上用场了。

示例:

7ef26c3b4f2494c5914618f150e46541.png

HTML:

There is nothing no code either good or bad, but thinking running it makes it so.

CSS:

del {text-decoration: line-through;background-color: #fbb;color: #555;
}ins {text-decoration: none;background-color: #d4fcbc;
}blockquote {padding-left: 15px;line-height: 30px;border-left: 3px solid #d7d7db;font-size: 1rem;background: #eee;width: 200px;
}

6.更统一的引号

由于中英文引号的不同,使用标记可以让您很好的解决这个问题,它可使你的内容在大多数浏览器上更一致地呈现引号。

b0c88b3137f946a64e9296cb0ad9daca.png

HTML:

Don Corleone said I'm gonna make him an offer he can't refuse. Okay? I want you to leave it all to me. Go on, go back to the party.


Don Corleone said "I'm gonna make him an offer he can't refuse. Okay? I want you to leave it all to me. Go on, go back to the party."

CSS:

body {margin: 50px;
}q {font-style: italic;color: #000000bf;
}

7. 键盘标签

标签应该是一个少为人知的冷门标签,但这个能使用更好的方式来说明组合键的样式。

0c8485906a2dcaa3886fee3a6b548583.png

HTML:

I know that CTRL+C and CTRL+V a are like the most used key combinations

CSS:

body {margin: 50px;
}kbd {display: inline-block;margin: 0 .1em;padding: .1em .6em;font-size: 11px;line-height: 1.4;color: #242729;text-shadow: 0 1px 0 #FFF;background-color: #e1e3e5;border: 1px solid #adb3b9;border-radius: 3px;box-shadow: 0 1px 0 rgba(12,13,14,0.2), 0 0 0 2px #FFF inset;white-space: nowrap;
}

8.使用HTML共享代码

使用figcaption pre code标签,您可以使用纯HTML和CSS呈现出不错的代码片段。

ad3eda6317153e3555735038001359cc.png

HTML:

Defining a css color property for a class called 'golden'
.golden {color: golden;}

CSS:

pre {background-color: #ffbdbd;
}

这篇文章也只是抛砖引玉,如果您有更多私藏的使用技巧,不妨也贴出来分享给大家。同时欢迎访问葡萄城的原博客与我交流。

不用JS,教你只用纯HTML做出几个实用网页效果 - 葡萄城技术团队 - 博客园​www.cnblogs.com
6a2e27a191f0d38a351c376e48e7d048.gif

另外,如果您不仅仅限于以上的效率,希望有更完整的动态功能。如:您希望在您的页面中加入Excel功能,不妨尝试纯前端表格控件SpreadJS,相信它能为您的应用增色不少。

原文出处:https://blog.bitsrc.io/pure-html-widgets-for-your-web-application-c9015563af7a



推荐阅读
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 使用jqTransform插件美化表单
    jqTransform 是由 DFC Engineering 开发的一款 jQuery 插件,专用于美化表单元素,操作简便,能够美化包括输入框、单选按钮、多行文本域、下拉选择框和复选框在内的所有表单元素。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 利用REM实现移动端布局的高效适配技巧
    在移动设备上实现高效布局适配时,使用rem单位已成为一种流行且有效的技术。本文将分享过去一年中使用rem进行布局适配的经验和心得。rem作为一种相对单位,能够根据根元素的字体大小动态调整,从而确保不同屏幕尺寸下的布局一致性。通过合理设置根元素的字体大小,开发者可以轻松实现响应式设计,提高用户体验。此外,文章还将探讨一些常见的问题和解决方案,帮助开发者更好地掌握这一技术。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • Webdriver中元素定位的多种技术与策略
    在Webdriver中,元素定位是自动化测试的关键环节。本文详细介绍了8种常用的元素定位技术与策略,包括ID、名称、标签名、类名、链接文本、部分链接文本、XPath和CSS选择器。每种方法都有其独特的优势和适用场景,通过合理选择和组合使用,可以显著提高测试脚本的稳定性和效率。此外,文章还探讨了在复杂页面结构中如何灵活运用这些定位技术,以应对各种挑战。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 基于 Vue 和 Element UI 实现的简洁登录界面设计
    本文介绍了一种利用 Vue.js 和 Element UI 框架构建的简洁登录界面设计。该设计不仅注重用户体验,还确保了界面的美观性和易用性。通过合理的布局和组件配置,实现了高效、响应式的登录功能,适用于多种前端应用场景。 ... [详细]
  • NOIP2000的单词接龙问题与常见的成语接龙游戏有异曲同工之妙。题目要求在给定的一组单词中,从指定的起始字母开始,构建最长的“单词链”。每个单词在链中最多可出现两次。本文将详细解析该题目的解法,并分享学习过程中的心得体会。 ... [详细]
author-avatar
mobiledu2502890207
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有