Какой смысл действительного CSS/HTML?

Если бы Вы вышли на прогулку, то Вы могли бы отметить свои координаты в любой момент в (x,y) кортеж.

, Если Вы хотели записать свою поездку, Вы могли бы добавить свое местоположение каждые несколько секунд к списку.

, Но Вы не могли сделать этого наоборот.

20
задан Sinan Ünür 26 August 2009 в 22:47
поделиться

17 ответов

«Действительный» код не так важен, как «семантический» код. Если повсюду есть теги шрифтов и теги списка, которые не закрываются, будет сложно одновременно поддерживать и трудно анализировать строгие и правильные механизмы синтаксического анализа XML.

34
ответ дан 29 November 2019 в 22:32
поделиться

У вас всегда должен быть действительный (X) HTML, потому что очень мало случаев, когда преимущества отсутствия действительного кода перевешивают преимущества отсутствия проверенного кода.

Однако для CSS нет особых причин быть таким строгий. Весь ваш CSS должен быть правильным и работать по назначению, следовать лучшим практикам и оптимизировать, где это возможно. В остальном используйте все экспериментальные возможности браузера, которые вам нужны, это не окажет заметного влияния на другие браузеры.

0
ответ дан 29 November 2019 в 22:32
поделиться

Вот еще один момент ... Если вы пишете веб-часть SharePoint, вы можете использовать самый худший, беспорядочный, грубый и изворотливый HTML, который вы только можете себе представить, и ваша веб-часть будет чувствовать себя в SharePoint как дома.

Меня действительно забавляет видеть, как пуристы пытаются кодировать правильный HTML, строгий для плагина MOSS, когда весь фреймворк выдает мусор.

Неудивительно, что вы ничего не можете найти в корпоративной сети ....

0
ответ дан 29 November 2019 в 22:32
поделиться

Пока он работает в браузерах, которые вам нужны, это не имеет значения. Теоретически ваши затраты на обслуживание могут быть ниже с проверенным кодом.

Вы должны определить, каковы критерии успеха для вашего проекта. Если ваша программа делает то, что нужно вашему клиенту, то просто потому, что ваш код "действителен", сам по себе не делает ее более волшебной.

0
ответ дан 29 November 2019 в 22:32
поделиться

Я отвечу по аналогии. То, что вы говорите, это все равно что сказать, что мне нравится строить свои машины с квадратными шинами, возможно, это применимо не везде, но это работает для меня.

Если вы не делаете продукт, который может быть доступен максимальному количеству людей, как Вы ожидаете, что ваш продукт будет известен и использован максимальным количеством людей. Игнорируя людей, которые используют IE (кстати, их все еще большинство), вы стреляете себе в ногу. Вам необходимо создать что-то, что может использоваться подавляющим большинством людей, пытаясь следовать стандартам для тех браузеров, которые им соответствуют.

0
ответ дан 29 November 2019 в 22:32
поделиться

Иногда есть атрибуты css или html, которые некоторые валидаторы помечают как недопустимые, но вам не стоит об этом беспокоиться. Использование прямоугольных теней и закругленных углов совсем не проблема. Браузеры, которые их не распознают, просто проигнорируют их, так что никаких проблем. Я бы даже посоветовал вам использовать их - если слишком много людей будут ждать их использования, пока они не получат широкую поддержку, импульс Интернета станет слишком большим.

Однако есть причина для наличие действующей HTML-структуры в вашем документе. Это совсем несложно, и это избавит вас от столкновений с несоответствиями в обработке неправильно оформленных документов в разных браузерах.

Я так и не понял, почему нам на самом деле разрешено писать структурно недействительный HTML.

1
ответ дан 29 November 2019 в 22:32
поделиться

Стандарт - это всего лишь предложение, так как вы можете написать свое собственное DTD и решить, что тени являются частью этого стандарта, и тогда ваша страница будет проходить проверку.
Существующие стандарты находятся в процессе разработки, на которые влияют многие параметры, не все на 100% профессиональные / технические.
Основная причина использования стандартов заключается в том, что, как утверждается, ваша страница будет отображаться наиболее одинаково в разных браузерах (по крайней мере, в тех браузерах, которые поддерживают стандарты :-))

0
ответ дан 29 November 2019 в 22:32
поделиться

