Альтернативный синтаксис HTML - PullRequest
1 голос
/ 03 ноября 2010

Это субъективный вопрос, но не думаете ли вы, что следующий синтаксис HTML имеет больше смысла?

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

Вместо:

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

Ответы [ 4 ]

8 голосов
/ 03 ноября 2010

Может быть, это имеет больше смысла для тех, кто пишет только 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>
4 голосов
/ 03 ноября 2010

Вы можете использовать HAML (с любым из этих реализаций ):

%body
    #header
        %h1 BoBlog
        %h2 Bob's Blog
4 голосов
/ 03 ноября 2010

Не совсем.Атрибуты в HTML являются общими, CSS строится только на их основе.Сам HTML не имеет понятия «идентификаторы» или «классы», только атрибуты.

2 голосов
/ 03 ноября 2010

Это может сработать для предоставленного вами примера, но как бы вы записали следующее?

<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).Если вы уберете ключи, значения станут неоднозначными, и будет слишком трудно понять, какое свойство должно принимать какое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...