Вы сейчас здесь
«Облако» тэгов
link, small, tagless, tiny, 2003, big, 2008, 2010, январь, декабрь, сентябрь, 2001, 2004, 2002, август, апрель, март, июль, 2009, игры, октябрь, май, июнь, февраль, 2007, ноябрь, img, 2011, quote, wow, huge, блоги, кино, игровой дизайн, ребенок, половой вопрос, технологии, вебдев, lytdybr, фразы, живой журнал, жизнь, язык, яндекс, php, 2006, людишки, 2005, поисковики, software, video, inglish, 2000, смишно, диалоги, музыка, книги, культ личности, дейтинг, политика, интернет, 1999, rss, контент, flash, я, авторские проекты, реклама, прон, next-gen mmo, ореховые скорлупки, сми, js, программирование, fight club, register, социгры, спам, english reviews, американас, потребление, беллетристика, идеи, мое величие, iphone, usability, пидорасты, battle.net, lifestyle, starcraft 2, Тёма, соционика, spectator.ru, британские ученые, развитие, Масква, бабло, литература, фото, mobile, work, болкман, титаны, hard, hobius, mysql, интеллектуальный юмор, хостинг, blogowar.ru, графика, SEO, blogowar, magic, журналистика, злоба дня, религия, стартапы, social, tf2, цитаты, gzip, warhammer, браузеры, велосипед, киви, медикаментоз, общество, оговорки, html, воспитание, мифы, паранойа, письма в редакцию, учеба, 1998, soft, soviet, twdnkumus, глянцевые журналы, монетизация, норкотики, сайты, сиськи, типографика, тьюринг, mongodb, дизайн, железо, живут же люди, лолвут, плагиат, твиттер, тренд, 2012, about, бабушки, вещи, видео, зомбоящик, игрушки, социопатия,
Персональное
об авторе и сайте
мойкруг (резюме)
на G+
порнотумблер (rss)
инстаграм (хипстерские фото)

facebook
twitter

skype: acerbial
gtalk: dmitry.smirnov


C любовью к людишкам™,
♥ 1998 - 2013.

powered by mongodb.



Правильный Html

Пожалуй, ничего не вызывает столько споров у веб-дизайнеров, как html-код. Спор, чей код более правильный, можно отнести к разряду таких извечных споров, как-то: что первично: разум или материя, что было раньше — курица или яйцо (aka размножаются ли куры путем откладывания яиц, либо это яйца размножаются путем вылупа куриц), кто бреет цирюльника (цирюльник бреет всех мужчин в городе, которые не бреются сами. Кто бреет цирюльника?), и так далее.

Вообще, «нелегкая ему досталась доля». Я говорю про HTML. Это «нечто» начиналось, как язык разметки, то есть тэги несли смысловую нагрузку. Были такие замечательные тэги: EM и STRONG. Впрочем, почему «были»? Они и сейчас есть. Только никому не нужны. EM обозначал «выделение», а STRONG — «более сильное выделение». И написав к коде что-то типа: «вот это <strong>выделение</strong>», вы получали выделение. При этом КАК выделять — болдовым шрифтом, цветом, и.т.д. — решал браузер. Вы лишь обозначали СМЫСЛ — мол, это выделение.

Но, как обычно, победила тяга к красивостям. Вместо STRONG ввели B, вместо «просто выделения», «обязательное болдовое выделение». Вы не поверите, но даже таблицы в html’е были предназначены вовсе не для верстки! Да-да. Не для верстки, а для организации таблиц. Верней, для организации информации в таблицы. Верней, для организации информации, которая уже была организована в таблицу ;) То есть расписания, счета, и все то, что мы в нормальной, обычной, оффлайновой жизни называем «таблицей».

Поначалу HTML не имел инструментов для вертки ВООБЩЕ. Это уже потом таблицы стали использовать для верстки, появились чисто «украшательные» тэги, и пошло-поехало. В общем, вы и сами должны знать эту грустную историю... А потом вылез Microsoft со своим браузером, и стал придумывать для него тэги, потом Netscape тоже стал придумывать всякие красивости, потом IE-шники придумали страшную вещь и назвали ее DHTML :) И так далее...

