2012-11-29 2 views
2

Я использую «colspan» в одном из тегов td в своем HTML. Я не хочу использовать «colspan» в своем HTML. Но все же мне нужно достичь функции, которая была достигнута «colspan». Есть ли способ достичь этого?HTML5 Colspan - альтернативный

+1

Любые причины не использовать способ по умолчанию для достижения результата? – Sirko

+1

Не используйте таблицы. Вместо этого используйте плавающие divs в сетке. – jtheman

+0

@Sirko, потому что html будет отправлен на задний конец для некоторой обработки, которая не принимает colspan. Поэтому, чтобы избежать этого, нам нужно найти альтернативу. – AJJ

ответ

1

Эффект colspan может быть смоделирован с использованием таблицы фиктивными пустыми ячейками <td></td> для слотов, которые должны быть натянуто и абсолютно позиционированиями ячейки, которая должна охватить их. Вам нужен относительно позиционируемых обертку div для таблицы, так как вы не можете напрямую сделать таблицу в систему отсчета для позиционирования.

Это становится довольно уродливым, тем более что вам нужно беспокоиться о высоте строки - потому что создание ячейки абсолютно позиционируется, отнимает ее от форматирования таблицы. Вы можете справиться с этим, используя копию содержимого ячейки в качестве содержимого фиктивной ячейки, которая должна быть натянута. См. jsfiddle.

Это становится сложнее, так что любое программное обеспечение, которое не может справиться с простой colspan может не справиться с этим тоже (по крайней мере, если она отвечает за рендеринга документа).

+0

пустые ячейки не эмулируют colspan ... они просто добавляют кучу столбцов. colspan охватывает несколько столбцов в один столбец – Haldrich98

0
$(document).on('click', 'input#submitHtml', function(){ 
    $('htmlToSend').find('tr').removeAttr('colspan'); 
    // Submit the form. 
}); 
0

Вы можете использовать сетку, подобную структуре, используя divs.

<div> 
    <div class='headerrow'> 

    </div> 
    <div class='bodyrow'> 
     <div class='bodycell'> 

     </div> 
     <div class='bodycell'> 

     </div> 
    </div> 
</div> 
Смежные вопросы