выстраивание элементов списка в двух соседних неупорядоченных списках - PullRequest
4 голосов
/ 29 ноября 2010

Я пытаюсь выстроить элементы списка в два неупорядоченных списка рядом, как это:

list element 1     list element 1
list element 2     list element 2
list element 3     list element 3 that
                   wraps
list element 4     list element 4

прямо сейчас список слева не оборачивается списком справа, вместо этого он показывает

list element 1     list element 1
list element 2     list element 2
list element 3     list element 3 that
list element 4     wraps
                   list element 4

как мне правильно настроить их? прямо сейчас у меня это настроено так:

1009 * CSS *

.col {float:left;width:150px;}

HTML

<div class="col">
  <ul>
    <li> list element </li>
  </ul>
</div>
<div class="col">
  <ul>
    <li> list element </li>
  </ul>
</div>

спасибо

Ответы [ 2 ]

10 голосов
/ 29 ноября 2010

Похоже, вы пытаетесь отобразить табличные данные без использования таблицы HTML.Причиной этого, вероятно, является отвращение к таблицам, появившимся в эпоху проектирования после создания таблиц.Однако следует отметить, что для всего есть время и место, и есть веская причина, по которой элемент <table> не считается устаревшим.

Когда-то был элемент с именем <table>.CSS не был даже мерцанием в глазах матери.Чтобы элементы отображались так, как вы этого хотели, вам нужно было связать воедино сеть из вложенных таблиц.Это был кошмар.Это был кошмар, чтобы читать код, поддерживать код и создавать код в первую очередь!Вместе с CSS появился и все отказались от таблиц как устаревших и запрещенных.Зачем?Поскольку люди использовали табличный тег, как он не предназначен, собирая его в местах, где он не имел бизнеса.

Теперь многие люди копируют <ul> связанных данных в столбцы для представления таблиц, опасаясь использования запрещенного элемента <table>.Но дело в том, что это так же плохо, как неправильное использование таблиц.Он создает спагетти-код, который трудно понять с помощью программ чтения с экрана, трудно отладить, трудно поддерживать, и в конечном итоге он использует хаки браузера или javascript для стилизации.

Для выполнения этого хака, однако, необходимоДля таких списков вы должны указать атрибут высоты для элементов li.При статической высоте позиционирование li становится предсказуемым, и вы действительно можете это сделать.Но это не похоже на то, что вы ищете, так как кажется, что li3 должен быть жидкого роста.Единственный способ действительно сделать это - использовать jQuery или таблицу HTML, динамически определять высоту li3 и применять эту высоту к другим li3.Использование jQuery для достижения этой цели может привести к переполнению неустановленного контента, особенно на медленных соединениях и старых браузерах.Я настоятельно советую вам пересмотреть свой HTML.

3 голосов
/ 29 ноября 2010

Самый простой и чистый вариант - использовать таблицы

<table>
    <tr>
        <td class="col">
              <ul>
                <li> list element </li>
              </ul>
        </td>

        <td class="col">
              <ul>
                    <li> list element </li>
              </ul>
        </td>
    </tr>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...