HTML5, CSS3, Javascript | Изменение элемента в разделе навигации


Может кто-нибудь объяснить или дать мне совет, как создать nav раздел, где вы нажимаете на какой-то из li предметов, и он меняет содержимое (Мода, Фильмы, ТВ-элементы на скриншоте)?
Можно ли обойтись без JS? Если нет, то не могли бы вы объяснить логику этой задачи (как создать)
Спасибо за Ваше внимание!

http://jsfiddle.net/4pw568fx/1/

HTML5, CSS3, Javascript | Изменение элемента в разделе навигации

Вы уже пробовали кодировать это самостоятельно?

Russ J 06.03.2019 03:48

Этот макет скриншота сделан мной. Я просто понятия не имею, как заставить переключать содержимое <li>...

Daniel Harrison 06.03.2019 03:51

Пожалуйста, опубликуйте код, который вы пробовали. Так вы добьетесь гораздо лучших результатов.

Russ J 06.03.2019 03:52

@RussJ Вот оно: jsfiddle.net/4pw568fx/1

Daniel Harrison 06.03.2019 04:18
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
73
1

Ответы 1

То, что вы ищете, это «Вкладки».

Вот пример достижения функциональности Tab в чистом CSS:

Чистые вкладки CSS от CSS-Tricks

Вот еще один отличный рабочий пример вкладок PureCSS:

@import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700);
@import url(https://fonts.googleapis.com/css?family=Raleway:100,400,700);
/* Component Needs */
.pc-tab > input, .pc-tab section > div {
  display: none;
}
#tab1:checked ~ section .tab1, #tab2:checked ~ section .tab2, #tab3:checked ~ section .tab3 {
  display: block;
}
#tab1:checked ~ nav .tab1, #tab2:checked ~ nav .tab2, #tab3:checked ~ nav .tab3 {
  color: red;
}
/* Visual Styles */
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  -webkit-font-smoothing: antialiased;
  background: #ecf0f1;
  font-family: 'Raleway';
}
h1 {
  text-align: center;
  font-weight: 100;
  font-size: 60px;
  color: #e74c3c;
}
.pc-tab {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}
.pc-tab ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pc-tab ul li label {
  font-family: "Raleway";
  float: left;
  padding: 15px 25px;
  border: 1px solid #ddd;
  border-bottom: 0;
  background: #eee;
  color: #444;
}
.pc-tab ul li label:hover {
  background: #ddd;
}
.pc-tab ul li label:active {
  background: #fff;
}
.pc-tab ul li:not(:last-child) label {
  border-right-width: 0;
}
.pc-tab section {
  font-family: "Droid Serif";
  clear: both;
}
.pc-tab section div {
  padding: 20px;
  width: 100%;
  border: 1px solid #ddd;
  background: #fff;
  line-height: 1.5em;
  letter-spacing: 0.3px;
  color: #444;
}
.pc-tab section div h2 {
  margin: 0;
  font-family: "Raleway";
  letter-spacing: 1px;
  color: #34495e;
}
#tab1:checked ~ nav .tab1 label, #tab2:checked ~ nav .tab2 label, #tab3:checked ~ nav .tab3 label {
  background: white;
  color: #111;
  position: relative;
}
#tab1:checked ~ nav .tab1 label:after, #tab2:checked ~ nav .tab2 label:after, #tab3:checked ~ nav .tab3 label:after {
  content: '';
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #fff;
  left: 0;
  bottom: -1px;
}
footer {
  margin-top: 50px;
  font-size: 14px;
  color: #ccc;
  text-align: center;
}
footer a {
  color: #aaa;
  text-decoration: none;
}
<h1>PureCSS Tabs</h1>

<div class = "pc-tab">
<input checked = "checked" id = "tab1" type = "radio" name = "pct" />
<input id = "tab2" type = "radio" name = "pct" />
<input id = "tab3" type = "radio" name = "pct" />
  <nav>
    <ul>
      <li class = "tab1">
        <label for = "tab1">First Tab</label>
      </li>
      <li class = "tab2">
        <label for = "tab2">Second Tab</label>
      </li>
      <li class = "tab3">
        <label for = "tab3">Third Tab</label>
      </li>
    </ul>
  </nav>
  <section>
    <div class = "tab1">
      <h2>First</h2>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellendus itaque quidem minus nostrum, voluptatem accusamus aspernatur quia harum ratione, officia laudantium inventore autem doloribus atque labore numquam non. Hic, animi.</p>
    </div>
    <div class = "tab2">
      <h2>Second</h2>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Laborum nesciunt ipsum dolore error repellendus officiis aliquid a, vitae reprehenderit, accusantium vero, ad. Obcaecati numquam sapiente cupiditate. Praesentium eaque, quae error!</p>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perferendis, maiores.</p>
    </div>
    <div class = "tab3">
      <h2>Third</h2>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Optio, nobis culpa rem, vitae earum aliquid.</p>
    </div>
  </section>
</div>

<footer>
Source: https://codepen.io/renatorib/pen/rlpfj
  by <a href = "http://rena.to/" target = "_blank">rena.to</a>
</footer>

Да, наверное! Спасибо!

Daniel Harrison 06.03.2019 03:52

Другие вопросы по теме