Выбор версии HTML [закрывается]

@TheRuler, Лучшее решение - обернуть тег изображения в div или span, чтобы отобразить изображения в соответствии с Firefox. Firefox также будет работать нормально, если вы оберните изображения в div или span.

Теперь вы можете спросить меня, почему это правильно.

В основном, дисплей flex имеет прикрепленное к нему значение по умолчанию, а именно:

flex-grow: 0
flex-shrink: 1
flex-basis: auto
flex: 0 1 auto /* Shorthand */

Теперь для обоих случаев Firefox и Chrome значение по умолчанию одинаково. Но все же рендеринг в обоих браузерах отличается, особенно в случае изображения как гибкого потомка.

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

Если вы посмотрите на спецификацию flex, она говорит, что правила flex должны преобладать над свойствами CSS width и height. Таким образом, в этом случае Firefox сокращает размер изображений, чтобы они соответствовали ему в родительском 600px.

Теперь, если вы видите этот пример,

.container { display: flex; flex-direction: column;}
.container > div { flex: 1; height: 300px;}

<div class="container">
  <div>Single line in Firefox, but 300px tall in Chrome!</div>
</div>

Итак, если вы увидите этот код в обоих браузерах, вы увидите разницу. Chrome определяет свойство высоты дочернего элемента flex, тогда как Firefox его не оценивает. То же самое касается высоты изображения и ширины изображения. Хром не превосходит высоту.

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

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

Пожалуйста, дайте мне знать, если вы получите. Спасибо

20
задан sparkes 6 August 2008 в 17:00
поделиться

14 ответов

Я стрелял бы для Переходных 1.0 XHTML. Существует все еще несколько нюансов там, которым не нравится XHTML строгий, и большинство редакторов, которых я видел, теперь даст Вам надлежащие пошаговые перемещения, чтобы удостовериться, что вещи сделаны правильно.

8
ответ дан 29 November 2019 в 23:12
поделиться

Переходный разновидности XHTML и HTML удерживаются от использования. Они были предназначены только [1 115] для старых агентов пользователя, которые не поддерживают CSS . См. объяснение в DTD.

W3C советует использовать Строгий, когда это возможно, и в эти дни это, конечно, возможно.

Переходная версия была уже удалена в XHTML/1.1 и HTML5.

<час>

XHTML/1.0 имеет точно те же элементы и приписывает (семантика) как HTML4. Спецификация XHTML/1.0 даже не указывает элементов! Для чего-либо еще, чем синтаксис это относится к HTML4.

Кроме того, Вы будете не мочь использовать любую функцию XHTML, который не доступен в HTML (пространства имен, XML DOM), если Вы отправляете документы как text/html, и unfrortunately, который требуется для совместимости с IE и другими браузерами только для HTML.

В 2008 верный выбор был бы HTML4 Строгий:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

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

 <!DOCTYPE html>
8
ответ дан 29 November 2019 в 23:12
поделиться

HTML 4.01. Существует абсолютно никакая причина для использования XHTML для чего-либо кроме экспериментальных или академических проблем, что Вы только хотите работать на 'неясных' веб-браузерах.

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

я сказал бы, что стремление к HTML 4.01 является самым предсказуемым, но Teifion является правильным действительно, "что-либо, что представляет Вашу страницу, сделает".

в ответ на Michael Stum :

XHTML является базирующимся XML, таким образом, он позволяет более легкий парсинг, и можно также использовать компоненты XML большинства IDE, чтобы программно запросить и вставить материал.

Это, конечно, не верно. Много XHTML в сети (если не большинство) не соответствует законности XML (и она не должна - это не отправляться как XML). Попытка рассматривать это как XML, когда контакт с ним просто собирается заработать для Вас много головных болей. Эта страница на Переполнении стека, например, генерирует ошибки со многими неумолимыми инструментами XML для того, чтобы иметь недопустимую разметку.

25
ответ дан 29 November 2019 в 23:12
поделиться

Что-либо, что представляет Вашу страницу, сделает так, независимо от которого популярного стандарта Вы используете. XHTML более строг и вероятно "лучше", но я не вижу то, что способствует Вам, доберется с одним стандартом по другому.

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

Строгий HTML 4.0, или ISO HTML.

-1
ответ дан 29 November 2019 в 23:12
поделиться

Я - все для XHTML, Строгого каждый раз. Я сильно полагаю, что HTML должен больше быть похожим на XML. Не трудно проверить его, если Вы знаете XML и блок проверки допустимости W3 ipoints Вы на правильном пути так или иначе.

XHTML 2.0 направляется в то, к чему W3 стремились в течение долгого времени - семантическая паутина. Лучшее преимущество XHTML 2.0 для меня - то, что каждая совместимая страница в сети будет понятна как содержание или статья (поскольку это - то, что страницы - документы), becuase, они все относятся к тому же стандарту. Вы затем смогли бы создать intepreters (т.е. браузеры), которые представляют содержание совершенно другим способом - существуют буквально тысячи идей, ожидающих здесь.

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

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

, По-моему, 1.1 borked, и 2.0 был разбит к осколкам: я действительно нуждаюсь/хочу в теге заголовка/нижнего колонтитула?

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

