Вкладки (страницы) на одной странице на html/css с помощью :target
Рассмотрим один из вариантов создания нескольких страниц или вкладок (в том числе вложенных) на html и css без скриптов, списков и таблиц, на одной html странице. Только дивы, только хардкор. Подходит для небольших портфолио и элементов интерфейса. Не будьте буратинами используя это везде подряд.
Суть:
Современные браузеры загружают содержимое только если блок виден, поэтому костыли для загрузки контента (картинок) отменяются.
Коротко: ссылка на блок делает его видимым, при том что по-умолчанию они невидимы (поэтому обратно display:none когда выделяем другие); сделать невидимым первый блок если выделен _не он_, так как по-умолчанию он виден. Собственно, это всё. Теперь реализация.
HTML. Разделим блок на 3 страницы и один на 3 вкладки, для наглядности:
Перейдём к разметке, здесь всё внезапно очень просто (но не очевидно) и валидно, никаких нестандартных изощрений:
Реализовать подобное можно разными способами, но по-моему это самый логичный — без извращений в виде представления ссылок кнопками, списками, скриптами и прочей ересью, ссылка это ссылка, а блок это блок.
Multi-Page HTML Sites
![]()
This will be a simple introduction into building multi-page HTML sites. Eventually once you get the hang of us you can then learn more advanced ways to create multi-page sites later on.
Creating Multiple Pages
A basic HTML site, as created in Intro, is structured something like this:
- A project directory called my-sample-project. It contains:
A README.md file.
An index.html homepage.
A css subdirectory with a custom styles.css stylesheet.
This example site has only one page: index.html. But not all sites are single-page. In fact, many traditional sites offer multiple areas users can navigate between.
Multi-Page Project Structure
So if we want this website to contain multiple pages, in addition to the index.html homepage we want the “About” and “Contact” pages too. So how would we add these pages? by creating two corresponding HTML files:
You will see that the index.html remains in the top-level of the directory, and the additional HTML files are in an html subdirectory. This is because the browser looks for an index.html in the main directory, so it knows what to load first.
Each of the new files will looks similar to HTML files we’ve create before with standard boilerplate <html>, <head>, and <body> tags containing whatever page-specific content we want.
Linking Between Pages
Now that we finally have a “About” and “Contact” pages set up, we need a way to access those other pages from the homepage. Thankfully, we can do this with a simple <a> tag.
To create a link navigating from index.html (homepage) to the contact.html (contact page), for example we use the following code:
This is similar to <a> links created in into, but with a file path internal to our project instead of an external online URL. When clicked, this link will display the contents of our contact.html file.
To add other navigational links to other pages within our project directory like for example the “About” page, we will still follow the same process:
Styling Multi-Page HTML Sites
To style multiple pages in a site, each HTML file needs a stylesheet linked. In a smaller project, we’d create one central stylesheet and it link in the <head> of each HTML document like so:
Index.html file
contact.html file
about.html file
You will notice that the file path to the stylesheet in index.html is different than it is in the other html files, because the index.html resides in the top-level of the directory, and contact.html and about.html resides in an html subdirectory. So their file paths to the stylesheet are preceded with “..” to exit out of the html directory before entering into the css directory.
And of course as projects increase in size, and/if when pages have their own dedicated styles that apply only to them, we can also create a dedicated stylesheet for specific pages, like this:
Here, styles.css would contain universal styles for all pages, whereas about.css and contact.css contain styles applicable only to contact.html and about.html pages, respectively. These dedicated stylesheets could then be linked in relevant HTML files, after the universal stylesheet:
contact.html
about.html
This is just the surface for now, there are other ways of sustainably separating styles in to multiple modular stylesheets. Stay Tuned!!
Создаём свой первый сайт на HTML
Урок №9
Создаём свой сайт из трёх страниц
В этом уроке, мы создадим сайт состоящий из трёх страниц. Но перед этим, для вашего же удобства, вам нужно создать папку на Рабочем столе , папку можете назвать Мой сайт .

Закиньте в папку Мой сайт , все файлы которые у нас уже есть, а именно два HTML-файла:
index.html — Статья о снежном барсе ,
polyarnyi-volk.html — Статья о полярном волке ,
и две фотографии:
irbis.jpg
polyarnyi-volk.jpg
Сделаем третью страницу, она будет посвящена полярной сове.
Данные третьей страницы
Создайте в папке Мой сайт HTML-файл:
polyarnaya-sova.html
Название страницы <title> </title> , сделайте:
Страница о полярной сове
Заголовок статьи <h1> </h1> :
Полярная сова

