替代HTML语法

时间:2010-11-03 11:49:22

标签: html syntax

这是一个主观问题,但你不认为以下HTML语法会更有意义吗?

<div #id .class1 .class2><!-- content --></div>

而不是:

<div id="id" class="class1 class2"><!-- content --></div>

4 个答案:

答案 0 :(得分:8)

对于只编写HTML和CSS的人来说,这可能更有意义。但是,请记住

  • CSS的发明时间远远晚于HTML
  • HTML在很大程度上是向后兼容的;您仍然可以使用古老的浏览器查看当前网页,而无需更改
  • 您提出的语法与XML不兼容。因此,您将抛弃所有XHTML人员
  • 此外,您是否也希望更改依赖CSS进行样式化的其他语言,例如: SVG(再次,XML,因此不兼容)?

我同意,出于一个非常狭隘的目的,这可能是一个有益的改变,但从更广泛的角度来看,我怀疑你会看到很多改善,只有痛苦。您当然可以使用预处理器以这种方式编写HTML并将其转换为实际的内容。

您可能还想查看转换为HTML的其他语言,例如Haml

如果您只想输入类似于您提议的内容,那么Zen-Coding可能是您的选择。引用:

  

Zen Coding是一个用于高速HTML,XML,XSL(或任何其他结构化代码格式)编码和编辑的编辑器插件。这个插件的核心是一个强大的缩写引擎,它允许您将类似于CSS选择器的表达式扩展为HTML代码。例如:

div#page>div.logo+ul#navigation>li*5>a
     

...可以扩展为:

<div id="page">
    <div class="logo"></div>
    <ul id="navigation">
        <li><a href=""></a></li>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
    </ul>
</div>

答案 1 :(得分:4)

不是真的。 HTML中的属性是通用的,CSS只建立在它们之上。 HTML本身没有“ids”或“类”的概念,只有属性。

答案 2 :(得分:4)

您可能喜欢使用HAML(使用these implementations中的任何一个):

%body
    #header
        %h1 BoBlog
        %h2 Bob's Blog

答案 3 :(得分:2)

这可能适用于您提供的示例,但您如何记下以下内容?

<a id="my-link" href="http://example.com" rel="external" target="_parent" class="complex" title="click here for no good reason">My Link</a>

HTML具有特定的属性名称,因此您可以使用键/值对(可能除了布尔属性,例如checked)。如果你拿走钥匙,价值会变得模棱两可,很难看出哪个属性应该采用哪个值。