Лично, я предпочитаю Переходный XHTML 1.0.

XHTML является базирующимся XML, таким образом, он позволяет более легкий парсинг, и можно также использовать компоненты XML большинства IDE, чтобы программно запросить и вставить материал.

Переходный не так строго как строгий, который делает относительно легким работать с, по сравнению со строгим, который может часто быть ЛАВАШЕМ. Сравнение между Transistional и Strict

1.0 "более совместимо", чем 1,1, и 1.1, кажется, все еще находится в процессе своего рода развития.

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

Я не думаю, что на самом деле имеет значение, используете ли Вы XHTML или плоскость HTML. Конечная цель здесь должна иметь низкие эксплуатационные расходы и быструю разработку посредством предсказуемого рендеринга. Можно получить это от использования xhtml или HTML, пока у Вас есть код проверки. Я даже услышал аргументы, который лучше предназначаться для режима причуд, потому что новые версии браузеров не изменяют режим причуд, таким образом, обслуживание легко.

В конце, все это становится супом тега на серьезном основании, потому что получение разработчиков веб-приложения записать безошибочный HTML означает просить, чтобы они написали код без ошибок. Блоки проверки допустимости не являются никакой справкой, потому что они только проверяют начальный просмотр страницы. Это также, почему я никогда не видел, что точка в xhtml служила xml для чего-либо вне статических сайтов. Уровень высокомерия, разработчику веб-приложений придется подать их веб-приложение как xml, колеблется.

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

Dillie-O является правильным на с его ответом Переходного XHTML 1.0, но я предложил бы стрелять для Строгого XHTML 1.0 и только возвратиться Переходный, если существует некоторая часть функциональности, в которой Вы абсолютно нуждаетесь, это Строгое не позволяет.

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

Если Вы хотите использовать XHTML 1.0 совместимым с HTML способом, это прекрасно. Однако обратите внимание, что блок проверки допустимости W3C и ДАТЫ XHTML ничего не знают о типах пантомимы и как браузеры ведут себя по-другому (как < map> имя/идентификатор, соответствующее) между ними. ДАТЫ ничего не знают о том, как хорошо браузеры поддерживают определенные элементы (как < embed> например) также.

то, Что это означает, - то, что ДАТЫ XHTML и блок проверки допустимости не отражают, что действительность и пытающийся соответствовать им бессмысленна.

, Если Вы хотите использовать XHTML именно так, можно закрыть определенные элементы с/> (где совместимый с HTML), просто используйте разметку HTML5 (таким образом, браузер находится в полном режиме стандартов). HTML5 позволяет использование/> совместимым с HTML способом (тот же совместимый с HTML путь необходимо сделать это при использовании разметки XHTML 1.0 с текстом/HTML). Затем просто придерживайтесь того, какие работы (Вы знаете лучше, чем некоторый DTD) в браузерах.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8"/>
        <title></title>
    </head>
    <body>
        <p>Line1<br/>Line2</p>
        <p><img src="" alt="blank"/></p>
        <p><input type="text"/></p>
        <p><embed type="application/x-something" src=""/></p>
    </body>
</html>

Затем используйте http://validator.nu/ , чтобы удостовериться, что это хорошо формируется, по крайней мере.

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

Существуют приблизительно принуждение предупреждения об использовании XHTML, прежде всего, центрирующегося вокруг того, что тип пантомимы для такого документа должен быть отправлен как:

Content-type: application/xhtml+xml

все же IE 6 и 7 не поддерживает это, и затем веб-сайты должны отправить его как:

Content-type: text/html

, К сожалению, что метод рассмотрен вредным .

Некоторые также оплакивают то, что, хотя намерение XHTML состоит в том, чтобы сделать веб-страницы parsable синтаксическим анализатором XML, это на практике перестало работать из-за неправильного использования на существующих веб-сайтах.

я все еще предпочитаю писать документы в Строгом XHTML 1.0, главным образом из-за проблемы, и чистота и проверка ошибок, которую дает блок проверки допустимости . Я наслаждаюсь синтаксисом немного лучше, потому что он вынуждает меня быть очень явным в том, когда теги заканчиваются и т.д. Это - больше для меня личный выбор, чем чисто технический.

3
ответ дан 29 November 2019 в 23:12
поделиться

@Mike:

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

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

, Но это может все еще быть довольно бессмысленно, учитывая тот факт, что W3C не имеет никакой идеи, где они хотят идти так или иначе (см. HTML 5), и определенная крупная компания Браузера, которая также делает операционные системы, не заботится также, таким образом, сайт мог также отослать, это - doctype, поскольку HTML 1337 Сосет, и браузеры все еще попытаются представить его.

3
ответ дан 29 November 2019 в 23:12
поделиться

Если у вас есть инструменты для генерации вашего XHTML, как любой другой XML-документ, затем перейдите с XHTML. Но когда вы просто используете обычные текстовые шаблоны, текстовые конкатенации и т. Д. Вы в порядке с хорошим добрым HTML 4.01.

Браузеры теперь начинают поддерживать этот 10-летний стандарт.

Важно: Избегайте их называют Bozo при производстве XML

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