通过创建自定义标签来扩展HTML

使用HTML时,例如,使用<b>标记显示粗体文本。 如果需要列表,则对每个列表项使用<ul>标记及其子标记<li> 。 标签由浏览器解释,并与CSS一起确定网页内容的显示方式以及部分内容的行为。

有时,仅使用一个HTML标记不足以满足Web应用程序所需的功能。 通常,这可以通过将多个HTML标记与JavaScript和CSS结合使用来解决,但是这种解决方案并不是那么优雅。

更为优雅的解决方案是使用自定义标签 - 用<>括起来的标识符,浏览器将其解释为呈现我们预期的功能。 与常规HTML标签一样,我们应该能够在页面中多次使用自定义标签,并且还应该能够具有标签属性和子标签来辅助自定义标签的功能。 所以,让我们看一个例子!

示例:创建Gravatar自定义HTML标签

下面是用自定义标签封装了一个HTML片段,使得这个HTML片段更具有语义性,且可以多处复用。

html 复制代码
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        This is my Gravatar picture:
        <dog-gravatar id="dog-gravatar" email="admin@coding-dude.com">
            <div>
                <img src="" alt="图片">
                <div>内容</div>
            </div>
        </dog-gravatar>
    </body>
    <script>
        const dogGravatar = document.querySelector('dog-gravatar');
        console.log(dogGravatar.getAttribute('email'));
    </script>
</html>
相关推荐
前端snow9 分钟前
记录:非常典型的一个redux问题
前端
慧一居士18 分钟前
src/App.vue 和 public/index.html 关系和区别
前端·vue.js
九十一44 分钟前
websocket的连接原理
前端·javascript
念你那丝微笑1 小时前
vue实现批量导出二维码到PDF(支持分页生成 PDF)
前端·vue.js·pdf
Renounce1 小时前
《Android Handler:线程间通信的核心实现》
前端
CAD老兵1 小时前
打造高性能二维图纸渲染引擎系列(一):Batched Geometry 助你轻松渲染百万实体
前端·webgl·three.js
前端老宋Running1 小时前
微信小程序的操作日志收集模块
前端
CAD老兵1 小时前
打造高性能二维图纸渲染引擎系列(三):高性能 CAD 文本渲染背后的隐藏工程
前端·webgl·three.js
CAD老兵1 小时前
打造高性能二维图纸渲染引擎系列(二):创建结构化和可扩展的渲染场景
前端·webgl·three.js
王木风1 小时前
1分钟理解什么是MySQL的Buffer Pool和LRU 算法?
前端·mysql