Хороший HTML-скелет

Я хочу начать создавать веб-сайты снова, но я уже давно нахожусь за пределами HTML-сцены. Мне просто интересно, если это хороший скелет для веб-сайта. И если нет, что я должен изменить, добавить и / или удалить?

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

<html>
    <head>
        <rel="stylesheet" type="text/css" href="css/main.css" />
        <meta http-equiv="content-type" content="text/php; charset=utf-8" />

        <title>Site Template - Welcome!</title>
    </head>

    <body>
        <div class="Container">
            <div class="Header">

            </div>

            <div class="Menu">
                <ul id="nav"> 
                    <li>menu item</li>  
                    <li>menu item</li> 
                    <li>menu item</li>  
                    <li>menu item</li> 
                    <li>menu item</li>  
                    <li>menu item</li> 
                </ul> 
            </div>

            <div class="Body">

            </div>
        </div>

    </body>

    <footer>
        <div class="Footer">
            <b>Copyright - 2010</b>
        </div>
    </footer>
</html>

6 ответов

Решение

Попробуйте http://www.htmlshell.com/, вы можете получить базовый скелет с дополнительными включениями для таких вещей, как jQuery или favicons и т. Д.

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

ТЛ; др

<!DOCTYPE html>
<html dir="ltr" lang="en">
<head>
  <meta charset="utf-8">
  <title>Example</title>
  <link rel="stylesheet" href="/default.css">
  <link rel="icon" href="/favicon.png" sizes="16x16" type="image/png">
  <link rel="canonical" href="http://example.com/">
  <meta name="description" content="…">
</head>
<body>

  <header>
    <!-- site-wide header -->
    <h1>Example <!-- site name --></h1>
  </header>

  <main>
    <!-- this page’s main content -->
  </main>

  <nav>
    <!-- site-wide navigation -->
  </nav>

  <footer>
    <!-- site-wide footer -->
  </footer>

</body>
</html>

Скелет HTML5 может выглядеть так:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>CC</title>
</head>
<body>

</body>
</html>

(Обратите внимание, что это не самый минимальный документ HTML5, поэтому многие части являются необязательными.)

Если вы используете кодировку, отличную от UTF-8, измените значение meta - charset соответственно.

Если вы используете язык контента, отличный от английского, измените значение lang приписывать соответственно.

Если вы хотите явно указать направление текста, используйте dir атрибут на html элемент, например: <html dir="ltr" lang="en">

общий link / meta элементы для добавления в head

  • Ссылка на таблицу стилей (text/css предполагается по умолчанию):

    <link rel="stylesheet" href="/default.css">
    
  • Ссылка на значок сайта:

    <link rel="icon" href="/favicon.png" sizes="16x16" type="image/png">
    
  • Указание канонического URL документа:

    <link rel="canonical" href="http://example.com/">
    
  • Предоставление описания содержимого страницы:

    <meta name="description" content="…">
    

Элементы для body

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

Тем не менее, большинство страниц, вероятно, являются частью веб-сайта, и большинство веб-сайтов, вероятно, имеют заголовок для всего сайта (→ header) с именем сайта (→ h1), нижний колонтитул (→ footer) и навигационное меню (→ nav). Они должны принадлежать body корень секционирования (т. е. не имеет другого элемента контента секционирования как родительский). nav может или не может быть частью header,
Основное содержание (→ main) может состоять или не состоять из секционирующего элемента (обычно article или же section или их несколько).

<header>
  <!-- site-wide header -->
  <h1>Example <!-- site name --></h1>
</header>

<main>
  <!-- this page’s main content -->
</main>

<nav>
  <!-- site-wide navigation -->
</nav>

<footer>
  <!-- site-wide footer -->
</footer>

Там нет ничего подобного <footer> элемент в XHTML 1.0 Transitional. Вы должны сделать это так:

<body>
    ...
    <div class="footer">
        ...
    </div>
</body>

Мне нравится использовать строгий doctype в моих проектах, но ваш тоже работает.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="main/css.css">
        <meta http-equiv="content-type" content="text/html;charset=utf-8">

        <title>Site Template - Welcome!</title>
    </head>

    <body>
        <div class="Container">
            <div class="Header">

            </div>

            <div class="Menu">
                <ul id="nav"> 
                    <li>menu item</li>  
                    <li>menu item</li> 
                    <li>menu item</li>  
                    <li>menu item</li> 
                    <li>menu item</li>  
                    <li>menu item</li> 
                </ul> 
            </div>

            <div class="Body">

            </div>
            <div class="Footer">
                Copyright - 2010
            </div>
        </div>
    </body>
</html>

W3C DOM Level 1 Core - хорошее место для старта:

<!DOCTYPE html>
<html>
<head>
  <title>My Document</title>
</head>
<body>
</body>
</html>

W3C DOM Level 1 позволяет вам изменять дерево контента любым удобным для вас способом. Это достаточно мощный инструмент для создания любого HTML-документа с нуля.

Оттуда вы можете добавить любой вариант (<html lang="en">, <meta charset="utf-8"> и т. д.), элемент (link, main, nav, div, footer и т. д.) или библиотечная зависимость (jQuery, Bootstrap и т. д.), в зависимости от ваших потребностей и предпочтений.

Другие вопросы по тегам