Содержание

Краткое содержание

4.3. Файл sample.html

Введение

Пример sample.html

Ниже приведен пример файла sample.html, который является единой статической страницей

Файл sample.html

Ниже приведен код страницы sample.html

sample.html
  1. <!doctype html>
  2. <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta charset="utf-8">
  5. <!-- запрет автоперевода перевода google translate -->
  6. <meta name="google" content="notranslate">
  7. <!-- отображение файктической ширины экрана для адаптивного дизайна -->
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  9. <title>sample.html</title>
  10. href="https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300|Sonsie+One"
  11. rel="stylesheet"
  12. type="text/css" />
  13. <!-- следующие 3 строки нужны для корректного отображения семантических элементов HTML5 в старых версиях Internet Explorer-->
  14. <!--[if lt IE 9]>
  15. <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.js"></script>
  16. <![endif]-->
  17. <!-- блок стилей css -->
  18. html {
  19. width: 100%; /* Ширина 90% */
  20. margin: 0;
  21. padding: 0;
  22. }
  23. body {
  24. width: 90%; /* Задает ширину 90% от вьюпорта */
  25. margin: 0 auto; /* Центрирует контент */
  26. box-sizing: border-box; /* Учитывает padding внутри ширины */
  27. }
  28. h, p {
  29. margin: 10px;
  30. padding: 0px 10px; /* Убирает внутренние отступы */
  31. }
  32. .navbar {
  33. display: flex;
  34. justify-content: space-between;
  35. align-items: center;
  36. background-color: #04aa6d;
  37. color: white;
  38. border: 1px solid black;
  39. border-radius: 5px; /* Скругляет все углы на 5px */
  40. }
  41. ul {
  42. list-style-type: none;
  43. margin: 0;
  44. padding: 0;
  45. overflow: hidden;
  46. background-color: #04aa6d;
  47. display: flex;
  48. }
  49. ul li {
  50. float: left;
  51. border-right:1px solid #025f3d;
  52. }
  53. ul li:last-child {
  54. border-right: none;
  55. }
  56. ul li a {
  57. display: block;
  58. color: white;
  59. text-align: center;
  60. /* top, right, bottom, left */
  61. padding: 10px 16px;
  62. text-decoration: none;
  63. }
  64. ul li a:hover:not(.active) {
  65. background-color: #03915d;
  66. }
  67. ul li a.active {
  68. background-color: #04aa6d;
  69. }
  70. .search-form {
  71. display: flex;
  72. }
  73. .search-form input {
  74. background-color: #D3D3D3
  75. border: 1px solid #025f3d;
  76. border-radius: 5px; /* Скругляет все углы на 5px */
  77. /* top, right, bottom, left */
  78. margin: 3px 10px 3px 0; /* 10px отступ справа */
  79. padding: 10px 10px; /* Убирает внутренние отступы */
  80. border: none;
  81. }
  82. .search-form-button {
  83. /* top, right, bottom, left */
  84. margin: 0 1px 0 0; /* 10px отступ справа */
  85. padding: 10px 10px; /* Убирает внутренние отступы */
  86. border: none; /* Убирает рамку (если есть) */
  87. background: none; /* Убирает фоновый цвет */
  88. color: white;
  89. font: inherit; /* Наследует шрифт родителя */
  90. cursor: pointer; /* Возвращает курсор-ручку */
  91. }
  92. ul li .search-form-button:hover:not(.active) {
  93. background-color: #03915d;
  94. }
  95. ul li .search-form-button.active {
  96. background-color: #04aa6d;
  97. }
  98. </head>
  99. <body>
  100. <!-- Вот наш главный заголовок, который используется на всех страницах нашего веб-сайта -->
  101. <header>
  102. <h1>Logo</h1>
  103. </header>
  104. <nav class="navbar">
  105. <ul>
  106. <ul>
  107. <li><a class="active" href="#home">Home</a></li>
  108. <li><a href="#/about">About</a></li>
  109. <li><a href="#/contact">Contact</a></li>
  110. </ul>
  111. </ul>
  112. <!-- Форма поиска. -->
  113. <form class="search-form">
  114. <ul>
  115. <li><input type="search" placeholder="Search..."></li>
  116. <li><button class = "search-form-button" type="submit" id="searchButton" value="Go!">Go!</button></li>
  117. </ul>
  118. </form>
  119. </nav>
  120. <!-- Здесь основное содержимое нашей страницы -->
  121. <main>
  122. <!-- Она содержит статью -->
  123. <article>
  124. <h2>Article title</h2>
  125. <p>
  126. FishText will help designers, layout designers, and webmasters generate
  127. several paragraphs of more or less meaningful text in Russian, and will
  128. also help aspiring speakers hone their public speaking skills at home.
  129. We used the well-known universal speech code to create the generator.
  130. The text is generated randomly in paragraphs, with two to ten sentences
  131. per paragraph, making it more engaging and lively for both visual and
  132. auditory perception.
  133. </p>
  134. <h3>Subsection</h3>
  135. <p>
  136. Essentially, fish text is an alternative to traditional lorem ipsum,
  137. which can be confusing for some people when trying to read fish text.
  138. Unlike lorem ipsum, fish text in Russian will imbue any layout with a
  139. perplexing meaning and impart a unique Soviet-era flavor.
  140. </p>
  141. </article>
  142. <!-- Дополнительный контент также может быть вложен в основной контент -->
  143. <aside>
  144. <h2>See also</h2>
  145. <li><a href="#">I like to travel alone</a></li>
  146. <li><a href="#">I'm glad for this opportunity</a></li>
  147. <li><a href="#">Even in Norway</a></li>
  148. <li><a href="#">It never stops raining there</a></li>
  149. <li><a href="#">Oh, come on...</a></li>
  150. </aside>
  151. </main>
  152. <!-- И вот наш главный нижний колонтитул, который используется на всех страницах нашего веб-сайта -->
  153. <footer>
  154. <p>©2026 Sample HTML5 Page. All rights reserved.</p>
  155. </footer>
  156. <!-- Optional: Link to a JavaScript file -->
  157. // Находим кнопку по ID
  158. const button = document.getElementById('searchButton');
  159. // Добавляем обработчик события "click"
  160. button.addEventListener('click', function() {
  161. // Выводим alert
  162. alert('Ничего не найдено...!');
  163. });
  164. </script>
  165. </body>
  166. </html>

