2014-02-14 2 views
9

Есть ли способ разбить строку таблицы на две строки вместо использования вложенных таблиц?Разделить таблицу строк на две строки

Это то, что я хочу:
my table

td #4 должен имеет полную ширину, и я не знаю, есть ли CSS трюк или что-нибудь, чтобы сделать это или нет.

ПРИМЕЧАНИЕ: Я не хочу использовать другой <tr> с colspan. Я хочу, чтобы он находился внутри той же строки в пределах другой <td> s, потому что я использую полосатый стол, http://www.getuikit.com/docs/table.html.

+0

ли 'colspan' не будет работать для вас? Так что td # 4 имеет 'colspan = 3' – RemarkLima

+0

Я хочу' td # 4' внутри строки в других 'tds'. – Maysam

+0

Это будет выглядеть так, если вы используете css для управления высотами ... – RemarkLima

ответ

4

Как вы обновили свой вопрос, еще один способ, которым Вы можете сделать, это использовать вложенные div элементы с display: table-cell; свойствами

.top_row { 
    display: table; 
    width: 100%; 
} 

.top_row > div { 
    display: table-cell; 
    width: 50%; 
    border-bottom: 1px solid #eee; 
} 

Demo

Примечание: Да, вы можете float в div, а также , который я предпочту более здесь, с самоочищением class, но я использовал display: table-cell;, поэтому он сохранит такие свойства, как vertical-align: middle;, который может понадобиться, как вы используете table


Почему бы не использовать colspan для этого?

Demo

<table border="1" width="100%"> 
    <tr> 
     <td>Hello</td> 
     <td>World</td> 
    </tr> 
    <tr> 
     <td colspan="2">Merged</td> 
    </tr> 
</table> 

Примечание: Я использую border и width атрибуты здесь только для демонстрационных целей, рассмотреть вопрос об объявлении class и стиль его с помощью CSS

+0

Поскольку я использую полосатый стол http://www.getuikit.com/docs/table.html, эта работа не будет работать. – Maysam

+0

@Maysam Это похоже на то, чтобы вытащить новое условие каждый раз, когда пользователь обновляет свой ответ, можете ли вы указать все дела и не в своем вопросе? было бы очень полезно выяснить, что вам действительно нужно, также, я думаю, вы не читали мой обновленный ответ –

+0

Извините, но я четко объяснил вопрос. Я хочу, чтобы все они были в одной строке. – Maysam

0

Или вы можете использовать JQuery сделать все это. Смотрите скрипку демо here

HTML код здесь:

<table> 
    <tr id="row1"> 
     <td>a 
     </td> 
     <td>b 
     </td> 
     <td>c 
     </td> 
    </tr> 
    <tr id="row2"> 
     <td>a2 
     </td> 
     <td>b2 
     </td> 
     <td>c2 
     </td> 
    </tr> 
</table> 
<button id="b1">click here</button> 

И обработчик JQuery как:

$(document).ready(function(){ 
    $('#b1').on('click',function(){ 
     var v=$('</tr><tr id="row11" colspan=3><td>text</td>'); 
     $('#row1').after(v);}); 
    }); 
+0

Это не работает: только что добавленная строка не принимает целых три столбца, просто расширяет столбец 1. –

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