Статья состоящая из двух абзацев <p> </p> :
В итоге, вы должны получить следующую страницу.
Соединяем ссылками страницы сайта
На данный момент у нас есть три HTML-файла, в которых находятся статьи описывающие различных северных животных:
index.html — Статья о снежном барсе ,
polyarnyi-volk.html — Статья о полярном волке ,
polyarnaya-sova.html — Статья о полярной сове .
Теперь нам нужно соединить их ссылками, чтобы получился сайт. Ссылки делать вы уже научились, поэтому я вам дам лишь HTML-код, который нужно разместить перед закрывающим тегом </body> , в каждом из трёх HTML-документов:
В итоге, ваш сайт должен выглядеть следующим образом. Нажимая по ссылкам, вы будете попадать на страницы: снежного барса, полярного волка и полярной совы.
<!DOCTYPE html>
Как вы уже знаете, каждый HTML-документ начинается с тега <html> , данное объяснение было для новичков. На самом деле, каждый HTML-документ, должен начинаться со строки <!DOCTYPE html> , а уже под ним ставится тег <html> . Строка <!DOCTYPE html> даёт понять браузеру, что язык HTML используемый в документе, ориентирован на последнюю, пятую версию языка, т.е. на HTML5.
Конечный HTML-документ, например файла index.html , в итоге должен выглядеть следующим образом:
Всегда добавляйте строку <!DOCTYPE html> , в начале каждого HTML-документа.
Регистрация домена и хостинг
Итак, у вас в папке Мой сайт хранятся три HTML-файла:
index.html
polarnayi-volk.html
polarnaya-sova.html
и три фотографии:
irbis.jpg
polyarnyi-volk.jpg
polyarnaya-sova.jpg
Для того чтобы разместить всё это в интернете, нужно сначала зарегистрировать себе имя сайта (домен) , наиболее качественная компания по регистрации доменов, на данный момент это Вебнеймс :
webnames.ru — компания регистрации доменов. Обычно чтобы зарегистрировать домен в зоне .RU , нужно платить около 100 рублей, в первый в год и около 500р в последующие года (оплата производится 1 раз в год).
После регистрации имени сайта, нужно купить себе хостинг, наиболее качественная компания на данный момент это Бегет :
Beget.ru — компания предоставляющая хостинг для сайтов. В компании Бегет, можно разместить сайт бесплатно или платно от 100 до 385 рублей в месяц. Разместить сайт бесплатно!
Хостинг — это размещение сайта в интернете.
Когда вы разместите сайт в интернете, то при наборе имени сайта, например gabdrahimov.ru , первым откроется файл index.html Это своего рода главная страница сайта, с которой посетитель начинает путешествие по вашему ресурсу.
В этом разделе, я лишь поверхностно описал что нужно сделать, чтобы разместить сайт в интернете. Более подробней о том, как это сделать, я опишу чуть позже.
В принципе на этом введение в создание сайтов закончено, вам осталось лишь прочитать последний урок, начального цикла учебника HTML.
Как сделать многостраничный сайт html css
Многостраничный сайт в HTML и CSS это сайт, который состоит из нескольких страниц с разным содержимым. Вот как создать многостраничный сайт:
- Создайте отдельный файл HTML для каждой страницы. Например, index.html, about.html, contact.html и т.д.
- Добавьте на каждую страницу общие элементы, такие как меню навигации, заголовки, подвал и т.д.
- Создайте файл CSS, который будет содержать общие стили для всех страниц. Например, стили для шрифтов, цветов, фона и т.д.
- Добавьте отдельный файл CSS для каждой страницы, который будет содержать уникальные стили для этой страницы. Например, стили для размещения контента на странице, фона, шрифта и т.д.
- С помощью HTML-тега <a> создайте ссылки на другие страницы сайта. Например, переместите ссылку на страницу «О нас» на главной странице, что пользователь мог перейти на страницу «О нас» по клику на ссылку.
Пример кода для приведенных выше шагов:
Таким образом, создание многостраничного сайта сводится к созданию отдель