网页表格如何自适应
随着手机这类小屏幕大行其道,网页设计里面开始流行自适应布局(Responsive Layout)。
所谓的自适应,说白了就是网页在小屏幕上美观地展示。绝大部分的网页元素都能找到对应的自适应表达方式,唯独表格有些难实现。
今天说的就是如何解决 table 元素的自适应性。
我们借助css的伪元素:before来实现的。大家看看代码就懂了。
如果每个 table 都这样子写,会累死的,所以我写了一段JS,用来自己生成 data-label 这个属性。
/**
* 为所有的table.table的tbody>tr>td添加data-label属性,该属性的数值来自对应的thead>th。
* mobile.less里面的表格自适应,可以做出自适应表格的效果
*/
$(function(){
$('table.table').each(function(){
var self = $(this);
if(self.find('thead').length > 0 && self.find('tbody').length > 0){
var th = [];
self.find('thead th').each(function(){
th.push($(this).text());
});
self.find('tbody tr').each(function(){
var $tr = $(this);
var $td = $tr.find('>td');
for(var i=0; i < $td.length; i++){
$($td[i]).attr('data-label', th[i]);
}
});
}
});
});