В результате мы имеем кучу РЕКОМЕНДАЦИЙ, называемых гордо «спецификацией» и нескончаемые споры о том, как правильно писать HTML. Да, спецификации HTML’я в основном тянут только на рекомендации. Как, впрочем, и все остальное. К примеру, я не пишу кавычки в значениях атрибутах у тэгов. На что мне мой противник говорит, мол, смотри, че написано: «В определенных случаях авторы могут указывать значение атрибута без кавычек. Значение атрибута может включать только буквы (a-z и A-Z), цифры (0-9), знаки переноса (десятичный код ASCII 45) и точки (десятичный код ASCII 46). Рекомендуется всегда использовать кавычки.». Видишь? «Рекомендуется всегда использовать кавычки»!

«Хе-хе», — говорю я. А в этой же спецификации написано, что атрибут alt для тэга img ОБЯЗАТЕЛЕН! И даже не рекомендуется, а обязателен! А ты, собака такая, его не указываешь ;) Самое интересное, что я на этом уже накалывался. На alt’е. Чудо-браузер «Опера» при отключенной загрузке картинок «рвал» дизайн в том месте, где стояли распорки и маленькие картинки, выводя на их месте страшный прямоугольник с надписью «Image». Я сначала ругался. Потом понял, что сам виноват — не указал ОБЯЗАТЕЛЬНЫЙ атрибут alt. Когда я всем «мелким» картинкам прописал alt=’’, все стало на свои места. Вот как.

Вообще, «так написано в спецификации» — один из самых сильных и самых недоказуемых доводов в споре, как писать HTML. Во-первых, кто из вас помнит все, что написано в спецификации? Во-вторых — самое главное: не говорите, в какой именно версии спецификации это написано. И тогда вы будете правы — хоть в какой-нибудь версии, но будет написано по-вашему ;)

Например, вы знаете, что атрибут bgcolor уже является не рекомендованным? Да-да. Писать <table bgcolor=...> уже нехорошо. Так написано в спецификации. (HTML 4.0) Вместо этого следует использовать CSS.

Или, к примеру, многие ругаются, что тэги надо закрывать. Вовсе нет. Верней, не все надо. Например, тэг </td> не является обязательным. То есть вместо </td></tr></table> можно писать просто </table>. Да, разумеется, тэг </table> является обязательным. Да, вы будете смеяться, но даже тэг <font>теперь признан нежелательным ;) Цитирую: «Почти все атрибуты, определяющие представление документа HTML (цвета, выравнивание, шрифты, графика и т.д.) являются нежелательными, взамен рекомендуется использовать таблицы стилей.»

Самая забавная фраза в спецификации: «Некоторые люди считают пропуск уровней заголовков дурным тоном.» Мол, делайте, что хотите, некоторые считают, что это дурной тон, но мы ничего конкретного об этом не скажем ;)

В целом же, спор «как писать html» можно отнести к риторическим спорам. Если человек не нарушает спецификацию ЯВНО, то есть закрывает тэги table и a rel=nofollow href=http://spectator.ru/... — то он прав, что бы ни делал. Все дело в том, почему он пишет html именно так. Я, например, могу понять, почему люди пишут html «лесенкой», то есть:

<table>
<tr>
<td>
что-то внутри таблицы
</td>
</tr>
</table>

Эти люди программисты ;) И им так проще. Нет, я не хотел сказать ничего плохого ;) Так действительно проще. Однако, когда я представлю, что буду качать эти пробелы в коде на скорости 50b/s, мне сразу становится плохо. А если мой любимый редактор не делает код «лесенкой» автоматически. Мне что, пробелы от руки впечатывать? ;)

То же самое и с ковычками. Мне их проще не писать — движений меньше, да и код становится легче. Зачем они вообще нужны — мне не понять...

0
Привет, Anonymous! Чтобы оставлять комментарии, надо авторизоваться.