从理论上讲,我可以在任何地方使用任何内容,并将<table>
格式化为<ul>
。 Or style an <imsocool>
blue.
<style>
imsocool {
color: blue;
}
<imsocool>HELLO</imsocool>
有时验证器会抱怨(不像我关心 - 它在css中验证calc()
时抱怨“解析错误”),但浏览器从不这样做。我猜的唯一问题是浏览器,屏幕阅读器,搜索引擎以及其他所有内容都不知道<imsocool>
是什么。未知标签没有,未知。那么什么时候可以呢?
可以制作这样的特殊小部件(当然是JS)吗?
<calendar>
<ctrlgroup>
<ctrl class="left"><-</ctrl>
<ctrl class="left">-></ctrl>
</ctrlgroup>
<week>
<day>1</day><day>2</day><day>3</day><!-- Etc. -->
</week>
</calendar>
我需要使用破折号吗? (正如规范所说 - 它应该防止与未来元素的冲突)
<calendar-widget>
<ctrl-group>
<cal-ctrl class="left"><-</cal-ctrl>
<cal-ctrl class="left">-></cal-ctrl>
</ctrl-group>
<calendar-week>
<calendar-day>1</calendar-day><calendar-day>2</calendar-day><calendar-day>3</calendar-day><!-- Etc. -->
</calendar-week>
</calendar-widget>
或者根本不应该使用它?
<div class="calendar">
<div class="controls">
<div class="left"><-</div>
<div class="left">-></div>
</div>
<div class="week">
<span class="day">1</span><span class="day">2</span><span class="day">3</span><!-- Etc. -->
</div>
</div>
忽略浏览器支持,使用未知HTML元素的优缺点是什么?什么时候合适?
我能想到的是:
<div>
并不仅仅意味着<imsocool>
。<em>
强调,而不是<big-and-red>
)<table>
设置为<ul>
- 它会混淆机器人(浏览器,辅助功能软件,谷歌)。那么,不要滥用可能发生冲突的未来可能元素吗?答案 0 :(得分:1)
与代码世界中任何标准的偏差一样,任何非标准的处理方式都会产生不确定的行为,因为不是每个代理都会以同样的方式同意处理这种情况。
所以,要回答你的问题,只有你可以使用unexpected behavior from the browsers等等,这是可以的。这意味着遇到HTML的每个人都不会有相同的体验。这就是遵循HTML / CSS标准的保证。
您提供的示例实际上似乎与XML类似,这使您在标记名称方面拥有更多自由。如果更适合您的偏好,您可以轻松创建XML documents with style sheets:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="mytest2.css"?>
<people>
<person>
<name status="real">Deron Eriksson</name>
<birthdate>January 22, 1972</birthdate>
<eyes>blue</eyes>
</person>
<person>
<name status="imaginary">Bob Smith</name>
<birthdate>December 25, 1989</birthdate>
<eyes>brown</eyes>
</person>
</people>
此外,还有standard being developed个自定义HTML标记。
答案 1 :(得分:0)
使用自定义标签确实没有优势。唯一的好处是它可以提高可读性,但类足够可读。
这是另一个类似的stackoverflow问题:Is there a way to create your own html tag in HTML5?