✅ 操作成功!

thead标签

发布时间:2023-06-11 作者:admin 来源:文学

thead标签

thead标签

-

2023年3月5日发(作者:寄语市长)

table的td、th的⼀些样式问题(宽度,边框,滚动条,多⾏多列

的表头thead固定)

1.给table加边框

table{

border-collapse:collapse;

/*表格的边框合并为⼀个单⼀的边框*/

}

table,tabletrth,tabletrtd{

border:1pxsolid#ccc;

}

还有种傻傻的⽅法:

table{

border-top:1pxsolid#ccc;

border-left:1pxsolid#ccc;

}

tabletrtd,tabletrth{

border-right:1pxsolid#ccc;

border-bottom:1pxsolid#ccc;

}

2.给table的th固定宽度

①设置table的宽度

②table设置table-layout:fixed;

③设置th宽度

3.给table加滚动条

在table外包⼀层div,div设置overflow属性

div{

overflow-x:scroll;

}

4.给td加滚动条

在td⾥加⼀层div,div宽度100%,且设置overflow属性

⾥嵌套table,且table有滚动条

①最外层的table加上宽度、table-layout:fixed;word-break:break-all;(防⽌内层的table内容过长,将外层td撑开)

②在td和第⼆层table之间,加⼀层div;div设置overflow属性,再给内层table的th设置宽度就⾏了,

6.隐藏滚动条

.classname::-webkit-scrollbar{

display:none;

}

7.如下图,th在左侧,右侧td,第⼀⾏的td设置了colspan=“8”,使⽤了colspan后,设置列宽(th/td的宽度)不⽣效:

解决办法:添加colgroup属性,col设置列的宽度。(若td设置了colspan,且colgroup设置了col的宽度,但ie下宽度仍不⽣效,记得:table加

上样式table-layout:fixed;)

8.设置td的内容超出部分以省略号显⽰(title属性展⽰完整数据)

tabletrtd{

overflow:hidden;

text-overflow:ellipsis;

white-space:nowrap;

}

(若不⽣效,给table设置宽度和table-layout:fixed;)

超出两⾏,再以省略号显⽰(不兼容ie):

tabletabletd{

overflow:hidden;

text-overflow:ellipsis;

display:-webkit-box;

-webkit-line-clamp:2;

-webkit-box-orient:vertical;

word-wrap:break-word;

word-break:break-all;

}

9.兼容问题:ie9下,表格出现空格以及错位。

如图:第⼀⾏的操作⼈右移了,出现了空格。

解决办法:⽹上查,这是ie9的⼀个bug,与间有空⾏时会发⽣错位。所以,去除掉td标签内的空格。

之间出现空⽩⾏

如图:我在⽤字符串拼接,⽣成表结构的时候,发现渲染出的表结构tr之间有空⾏

varhtml='名称内容名称内容';

$('tbody').append(html);

检查发现:坑啊,结束标志写错了,写错成了,记录下来,不知道有没有⼈和我⼀起犯蠢。

在ie浏览器⾥没有边框,⾕歌浏览器正常

检查发现,td设置了相对定位position:relative,在ie下有兼容问题,

解决:设置background-clip属性(规定背景的绘制区域)----->

tabletrtd{

padding:0px;

height:40px;

position:relative;

background-clip:padding-box;

}

12.多⾏多列的表头thead固定

效果图:

多⾏多列的表头固定

#app{

max-width:400px;

margin:20pxauto;

overflow:hidden;

}

.head-list{

overflow:hidden;/*隐藏thead多余内容和滚动条*/

}

.body-list{

overflow:auto;

max-height:100px;

min-height:0%;/*设置了overflow:auto,在ie9可能会有兼容问题:在td⾥的input输⼊内容时,div的⾼度会增⼤*/

}

.head-listtable{

border-bottom:0none;

}

table{

border:1pxsolid#e7e7e7;

border-collapse:collapse;

table-layout:fixed;

font-size:12px;

color:#666;

width:700px;

}

theadtr{

background-color:#f2f2f2;

height:45px;

}

Trth{

width:100px;/*7*100⼤于总宽度400*/

border-bottom:0none;

}

th,td{

border:1pxsolid#e7e7e7;

text-align:center;

box-sizing:border-box;

}

tabletbodytrtd{

width:100px;

padding:15px0px;

}

⽔果

⼈名

玩具

苹果

⾹蕉

Jay

Lucy

Nick

⼩汽车

娃娃

2个2个2个2个2个2个2个
3个3个3个3个3个3个3个
4个4个4个4个4个4个4个
5个5个5个5个5个5个5个

图1:

图2:

👁️ 阅读量:0