jquery插件:使用<b>或<div>创建块?</div> </b>

时间:2012-07-22 07:59:53

标签: jquery html jquery-plugins

我整理了一个jQuery插件,它改变了HTML容器中文本的方面,并赋予它类似LCD的外观。由插件转换的每个字符都由几个方块(我称之为“砖块”)构成,绝对位于父容器中 - 每个字符转换一个容器。砖块实际上是<b>标签,其中应用了display: block规则。

我使用它们代替<div>以减少标记量,但我想知道这种方法是否存在缺点,我不知道。 您可以在此处查看插件: Digitize

1 个答案:

答案 0 :(得分:2)

它没有多大区别,但由于缺乏语义,因此divspan可能更合适。

由于标记是动态构建的,因此您不会节省太多,因此bdivspan之间的长度差异无论如何都不重要。

HTML规范说:

  

b元素表示注意力的文本范围   为实用目的而绘制而没有任何额外的重要性   并且没有任何替代声音或情绪的暗示,例如钥匙   文档中的单词摘要,评论中的产品名称,可操作的   交互式文本驱动软件中的文字或文章。

     

当没有其他元素时,b元素应该作为最后的手段   更合适。特别是,标题应使用h1到h6   要素,重点强调应该使用em元素,重要性应该   用强元素表示,文本标记或突出显示   应该使用标记元素。

但另一方面,使用JS而不是整洁来制作它确实没什么区别。例如,Twitter引导程序可能会使用i作为图标!

顺便说一句,“正确”的方法是使用Shadow DOM - 它是相当新的品牌,但它允许您以与select标记相同的方式隐藏实现细节(即html只有selectoption元素,但在幕后还有更多元素。

要获得演示,请在新浏览器中查看http://adobe.github.com/web-platform/samples/css-regions/shadow-dom/。如果您使用Chrome,请启用chrome://flags/中的开发者工具实验,然后在检查器菜单中打开View Shadow DOM选项。这将让你看到这里发生了什么。

简而言之,您可以创建与其他所有内容隔离且基本上不可见的元素。您可以按照惯例对它们进行样式设置,但也可以将它们与CSS的其余部分隔离开来。它们的行为与常规行为相同,只是它们不能以正常方式寻址。

如果我正在制作这个插件,我会尽可能地使用Shadow Dom,后退到spanb或其他什么,主要是因为很酷的东西很酷!