Форум Игромании
 
Регистрация
Справка

Internet и сети Интернет, Сети и всё, что с ними связано (кроме рекламы)

Ответ
 
Опции темы
Старый 12.09.2016, 21:56   #1
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 7,588
Репутация скрыта [+/-]
Тег P против DIV

Столкнулся с одной неприятной штукой, и хочу узнать мнение тех, кто посмышлённей меня в web-дизайне.
Итак, у меня есть некий документ, допустим:
Код HTML:
<P>Первый абзац документа</P>
<P>Второй абзац</P>
Штука в том, что я хочу в него вставить "отметки на полях", т.е. напротив некоторых абзацев на полях вывести, например, значок, но не просто, а со всплывающим меню. Для этого делаю классы:
Код:
.document_container {
    position: relative;
    padding-left: 20px;
}
.menu {
    position: absolute;
    left: 0px;
    width: 20px; height: 20px;
   /*тут ещё background со значком и прочие мелочи*/
}
.menu_items {
    position: relative;
    z-index: 1;
   display: none;
   /*отступы и прочие мелочи*/
}
.menu:hover .menu {
    display: block;
}
После этого делаю так:
Код HTML:
<div class="document_container">
  <P>
    <div class="menu">
      <div class="menu_items">Содержимое всплывающего меню</div>
    </div>
    Первый абзац документа
  </P>
  <P>
    <div class="menu">
      <div class="menu_items">Содержимое меню для второго абзаца</div>
    </div>
    Второй абзац
  </P>
</div>
Думаю, смысл понятен. "menu" логически находится внутри параграфа, и
привязан к его местоположению. Но из-за position: absolute и явно заданной left-координаты он выносится на поля. При наведении на menu курсора мыши срабатывает селектор "menu:hover .menu", и содержимое меню становится видимым. Тут ничего хитрого.
Однако, из-за того, что тег <P> не обязательно закрывать и он сам закрывается при встрече блока, ломается структура документа, как только я добавляю div с меню (потому что тег <P> открыт перед ним, но закрыт после него)! DIV с меню на SPAN заменить нереально - ведь там должны быть именно блоки!
Поэтому вопросы:
1) насколько обязательно применять <P> с точки зрения работы с сайтом поисковых машин и прочего. Есть ли у тега <P> какое-то реальное отличие от <DIV> помимо его дурацкого автозакрытия?
2) есть ли другой путь сделать менюшку, привязанную к определённому месту в тексте (собственно, вынесена она на поля, или просто встречается в тексте, не так важно)?
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:02.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Rambler's Top100 Яндекс цитирования