Проверка кода позволяет предотвратить поиск и, надеюсь, исправить многие проблемы в вашем html / css, которые могут привести к нежелательным результатам. ИМХО, это скорее исправление «обычных вещей, которые могут быть неправильными», чем замена для тестирования. Если вам нравится вид, который вы получаете в нужных вам браузерах, я бы не стал слишком беспокоиться о проверке.

(Да, вы можете повесить маленький значок на свой сайт, если хотите, чтобы все знали, что вы используете валидацию для проверки своего сайта): D

1
ответ дан 29 November 2019 в 22:32
поделиться

Спросите об этом всех людей, которые написали код, который работал нормально, когда они тестировали его в IE 6, а затем он сломался, когда IE стал лучше поддерживать стандарты.

4
ответ дан 29 November 2019 в 22:32
поделиться

Вы не можете тестировать в браузерах, которые еще не были выпущены!

Браузеры, как правило, со временем становятся более совместимыми со стандартами. Если вы пишете веб-страницы, соответствующие стандартам, они с большей вероятностью будут работать в следующей версии всех существующих браузеров.

7
ответ дан 29 November 2019 в 22:32
поделиться

Неверный css / html может стать ужасным в обслуживании. Изменения могут иметь нежелательные эффекты, которые трудно исправить.

7
ответ дан 29 November 2019 в 22:32
поделиться

Одной из причин наличия действительного HTML является доступность. Программное обеспечение для чтения с экрана для слабовидящих пользователей работает намного лучше, если HTML на странице действителен.

9
ответ дан 29 November 2019 в 22:32
поделиться

Я бы сказал, что правильный (X) HTML-код является обязательным, поскольку он определяет, как ваш контент может быть доступен. Плохо сформированный HTML может помешать вашему контенту «читать» не только люди, но и машины (например, поисковые системы, пауки и т. Д.). Представьте, что банк хранит данные вашего счета в плохо сформированном XML-файле, а затем отправляет этот XML-код в другой банк как часть транзакции - существует опасность того, что банк неправильно прочитает суммы из-за другого способа интерпретации. суммы.

Действительный CSS немного отличается, поскольку он является чисто стилистическим и влияет на представление, а не на содержание. Поэтому поддерживать его в силе не так важно, если вы не возражаете против того, чтобы разные пользовательские агенты представляли ваш контент по-разному.

1
ответ дан 29 November 2019 в 22:32
поделиться

Потому что, только зная правило, вы узнаете, когда его нарушать.

Использование специфичных для браузера расширений неплохо, но это то, что вы хотите сделать намеренно , а не вслепую.

Валидация указывает места, где вы отклоняетесь от стандарта. Может быть, вам нужно, а может, нет, это ваше решение.

15
ответ дан 29 November 2019 в 22:32
поделиться

"

0
ответ дан 29 November 2019 в 22:32
поделиться

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

Связанное обсуждение SO: Проверяете ли вы свои веб-сайты?

2
ответ дан 29 November 2019 в 22:32
поделиться

Лучшая причина следовать стандарту - уменьшить фрагментацию стандарта, которая приводит к нестабильности.

Если все нарушают стандарт точно так же, и он хорошо продуман, то это не такая уж большая проблема. Со временем стандарт будет развиваться, чтобы соответствовать тому, что стало обычной практикой. Посмотрите, как современный HTML ушел от правил комментариев SGML, минимизации тегов и т. Д., И насколько достаточно для запуска стандартного режима. Все это противоречит стандартам, но является обычной практикой, и теперь новые стандарты (HTML5) даже развиваются для их поддержки.

Если каждый нарушает стандарт по-своему, из-за общей небрежности или из-за желания изобрести свой собственный «хакерский прием», тогда стандарт не развивается, а фрагментируется. Браузерам сложнее поддерживать все направления, в которых люди пошли, чтобы что-то взломать, чтобы оно выглядело правильно (или просто из-за небрежных ошибок). До сих пор они проделали хорошую работу по сохранению обратной совместимости, но это произошло за счет огромного увеличения сложности парсера. Рано или поздно, однако, менее популярные или более непонятные хаки или ошибки перестают поддерживаться, потому что они были просто глупыми идеями для начала (приходят на ум различные хаки с селекторами CSS) или они были слишком далеко за пределами левого поля (< слой> элемент и т. д.).

0
ответ дан 29 November 2019 в 22:32
поделиться