Как сделать вместо скролла номера страниц?

У меня есть блок данных с скроллом. Я хочу вместо скроллинга, перелистывать страницы. Хотелось бы глянуть на пример реальзации этого. Спасибо. Вот так


Ответы (2 шт):

Автор решения: Qwertiy

location.hash = location.hash || "p1"
body { text-align: center; }
section { display: none; }
:target { display: block; }
p { border: 1px solid; margin: 8px 0; }
<section id="p1"><p>1.1<p>1.2<p>1.3<p>1.4<p>1.5</section>
<section id="p2"><p>2.1<p>2.2<p>2.3<p>2.4<p>2.5</section>
<section id="p3"><p>3.1<p>3.2<p>3.3<p>3.4<p>3.5</section>
<section id="p4"><p>4.1<p>4.2<p>4.3<p>4.4<p>4.5</section>
<section id="p5"><p>5.1<p>5.2<p>5.3<p>5.4<p>5.5</section>
<section id="p6"><p>6.1<p>6.2<p>6.3<p>6.4<p>6.5</section>
<section id="p7"><p>7.1<p>7.2<p>7.3<p>7.4<p>7.5</section>
<section id="p8"><p>8.1<p>8.2<p>8.3<p>8.4<p>8.5</section>

<a href="#p1">1</a>
<a href="#p2">2</a>
<a href="#p3">3</a>
<a href="#p4">4</a>
<a href="#p5">5</a>
<a href="#p6">6</a>
<a href="#p7">7</a>
<a href="#p8">8</a>

→ Ссылка
Автор решения: NeedHate

Еще как пример технологий, которые делают нашу жизнь приятнее. Назовем это "слайдер на css". Есть нюанс, что скорее подход для мобильных устройств, но для саморазвития тоже будет полезно. Используется scroll-snap-type анонсированный Chrome, кажется, в начале года. Лучше смотреть на экранах от 1920. В других разрешениях не проверял:

@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700&display=swap");
* {
  box-sizing: border-box;
}

body {
  padding: 2rem;
  background-color: #F0F0C9;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 400;
  line-height: 1.15;
}

.wrapper {
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
  padding: 2rem;
  background-color: rgba(0, 0, 0, 0.1);
  overscroll-behavior-x: contain;
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
  max-height: 70vh;
  overflow-y: hidden;
  scroll-behavior: smooth;
}
.wrapper .item {
  scroll-snap-align: center;
  min-width: 100%;
}
.wrapper article {
  padding: 1rem;
  background: #fff;
  box-shadow: 0 5px 50px -10px rgba(0, 0, 0, 0.1);
  margin-bottom: 1rem;
}
.wrapper article h2 {
  border-bottom: 2px solid rgba(0, 0, 0, 0.2);
  padding-bottom: .75rem;
  margin-bottom: 2rem;
}
.wrapper article hr {
  height: 6px;
  border: none;
  background: rgba(0, 0, 0, 0.1);
}
.wrapper article hr:last-child {
  margin-right: 60%;
}
.wrapper article hr.image {
  padding-bottom: 50%;
  width: 100%;
  margin-bottom: 2rem;
}

.navi {
  max-width: 600px;
  width: 100%;
  margin: 2rem auto 0;
}
<div class="navi">
	<a href="#1">1</a>
	<a href="#2">2</a>
	<a href="#3">3</a>
</div>
<div class="wrapper">
	<div class="item" id="1">
		<h4>Items #1</h4>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
	</div>
	<div class="item" id="2">
		<h4>Items #2</h4>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
	</div>
	<div class="item" id="3">
		<h4>Items #3</h4>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
		<article>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
			<hr>
		</article>
	</div>
</div>

→ Ссылка