Jump to content
  • 0

Пустой тэг это плохо?


Yahoo!
 Share

Question

Вот собственно вопрос, а пустой тэг это плохо? И вообще какой по вашему идеально чистый код? Не раз видел пустые тэги на авторитетных сайтах для закругления углов.

Если:

1. Валидный код при stricte

2. Кроссбраузерный на 100%

3. Симантичный

4. Красивый код

то это мега репект, да?

Покажите мне плиз хоть один такой сайт.

Link to comment
Share on other sites

  • Answers 58
  • Created
  • Last Reply

Top Posters For This Question

Recommended Posts

  • 0

На самом деле тут вопрос в другом. Конечно понятно что любые правильно расставленные теги будут проходить валидацию и не важно что они пустые, это и так понятно. Но вот как на пустые теги реагируют поисковики? Ведь для них важна семантика документа.

Link to comment
Share on other sites

  • 0

По логике не должны реагировать, они же индексируют не теги, а текст. Но навскидку есть опасения, что злоупотребление тегами выделения (те же <b>) может понизить вес настоящих выделений в тексте. Поэтому семантически нейтральные <div> и <span> интуитивно как-то безопаснее :). Как на самом деле — сорри, не владею информацией, надо по специализированным SEO-форумам порыться...

Link to comment
Share on other sites

  • 0
Это полная чушь, так же, как и то, что "тег <script> запрещен", в чем легко убедиться за 5-10 сек., проверив соотв. кусок кода с галкой "validate document fragment". Другое дело, что FF-овское расширение HTML-validator (в своём дефолтном режиме, основанном на tidy, а не том, который на настоящем W3C-шном парсере c DTD-проверятором) любит смущать народ warning-ами типа "dropping empty <span>".

Разницы, какое ничего использовать, имхо нет. Совсем уж пуристы могут сказать, что лучше <span> и <div> для внутритекстовых и блочных пустышек соотв-но — как семантически "стерильные". Иногда попадается аргументация за эл-ты <ins> (типа, "мы тут что-то добавили") и <del> ("это мы на самом деле удалили, оно не считается"), но имхо она притянута за уши. Сам раньше юзал <b> и <i> — и писать меньше, и они изначально оформительские, но в связи с их переопределением в HTML5 советовать такое не берусь :)

Лично я всё-таки стараюсь сводить "оформлятскую" разметку к минимуму, где можно заменять псевдоэл-тами, то, что используется для скриптов, генерить самими же скриптами и т.п. (не всегда получается, конечно)...

Извините, это совсем не бред! По той ссылке речь идет o XHTML Mobile Profile 1.0 и Basic в спецификации которых тега <script> просто нет. По поводу символа пробела в пустых тегах - это стыдно не знать, в любой книге написанно.

P.S. Извините, доказательства приводить не буду т.к я с телефона. И еще, как вариант можно использовать <span />, но опять же это невалидно на XHTML

Link to comment
Share on other sites

  • 0

Да, я был невнимателен, про Mobile Profile 1.0 и Basic я просмотрел, признаю (просто ту ссылку привели как аргумент применительно к обычному XHTML 1.x, и отвечал я применительно к нему же), насчет script для базового/мобильного XHTML согласен. Насчет остального можно поспорить — многое из того, что писали в книгах 90-х (и даже более новых) скорее стыдно "знать". Скорее всего, речь в них шла о пустых td-шках, которые, действительно, древние нетскейпы отказывались отображать без   внутри. Как минимум, спецификация XHTML 1.0 ясно говорит:

Given an empty instance of an element whose content model is not EMPTY (for example, an empty title or paragraph) do not use the minimized form (e.g. use <p> </p> and not <p />).

Запись <span /> в XML (и, соответственно, XHTML с правильным Content-type) полностью эквивалентна записи <span></span>, обе они валидны. Другое дело, что при отдаче как text/html браузер кладет большой игнор на слеш в ней и воспринимает эту конструкцию как незакрытый тег. Поэтому эта конструкция и "не рекомендуется" к использованию.

Если я еще что-то упустил, буду всё же благодарен за доказательства...

Link to comment
Share on other sites

  • 0
Trimming Empty Tag

Контейнер пустой или содержит только пробел.

<p>Текст</p>

<p> </p>

<p></p>

Решение

Удалите тег или добавьте внутрь контейнера текст.

Исправление ошибок валидации

SelenIT, приятно Вас читать) Я очень продвинулся за два Ваших сообщения

Link to comment
Share on other sites

  • 0

Заметил интересную особенность написанного кода в факе яндекса http://help.yandex.ru/webmaster/?id=1111574 все пустые элементы в их примерах очень аккуратно содержат пробел. причём не   а именно пробел. Склонен им доверять.

Link to comment
Share on other sites

  • 0

Gnom7, по той ссылке как раз речь про расширение для FF в режиме Tidy, а Tidy — не валидатор как таковой, т.е. "сверялка" кода с DTD-схемой (а-ля validator.w3.org), а "HTML Linter", т.е. инструмент для приведения кода к хорошему стилю. В чем-то они с валидатором солидарны, а в чем-то дополняют друг друга. На практике Tidy, возможно, даже полезнее (особенно в случае XHTML). Насчет пустых элементов логика у него простая — в них нет смысла, их не увидят текстовые браузеры и поисковики, а "раз не видно разницы, зачем писать больше". Но иногда такие элементы действительно нужны для оформительских (как минимум, пока CSS3 не получил полной поддержки) и интерфейсных целей, поэтому слепо подчиняться советам Tidy не стоит — вебмастеру, в конце концов, виднее. А настоящий валидатор против этого ничего не имеет.

Link to comment
Share on other sites

  • 0
А настоящий валидатор против этого ничего не имеет.
Так же не имеют ничего против и поисковики, т.к. там работают такие же живые люди как и мы и они прекрасно понимают что пока не встал на ноги html5 и css3 пустые блоки необходимы для отрисовки дизайнерской задумки.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy