Хороший 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 и т. д.), в зависимости от ваших потребностей и предпочтений.