Не стоит пугаться, так как данная страница просто пример HTML страницы со стилями и небольшим примером работы языка JavaScript для кнопки поиска «Go!»

переход страниц

Хотя, нет, стоит…
Большенство просто пролистает этот код, так как его очень не удобно читать. В примере все заключенно в тело одной страницы и для создания дополнительных страниц, необходимо полность копировать весь текст в создаваемые страницы, и уже там выискивать и менять текст в нужных блоках.
Это может быть приемлемо только для маленьких сайтов-визиток, где контент долгое время не меняется.
А если текст меняется постоянно? Если на страницах разные стили оформления? Если у гостей и зарегистрированных пользователей ограничения в отображаемых пунктах меню?
Тут на помощь приходят серверные языки программирования (PHP, Python, Ruby, Node.js), базы данных (MySQL, PostgreSQL) и клиентский JavaScript, которые совместно генерируют контент в реальном времени. Они позволяют обрабатывать запросы пользователей, взаимодействовать с сервером и изменять интерфейс без перезагрузки.
Но, все по порядку…
Для начала вынисем стили и скрипты в отденьные директории и файлы, далее разделим страницу на части и следом с помощью PHP подключим все это в единый динамический шаблон.
И начнем мы с файла style.css, описанного на следующей странице руководства

Дополнения и Файлы

см. также: