Как бы вы разметили план / карту здания с помощью семантического HTML?

Здание (музей) имеет 7 уровней (от +3 до -3), каждый из которых разделен на разные комнаты / зоны. При наведении курсора на область откроется всплывающее окно с описанием этой области.

Я ищу разметку, которая точно представит 7 уровней и их области. План должен иметь смысл и быть «управляемым» без использования CSS / JS.

Обновлено: некоторые пояснения, разметка должна представлять только «семантическую структуру» здания, а не пространственный макет (CSS добавит макет и графику).

Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
0
0
1 325
4

Ответы 4

Похоже на работу для SVG? (Образец здания Adobe в Сан-Хосе)

Я понимаю, что здесь используется JavaScript, но если у вас 7 этажей * 10+ комнат? это было бы довольно сложно с чистым CSS. Вы можете использовать некоторые элементы <ul> для создания вложенных уровней комнат, но если здание такое большое, я не думаю, что список (даже если он представлен в виде блоков) будет иметь смысл для просмотра.

Мне кажется, что это вложенный неупорядоченный список.

Я думал о списках определений?

meleyal 23.12.2008 16:42

Он варьируется от 2 до 6 номеров на этаже.

meleyal 23.12.2008 16:58

Я не думаю, что списки определений должны быть вложенными; семантически они представляют собой плоский список пар имя / значение. Для этого хорошо подходит вложенный неупорядоченный список.

Adam Lassek 23.12.2008 17:13

Это правда, что списки определений не должны быть вложенными?

meleyal 23.12.2008 17:24

Я разместил здесь вопрос со списком определений: stackoverflow.com/questions/389086

meleyal 23.12.2008 18:26

Взгляните на микроформаты, в частности на XOXO микроформат.

Спасибо. Каковы преимущества использования XOXO, это не было ясно сказано на вики-странице?

meleyal 23.12.2008 17:19

Использование HTML5 (но не должно иметь большого значения, если вы хотите использовать HTML 4.01):

Если вы хотите представить здание изображениями, вы можете использовать Карта изображений, состоящий из map и area. area (атрибут href) может ссылаться на страницу, содержащую подробное описание комнаты. Атрибут alt может содержать краткое описание комнаты, например «Клубничная комната (уровень 4)».

Если разметка больше похожа на текстовую альтернативу (например, если вы используете object, canvas или что-то в этом роде), я бы выбрал структуру заголовка:

<section>
 <h1>The building</h1>

 <section id = "level-1">
  <h1>Level 1</h1>

   <section id = "level-1-room-1">
    <h1>Room 1</h1>
    <p>description of room 1</p>
   </section>

   <section id = "level-1-room-2">
    <h1>Room 2</h1>
    <p>description of room 2</p>
   </section>

 </section> <!-- #level-1 -->

 <section id = "level-2">
  <h1>Level 2</h1>

   <section id = "level-2-room-1">
    <h1>Room 1</h1>
    <p>description of room 1</p>
   </section>

   <section id = "level-2-room-2">
    <h1>Room 2</h1>
    <p>description of room 2</p>
   </section>

 </section> <!-- #level-2 -->

</section>

(для HTML 4.01 вы должны использовать div вместо section и соответствующим образом скорректировать уровень заголовка)

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