2017-02-13 2 views
3

HTML-концепции так ужасны иногда.html table colspan не работает как ожидалось

Это мой код, использующий colspan в таблице html, и не выглядит так, как я ожидаю.

<table border="1"> 
    <tr> 
     <td colspan="3">a</td> 
    </tr> 
    <tr> 
     <td colspan="2">b</td> 
     <td>c</td> 
    </tr> 
</table> 

То, что я хочу это: ячейка «а» должен выглядеть 3 клетки шириной, клетка «б» должен выглядеть 2 клетки шириной, ячейка «с» должен выглядеть 1 cell широкий.

Что она делает это: ячейка 'а' является 2 клетки шириной, ячейка 'B' & 'с' широкий 1 клетка.

Любые предложения спасибо.

+0

Это хорошо только вы не можете увидеть 3 ячейки причина у вас есть максимум 2 ячейки ... https: //jsfiddle.net/za3uybnr/2/ – Alexis

+0

- это все a, b, c в одной строке? – affaz

+0

No @affaz, a находится в первом ряду, b & c - во втором ряду. –

ответ

2

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

См. Решение для вашего ожидания в последнем примере фрагмента кода.

<h3>Example 1</h3> 
 

 
<table border="1"> 
 
    <tr><td>col1</td><td>col2</td><td>col3</td></tr> 
 
    <tr><td colspan="3">a</td></tr> 
 
    <tr><td colspan="2">b</td><td colspan="1">c</td></tr> 
 
</table> 
 

 
<h3>Example 2</h3> 
 

 
<table border="1"> 
 
    <tr><td width="80px">wide col1</td><td>col2</td><td>col3</td></tr> 
 
    <tr><td colspan="3">span 3</td></tr> 
 
    <tr><td colspan="2">span 2</td><td colspan="1">span 1</td></tr> 
 
</table> 
 

 
<h3>Your case</h3> 
 

 
<table border="1"> 
 
    <tr><td colspan="3">span 3</td></tr> 
 
    <tr><td colspan="2" width="66%">span 2</td><td width="33%">span 1</td></tr> 
 
</table>

+0

спасибо за ответ, я вижу ваш ответ и примеры, но во-первых, я не могу использовать пример 1 & 2 и Я не упоминал об этом, я создаю эти таблицы динамически, хотя, и есть много ячеек с b & c, поэтому расчетная ширина может быть затруднена. НО Я не думаю, что есть какое-то другое решение. Должен ли я продолжать и рассчитать ширину для каждой ячейки в соответствии с ее colspan? что ты предлагаешь? –

0

<table border="1"> 
 
    <tr> 
 
     <td colspan="3" width="200px">a</td> 
 
    </tr> 
 
    <tr> 
 
     <td colspan="2" width="100px">b</td> 
 
     <td width="100px">c</td> 
 
    </tr> 
 
</table>

+0

укажите Td ширина тоже –

+0

любой другой подход? ширина установки для стольких ячеек может быть утомительной, и ДАЖЕ не реагирует. У меня есть большие столы, различающиеся между колоннами и рядами. –

+0

да вы можете использовать общий css для таблицы, который отправит css .. –

Смежные вопросы