Табличная компоновка с двумя элементами inline-block рядом?

0

Я создаю веб-страницу, которая отображает информацию пользователя. Это выглядит так:

Изображение 174551

Как показано в цветной легенде, форма содержит ярлык и упорядоченный список. CSS использовался для display: inline и создания списка в виде списка имен групп, разделенных запятыми. Вот соответствующий фрагмент HTML:

<label>Group membership</label>
<ol>
  <li>domain users</li>
  <li>denied rodc password replication group</li>
</ol>

Проблема

Ширина формы в целом неизвестна (она текучая). Метка имеет фиксированную ширину, чтобы поддерживать выравнивание по правому краю текста, но упорядоченный список может свободно использовать оставшуюся часть доступного пространства по горизонтали.

Однако это то, что происходит, когда список групп становится большим:

Изображение 174551

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

Что я хочу достичь

Список должен расширяться вниз по мере необходимости, но он должен оставаться привязанным рядом с меткой (как это происходит в табличном макете, где две ячейки имеют vertical-align: top).

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

Хирургическое нацеливание на HTML для списка возможно, поэтому не стесняйтесь рекомендовать альтернативу, если это поможет.

Вот скрипка макета со всеми соответствующими стилями, которые вы можете использовать в качестве ссылки.

Теги:

1 ответ

2
Лучший ответ

Вместо того, чтобы использовать inline-block, поместите этот ярлык влево и создайте block списка с margin-left - см. Http://jsfiddle.net/8tx24/1/

(Я также сделал inline LI, потому что, поскольку inline-block длинное значение во втором LI может заставить его вломиться в новую строку, которая выглядит странно, но если вы хотите этого поведения, вы можете сохранить свой inline-block. )

  • 0
    Чтобы сделать еще один шаг вперед, ко всем полям можно применить один и тот же стиль с плавающей запятой + большим полем, и один и тот же макет даст немного более краткий набор правил CSS.
  • 0
    Спасибо за вклад, я собираюсь попробовать это в большем масштабе и посмотреть, как это работает.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню