LINUX.ORG.RU

Иерархические данные.

 


0

1

В общем дело такое. Нужно извлечь из программного web проекта в css стили оформления. В смысле есть рабочий проект. Я убираю из него всё оформление. Ввожу div'ы и т.д. И профит.

Однако столкнулся с некоторыми проблемами. Сильно не пинайте - я программист, и о css сужу по статье в вики, этой, htmlbook.ru, ну и ещё паре сайтов.

Моя задача: сделать образцовый css (как угодно убого выглядящий), который потом передадут на оформление. В общем интересует мнение знакомых с вёрсткой - с какой структурой html и таблицы стилей удобнее работать.

В проекте достаточно глубокая иерархия. 10 - 15 уровней, но «главная» должна быть максимально информационно насыщена. Это тех. проект, если что - никаких банеров/реклам и т.д. Думал сделать так: сделать вложенные div на каждый раздел, div'ы на заголовок раздела, название раздела, содержимое и так рекурсивно. Что не влезет на глубоких уровнях - малюсенькими картинками-ссылками на подробную информацию. Все div хотел сделать вложенные.

Вопрос - это как-то ограничит тех, кто будет оформлять? Может есть другие предложения?

На высоких уровнях информации мало - считай только название. Но чем глубже, тем больше.


Вопрос - это как-то ограничит тех, кто будет оформлять?

Нет, не ограничит. Для спеца в CSS все эти вложенности легко и непринужденно обрабатываются селекторами. Не последнюю роль играет «иерархичная» природа самой CSS.

Munhgauzen
()
Ответ на: комментарий от Munhgauzen

Нет, не ограничит.

Вообще-то, если он собрался дизайнеру отдавать:

...
<div id="xxx">
  <span class="yyy">
...

...
#xxx { ... }
.yyy { ... }
...

то на месте дизайнера, который должен ему улучшить дизайн, послал бы его в жопу вместе с этой фигнёй.

Но я не уверен, что я правильно понял ТС. Как я понял, он хочет избавиться от каши в HTML и собирается отдать дизайнеру вёрстку, чтобы по ней он улучшал дизайн, а так не делают, делают ровно наоборот: дизайнер рисует, верстальщик замеряет / режет / верстает HTML + CSS из отданного дизайнером.

Reaper ★★
()
Ответ на: комментарий от Reaper

послал бы его в жопу вместе с этой фигнёй

Вот так сразу и послал. Как я понимаю речь не продизигнера который в фотошопе рисовал, а про спеца в верстке - HTML+CSS оформителя.

Есть некий сайт (приложение). Прогер генерит web-интерфейс, он может не быть спецом в CSS. Что он должен отдать вертальщику?

Тогда уж лучше так:

...
<div id="xxx">
  <span>
...

...
#xxx { ... }
#xxx span { ... }
...

Munhgauzen
()

В общем интересует мнение знакомых с вёрсткой - с какой структурой html и таблицы стилей удобнее работать.

С вёрсткой знаком хорошо, а вопрос не очень понимаю. :(

Что касается CSS, то очень удобно использовать SASS, советую посмотреть, почитать, что это такое.

Думал сделать так: сделать вложенные div на каждый раздел, div'ы на заголовок раздела, название раздела, содержимое и так рекурсивно.

Не надо из пальца высасывать структуру документа. Зачем? Кто будет верстать, сам вложит один DIV в другой, если это будет нужно.

Reaper ★★
()
Ответ на: комментарий от Reaper

Не надо из пальца высасывать структуру документа. Зачем?

Согласен. Дизигнер все равно сам будет переделывать эти дивы, вкладывать-выкладывать, перемещать....

Munhgauzen
()
Ответ на: комментарий от Munhgauzen

Прогер генерит web-интерфейс, он может не быть спецом в CSS. Что он должен отдать вертальщику?

А что он генерит-то? Комбобоксы и всякие текстовые поля? Верстальщику ничего не надо отдавать, пусть, дезигнер нарисует картинку из этих комбобоксов и полей, а потом по этой картинке уже сверстают страничку.

Reaper ★★
()
Ответ на: комментарий от Reaper

Это конечно логично. Когда прогеру отдают подготовленный под дизайн HTML-макет. А он туда генерит вывод. Но наш мир обычно далеко не так идеален. Хотя... бывают исключения.

Munhgauzen
()

div'ы на заголовок раздела, название раздела, содержимое и так рекурсивно.

Для этого существуют h*, p и прочие теги. Для начала ознакомся с семантической структурой html.

gruy ★★★★★
()
Ответ на: комментарий от gruy

Для этого существуют h*, p и прочие теги. Для начала ознакомся с семантической структурой html.

На этой странице один h и куча p без классов.

vahtu
() автор топика

Чтобы у верстальщика (или кто там css будет писать) не возникало анальных болей, не придумывай велосипед и сделай иерархию через вложенные ul>li.

<ul>
  <li>
    <h1>header</h1>
    <p>Content</p>
    <ul>
      <li>
        <h2>header</h2>
        <p>Content</p>
       ....
      </li>
    </ul>
  </li>
   .....
  <li>
    <h1>header</h1>
    <p>Content</p>
    <ul>
      <li>
        <h2>header</h2>
        <p>Content</p>
       ....
      </li>
    </ul>
  </li>
</ul>
drakmail ★★★★
()
Ответ на: комментарий от Reaper

На мой взгляд преимущества следующие:

  • ul/li лучше отражает семантику данных;
  • верстальщики привыкли использовать ul/li для древовидных выпадающих меню еще с первых сайтов. Также, это уже практически стандарт для вывода иерархических списков.
  • ul/li, на мой взгляд, гораздо более наглядно показывает структуру.
drakmail ★★★★
()
Ответ на: комментарий от drakmail

Если это не меню, список или нечто подобное ul/li делать не надо. Геморроя больше, чем пользы.

Deleted
()
Ответ на: комментарий от Deleted

Обьясню поподробнее.

Во первых: Это не система меню. Иерархия должна быть представлена на одной странице. Т.е. без меню. В один клик.

Во вторых: Я собираюсь генерить чистый хтмл без стилей вообще. Т.е. это будет выглядеть как *овно. Задачу по перемещению элементов на экране я собираюсь полностью возложить на дизайнера/верстальщика.

Соответственно, я интересуюсь у гуру css: какими тегами обрамлять элементы, чтобы ими легко можно было рулить ч/з css&

vahtu
() автор топика
Ответ на: комментарий от vahtu

CSS'у важны не твои элементы, а class=«blahblah», которые ты налепишь. Точнее которые всё равно проставит верстальщик сам как захочет.

Deleted
()
Ответ на: комментарий от vahtu

Ну, не делается так, совсем. Всё равно верстальщику могут понадобится обёртки тегов, и.т.д. Если идёт такое жёсткое разделение труда, то просто приготовь шаблон, какие-нибудь псевдо-переменные, назвав, например {{content}}, {{status_int}}, которые верстальщик просто повставляет в свой результат.

То есть, готовая прога, которая открывает файл и при выводе заменяет эти типа-переменные на выхлоп. Вот это разделение. А по жёсткому html — это бред дичайший.

alexmaru
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.