在html中创建自定义标签

创建并使用自定义标签

Web Components 标准非常重要的一个特性是,它使开发者能够将HTML页面的功能封装为 custom elements(自定义标签),本篇介绍使用 CustomElementRegistry 来管理我们的自定义标签

1. 创建自定义标签

  <script>
  class PopUpInfo extends HTMLElement {
    constructor () {
      super();
      // 在此定义自定义标签 我顶一个icon和text并列的
      // Create a shadow root
      let shadow = this.attachShadow({mode: ‘open‘});
  // 创建我们需要的标签
  let wrapper = document.createElement('div');
  let iconBox = document.createElement('div');
  let textBox = document.createElement('div');

  // 为标签添加样式
  wrapper.setAttribute('class','wapper');
  iconBox.setAttribute('class','icon');
  textBox.setAttribute('class','text');

  let text = this.getAttribute('text'); // 获取标签里面传递的值
  textBox.textContent = text;

  let imgUrl;
  if(this.hasAttribute('img')) {
    imgUrl = this.getAttribute('img');
  } else {
    imgUrl = 'default.png'; // 设置一个默认图片
  }
  var img = document.createElement('img');
  img.src = imgUrl;
  iconBox.appendChild(img);

  // 书写样式
  var style = document.createElement('style');
  let lStyleStr = '.wrapper { display: flex; justify-content: center; align-items: center; width: 100%; height: 50px;}'
  lStyleStr += '.icon {margin-right: 10px; width: 50px; height: 50px;}'
  lStyleStr += '.icon img { width: 100%; height: 100%;}'
  lStyleStr += '.text { flex: 1; font-size: 14px; color: #333; line-height: 50px;}'
  style.textContent = lStyleStr;

  // 将样式和dom元素挂载到页面
  shadow.appendChild(style);
  shadow.appendChild(wrapper);
  wrapper.appendChild(icon);
  wrapper.appendChild(info);

}

}
</script>

2. 注册自定义标签

  <script>
    customElements.define(‘popup-info‘, PopUpInfo);
  </script>

3. 使用自定义标签

<body>
  <popup-info img="you_picture.jpg" text="你的文字"></popup-info>
</body>

原文地址:https://www.cnblogs.com/tmbm/p/11115871.html

时间: 2024-10-12 07:45:41

在html中创建自定义标签的相关文章

Django中创建自定义标签与过虑器

1.首先在app中创建templatetags目录(注意必须使用该名字,否则系统找不到自定义的标签),然后创建python文件common_extrgs.py. common_extrgs.py: from django import template #创建template.Library()实例register = template.Library() #使用@register.filter()注册成自定义过滤器@register.filter()def mycut(value,arg):

jsp中的自定义标签

(jsp 1.0规范) 一,自定义标签主要用于移除Jsp页面中的java代码: 使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: 1,编写一个实现Tag接口的Java类(标签处理器类). 2,编写标签库描述符(tld)文件,在tld文件中对标签处理器类描述成一个标签.(.tld文件放在WEB-INF目录下面) 二,TAG接口的执行流程: JSP引擎将遇到自定义标签时,首先创建标签处理器类的实例对象,然后按照JSP规范定义的通信规则依次调用它的方法. 1,?public vo

使用原生js创建自定义标签

使用原生js创建自定义标签 效果图 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA

【翻译】在Ext JS和Sencha Touch中创建自定义布局

原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置,因而,不需要手动去管理那些碎片.Ext JS与Sencha Touch的布局类有许多相似之处,最近在 Ivan Jouikov的这篇博文中对他们进行了详细的分析. 虽然是这样,但很多Ext JS和Sencha Touch开发人员可能永远都不会去了解布局系统的机制原理.Sencha框架已经提供了最常

Eclipse RCP 中创建自定义首选项,并能读取首选项中的值

Eclipse RCP的插件中若想自己定义首选项需要扩展扩展点: org.eclipse.core.runtime.preferences //该扩展点用于初始化首选项中的值 org.eclipse.ui.preferencePages//该扩展点用于定义自己的首选项页面 plugin.xml中内容如: Database Preferences挂在WorkFlowBase下,需要在category中填写workFlowBase的ID WorkFlowPreferenceInitializer类,

js中创建html标签、加入select下默认的option的value和text、删除select元素节点下全部的OPTION节点

<pre name="code" class="java"> jsp 中的下拉框标签: <s:select name="sjx" id="sjx" list="sjxList" listKey="BM" listValue="MC" size="20" cssStyle="width:100%;height:70px;

如何用VS2010在SharePoint中创建自定义字段类型(以eWebEditor为例)

如何用VS2010在SharePoint中创建自定义字段类型(以eWebEditor为例) 前提 项目中用到eWebEditor作为在线编辑器替换sharepoint2010自动的多行编辑器,下面以eWebEditor作为自定义字段类型为例来讲述如何用VS2010在sharepoint中创建自定义字段类型. 开发 1. 首先用VS2010创建一个空的sharepoint2010项目,如下图: 指向sharepoint站点,部署为场解决方案,如下图: 2. 在解决方案上添加“映射文件”,指向TEM

js中创建html标签、添加select下默认的option的value和text

<pre name="code" class="java"> jsp 中的下拉框标签: <s:select name="sjx" id="sjx" list="sjxList" listKey="BM" listValue="MC" size="20" cssStyle="width:100%;height:70px;

在Oracle电子商务套件版本12.2中创建自定义应用程序(文档ID 1577707.1)

在本文档中 本笔记介绍了在Oracle电子商务套件版本12.2中创建自定义应用程序所需的基本步骤.如果您要创建新表单,报告等,则需要自定义应用程序.它们允许您将自定义编写的文件与Oracle电子商务套件提供的标准种子功能分离.在向您的环境应用修补程序或执行升级时可以保留自定义设置. 自定义数据和索引表空间默认为APPS_TS_TX_DATA和APPS_TS_TX_IDX. 注意:当没有活动的修补程序周期时,应在运行文件系统上执行本文档中描述的过程. 也可以按照此过程更正先前创建的不使用AD Sp