Проблема с тегом DOCTYPE - PullRequest
       21

Проблема с тегом DOCTYPE

1 голос
/ 26 февраля 2010

возможно ли использовать тег DOCTYPE в строке 2 или 3 или ... и css работает хорошо? (не строка 1)

тег:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Ответы [ 4 ]

1 голос
/ 26 февраля 2010

IE6 перейдет в режим причуд, если вы поместите что-либо (включая объявление XML) перед Doctype. Итак - «нет».

Большинство браузеров переходят в режим причуд (AFAIK), если перед ним появляется любое содержимое . Не используйте хосты, которые мешают вам использовать правильную разметку.

1 голос
/ 26 февраля 2010

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

Есть ли причина, по которой вы не хотите этого делать?

1 голос
/ 26 февраля 2010

Да. Пока он стоит перед вашим <html> тегом, у вас все будет в порядке. Это может произойти, например, если вы поместите объявление XML над ним. Однако объявление xml должно появляться в самом начале файла.

Пример:

<?xml version='1.0' charset='utf-8' ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
  <head>
    <title>This is an example</title>
  </head>
  <body>
    <h1>This is an example</h1>
    <p>
      You might even put an xml stylesheet declaration up above your 
      DTD declaration, which would look like this: 
      <code>&lt;?xml-stylesheet type="text/xsl" href="transform.xsl"?&gt;</code>
    </p>
    <p>But you still can't put any HTML above your DOCTYPE.  Sorry.</p>
  </body>
</html>
0 голосов
/ 26 февраля 2010

по стандартам, DOCTYPE должен быть первой строкой. почему бы вам не захотеть положить его туда в любом случае?

...