自定义标签的可用性

我们早已习惯了使用大量的DIV来给页面布局,把具体的样式交给class属性来指配。但我们到底为什么非要用DIV不可呢?我觉得大堆的DIV堆砌是一种毫无语义的糟糕设计,在HTML自带的标签不够用时可以试试自定义标签,而且这可以有全浏览器兼容方案的。

  在切图时候经常会遇到标签不够用的情况,非得给元素加class才能解决,而且class的命名总是想不出合适的。这时候如果使用自定义标签就可以解决这些问题。虽然自定义标签也需要命名,但它的定义不再局限于“样式”,可以突破“样式”的局限使用更多词汇。

  在HTML5中,标签名带连接符“-”的标签是用于自定义的。虽然在API中提供了document.registerElement方法用于为这些自带标签指派具体的类型,但即使没有指派,它也会被作为一个HTMLUnknownElement存在。而这个HTMLUnknownElement也同样是继承于HTMLElement的,所以它依然是一个标签。

  也就是说,我们可以在现代浏览器中使用任何标签,它只是被作为HTMLUnknownElement处理而已。但我们也不能那么随便,为了兼容考虑,自定义标签的命名还是应该加入连接符“-”,至于registerElement步骤,如果没有特殊需求是可以省略的,反正Firefox目前也没支持。

  当然低版本浏览器不会直接支持这个,但我想很多人都已经知道如何让这些奇怪的标签在版本浏览器上生效了,因为一些HTML5新入的标签在低版本浏览器上本身就是不支持的,我们通常使用document.createElement的方法来使其兼容,对这些自定义标签也是同样的做法。

  我们使用的标签名是规范的自定义标签名,绝对不会于默认标签冲突,而且浏览器可以正常解析。低版本浏览器上的兼容确实有点粗暴,但是HTML5自带的新入标签也同样是这么粗暴的兼容下去的,所以这么做也完全不会内疚。

  综合这些因素,自定义标签是完全可以使用的,即使在商业项目上用也没问题。唯一需要注意的是团队开发时使用自定义标签的统一性。

时间: 2024-10-25 06:10:49

自定义标签的可用性的相关文章

JSP自定义标签

假设 向浏览器输出当前客户的IP地址 ,我们现在可以这样写 <% //获取当前用户的IP地址 String ip=request.getRemoteHost(); out.print("当前用户的IP地址是:"+ip); %> 但我们现在为了要在jsp页面尽量减少java代码,这个时候我们可以向前面学标签一样,自己来定义一个标签,通过调用标签来达到实现显示客户端的ip地址. 首先第一步我们要创建一个普通的java类,继承SimpleTagSupport类,叫标签处理器类(用

Javaweb学习笔记6—EL表达式与JSTL及自定义标签

 前几天博客被黑了,导致博客登陆不上,把前几天应该发的东西的东西重新发一遍 今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载 另外:如果图看不清的话请右击---在新窗口中打开会清楚很多. 一.EL表达式 1,EL简介 Expression Lan

JSP自定义标签渲染时报Illegal to flush错误

javax.servlet.ServletException:Illegal to flush within a custom tag 此错误是因为在JSP页面中的某一个自定义标签的doStartTag或doEndTag中用了out.flush,而其他的自定义标签没有导致.可以去掉out.flush. JSP自定义标签渲染时报Illegal to flush错误,布布扣,bubuko.com

java jsp自定义标签

自定义标签开发步骤 1)编写一个普通的java类,继承SimpleTagSupport类,叫标签处理器类 package gz.itcast; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.SimpleTagSupport; public class iftag extends SimpleTagSupport { private boolean

zTree更新自定义标签&gt;&gt;&gt;

zTree>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> x 本来想自己敲一个zTree的例子的>>> 但是一想zTree文档做的这么好,直接拷贝过来一个得了... 哈哈>>> <!DOCTYPE html> <html> <head> <

自定义标签

1 如果在jsp页面中写java代码 是很不合适的 而且坏处很多像这样: <%@page import="java.util.ArrayList"%><%@page import="java.util.List"%><%@page import="com.atguigu.javaweb.Customer"%><%@ page language="java" contentType=&q

自定义标签-自定义注解

首先是4个自定义注解类StaticResourceType.java public enum StaticResourceType { LESS,CSS,JS} StaticResource.java @Target({ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)public @interface StaticResource { StaticResourceType type(); String path(); Dependenc

讲解JSP自定义标签

一.基本概念 1.标签(Tag) 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本.由于标签是XML元素,所以它的名称和属性都是大小写敏感的. 2.标签库(Tag library) 由一系列功能相似.逻辑上互相联系的标签构成的集合称为标签库. 3.标签库描述文件(Tag Library Descriptor) 标签库描述文件是一个XML文件,这个文件提供了标签库中类和JSP中对标签引用的映射关系.它是一个配置文件,和web.xm

jsp自定义标签(时间格式化包括Long转时间)

1.jsp自带标签的格式化: jstl fmt 函数大全:主要针对格式化功能 Tags   fmt:requestEncoding fmt:setLocale fmt:timeZone fmt:setTimeZone fmt:bundle fmt:setBundle fmt:message fmt:param fmt:formatNumber fmt:parseNumber fmt:formatDate fmt:parseDate 先在jsp页面上增加: <%@ taglib uri="h