Показать / скрыть контент на основе привязки; по умолчанию показывать первым

С чистым HTML и CSS можно отображать и скрывать контент с помощью тега привязки:

#red { background: red; }
#blue { background: blue; }
#green { background: green; }
.box {
  width: 200px;
  height: 200px;
  display: none;
}
.box:target {
  display: block;
}
<a href = "#red">Red item</a> | <a href = "#blue">Blue item</a> | <a href = "#green">Green item</a>

<div class = "box" id = "red"></div>
<div class = "box" id = "blue"></div>
<div class = "box" id = "green"></div>

Но как я могу отобразить первый (красный) элемент при загрузке страницы?

Просто использовать #red { display: block; }? Если разметка может измениться, лучше обернуть все поля родительским элементом, а затем использовать .box:first-child { display: block; }.

Terry 04.04.2018 14:20
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
1
85
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Если вы согласны с изменением html и помещением красного поля в последнюю очередь, вы можете сделать что-то вроде:

#red {
  background: red;
  display: block;
}
#blue { background: blue; }
#green { background: green; }
.box {
  width: 200px;
  height: 200px;
  display: none;
}
.box:target {
  display: block;
}
.box:target ~ #red {
    display: none;
}

Вы можете попробовать это:

#red { background: red; display:block;}
#blue { background: blue; }
#green { background: green; }
.box {
  width: 100%;
  height: 100%;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
}
.box:target {
  display: block;
}
.wrapper {
  position: relative;
  width: 200px;
  height: 200px;
}
<a href = "#red">Red item</a> | <a href = "#blue">Blue item</a> | <a href = "#green">Green item</a>

<div class = "wrapper">
  <div class = "box" id = "red"></div>
  <div class = "box" id = "blue"></div>
  <div class = "box" id = "green"></div>
</div>

Решение (я): -

<style>
#red {
  background: red;
}
#blue {
    background: blue;
}
#green {
    background: green;
}
.box {
  display: none;
}
.box:target {
    display: block;
}

</style>
<a href = "#red">Red item</a> | 
<a href = "#blue">Blue item</a> | 
<a href = "#green">Green item</a>

<div class = "box" id = "red">Red</div>
<div class = "box" id = "blue">Blue</div>
<div class = "box" id = "green">Green</div>

Пояснения: -

I Finally found a solution for your answer but ...
for it to work properly , you need to add a background color ....
finally , I hope that it is what you wanted .....

Примечания и ссылки: -

currently , i have no references for above codes , 
but ,
NOTE : Please Add Background color fr it to work properly

Решение как-то простое, но я не могу его здесь показать. Если вы используете этот код на странице, вам просто нужно добавить привязку первого тега a к URL-адресу, чтобы активировать его цель. Поэтому вам нужно просто сделать что-то вроде этого:

wwww.page.html#red

Вот скриншот результата:

Это будет работать без изменения кода, и вы можете выбрать, какой из них сделать видимым в начале.

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