Содержание статьи - Меню код: HTML5, CSS

Как создать простое и удобное содержание меню статьи на чистом HTML5 и CSS.

Содержание статьи - Меню код: HTML5, CSS

Пример меню:

Содержание статьи [Закрыть]


Приведённый код HTML вставляем в желаемое место тела статьи, где хотим вывести меню статьи, редактируя код под нужное количество пунктов меню.

Код HTML5:

<details class="contents-menu">
	<summary>Содержание статьи <small>[Закрыть]</small></summary>
	<ul>
		<li><a href="#menu-1"><span>1</span> Заголовок h2</a></li>
		<li><a href="#menu-2"><span>2</span> Заголовок h2</a>
			<ul style="list-style-type: circle;">
				<li><a href="#menu-2-1"><span>2.1</span> Подзаголовок h3</a></li>
				<li><a href="#menu-2-2"><span>2.2</span> Подзаголовок h3</</a></li>
				<li><a href="#menu-2-3"><span>2.3</span> Подзаголовок h3</</a></li>
				<li><a href="#menu-2-4"><span>2.4</span> Подзаголовок h3</</a></li>
			</ul>
		</li>
		<li><a href="#menu-3"><span>3</span> Заголовок h2</a>
			<ul style="list-style-type: circle;">
				<li><a href="#menu-3-1"><span>3.1</span> Подзаголовок h3</</a></li>
				<li><a href="#menu-3-2"><span>3.2</span> Подзаголовок h3</</a></li>
				<li><a href="#menu-3-3"><span>3.3</span> Подзаголовок h3</</a></li>
				<li><a href="#menu-3-4"><span>3.4</span> Подзаголовок h3</</a></li>
			</ul>
		</li>
		<li><a href="#menu-4"><span>4</span> Заголовок h2</a></li>
		<li><a href="#menu-5"><span>5</span> Заголовок h2</a></li>
	</ul>
</details>


Приведённый код CSS вставляем в файл стилей сайта .css. Редактируя код CSS, можно поменять на под свои стили сайта.

Код CSS:

/* --- Содержания статьи, меню --- */
.contents-menu{
	background: #F8F9FA;
	border: 1px solid #A2A9B1;
	padding: 15px 20px 10px 20px;
	display: table;
	border-radius: 2px;
	margin-top: 15px;
}
details:not([open]) summary small {
	display: none;
}
  details[open] summary small {
	color: gray;
}
details summary {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	transition: color .3s;  /* плавная смена цвета */
	cursor: pointer;  /* изменение курсора при наведении */
}
  details summary:hover,
  details[open] summary {
	color: #3394e6;
}


Если плавающее меню сайта. Опускаем фокуса якоря. Можно применить простой скрипт .js код который надо подключить где будет выводится меню статьи.

Код js:

//Отступ от верхнего меню при клике по якорю в содержании статьи
$(document).on('click', 'a[href*=menu-]', function(e){
	e.preventDefault();
	var id = $(this).attr('href');
	var top = $(id).offset().top - 65;
	$('html,body').animate({scrollTop:top + 'px'});
})

Высота отступа будет 65px.

Пример фокуса:


1 Заголовок h2

2 Заголовок h2

 2.1 Подзаголовок h3

 2.2 Подзаголовок h3

 2.3 Подзаголовок h3

 2.4 Подзаголовок h3

3 Заголовок h2

 3.1 Подзаголовок h3

 3.2 Подзаголовок h3

 3.3 Подзаголовок h3

 3.4 Подзаголовок h3

4 Заголовок h2

5 Заголовок h2


Используем спойлер тег "details" и текст метки тег "summary"

Код скрипт .js подключаем в подключённый файл скриптов сайта при необходимости если присутствует плавающее меню в шапке сайта и оно закрывает при фокусировки сам заголовок статьи.

Пример работы меню - Содержание статьи:  1С Битрикс загрузка и выгрузка данных в формате Excel


 Источник: KDV.su    Климов Дмитрий

0
Сайт-Блог Климова Дмитрия
Добавить комментарий

Оставить комментарий

    • Смайлы и люди
      Животные и природа
      Еда и напитки
      Активность
      Путешествия и места
      Предметы
      Символы
      Флаги
  • Подтвердите, что Вы не робот:
Сайт использует файлы cookie!
Продолжая использовать этот сайт, Вы даете свое согласие на обработку ваших данных!
Я согласен
Я не согласен
Подробнее...