Можете ли вы смешать% и px для выравнивания таблицы? - PullRequest
3 голосов
/ 15 января 2010

Я пытаюсь выровнять разные таблицы с разным количеством столбцов, чтобы первые два столбца были выровнены, а остальные выровнены независимо, но при использовании% это очень сложно, и при изменении размера окна оно теряет выравнивание.Вот почему я пытался выровнять смешивание с% и px на td, например.

<table>
  <tr>
    <td width="100px"></td>
    <td width="100px"></td>
    <td width="50%"></td>
    <td width="20%"></td>
 </tr>
</table>
<table>
 <tr>
   <td width="100px"></td>
   <td width="100px"></td>
   <td width="70%"></td>
 </tr>
</table>

Но, как не выглядит логичным, это не похоже на работу.

Есть ли способзаставить это работать или альтернативу?

Ответы [ 4 ]

4 голосов
/ 15 января 2010

Вы можете ... Но что вы ожидаете от этого? В большинстве случаев на вашем столе будет дополнительное пространство или недостаточно места, и его не будет в состоянии соблюдать одну или несколько из ваших запрошенных ширин. Оставьте столбец с шириной, не указанной ...

2 голосов
/ 15 января 2010

Для этого вам понадобится атрибут colspan. Таблицы спроектированы таким образом, что существуют отдельные строки и столбцы, где количество столбцов в таблице равно наибольшему количеству элементов TD в любой строке + количеству столбцов, которые охватывают эти ячейки (по умолчанию 1). Итак, вам нужно вычислить некоторую базовую единицу для столбца в вашей таблице, а затем сделать так, чтобы ячейки были кратны этой базе.

Следует помнить, что любая строка, в которой указано меньше столбцов (как одиночные столбцы TD, так и TD, занимающие более 1 столбца), будет заполнять как можно больше столбцов слева направо (если только текст rtl не является в CSS), поэтому вы можете иметь строки с разным количеством столбцов, потому что ячейка TD не может вылиться из своего столбца, если не установлен атрибут colspan (другими словами, TD должен занимать целое число столбцов, а не частичные столбцы)


EDIT: Вы можете использовать только метод, который я описал, когда вы имеете дело только с 1 таблицей. Чтобы выровнять 2 таблицы, оберните их обе в родительский элемент (DIV), а затем присвойте обеим таблицам ширину 100%. Затем вы можете контролировать ширину div, что позволит внутренним таблицам использовать все доступное пространство. Тогда возникает такая проблема, когда вам просто нужно убедиться, что таблицы заполняют пространство одинаково, что проще, потому что оно более контролируемо.

1 голос
/ 15 января 2010

Вы можете смешивать% и px, но вы должны думать о% относительно родителя. Если таблица 500px, то 50% будет 250px и т. Д.

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

0 голосов
/ 26 апреля 2012

вы можете добавить width используя атрибут style:

td style="width:120px"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...