表格表头绘制对角线(不固定表格宽高)

一般我们的html表格表头需要绘制对角线展示横向、纵向表头的类型,普通的实现方法就是使用css绘制两个三角形,但是是在已知宽高的情况下,如果站在基础研发的角度肯定是不行的,那么我就临时抱佛脚看了一下用svg绘制一条线,并使用这个svg文件作为我的这个表格表头的背景图,没想到效果还是不错的。

下面贴出来html代码

 1 <%@ page language="java" contentType="text/html; charset=utf-8"
 2     pageEncoding="utf-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 7 <title>表格表头 对角线</title>
 8 <style type="text/css">
 9     body {TEXT-ALIGN: center;}
10     table th {
11         background-color: #2393df;
12         border: 1px solid #dddddd;
13         max-width: 150px;
14         min-width: 150px;
15     }
16     table thead tr:FIRST-CHILD th:FIRST-CHILD {
17         background-image: url(line.svg);
18     }
19 </style>
20 </head>
21 <body>
22     <table>
23         <thead>
24             <tr>
25             <th rowspan="2" style="position: relative;">
26                 <div class="clearfix" style="positin:absolute;top:5px;right:5px;"><font style="float:right;">横向表头</font></div>
27                 <br>
28                 <div style="positin:absolute;bottom:10px;left:10px;"><font style="float:left">纵向表头</font></div>
29             </th>
30             <th colspan="2">纵向表头1</th><th rowspan="2">纵向表头3</th></tr>
31             <tr><th>纵向表头1.1</th><th>纵向表头1.2</th></tr>
32         </thead>
33         <tbody>
34             <tr><th>横向表头1</th><td>1</td><td>2</td><td>3</td></tr>
35             <tr><th>横向表头2</th><td>1</td><td>2</td><td>3</td></tr>
36             <tr><th>横向表头3</th><td>1</td><td>2</td><td>3</td></tr>
37             <tr><th>横向表头4</th><td>1</td><td>2</td><td>3</td></tr>
38             <tr><th>横向表头5</th><td>1</td><td>2</td><td>3</td></tr>
39             <tr><th>横向表头6</th><td>1</td><td>2</td><td>3</td></tr>
40             <tr><th>横向表头7</th><td>1</td><td>2</td><td>3</td></tr>
41         </tbody>
42     </table>
43 </body>
44 </html>

svg文件的代码:

1 <?xml version="1.0" standalone="no"?>
2 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
3 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4 <svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"><line x1="0" y1="0" x2="100%" y2="100%" stroke="white" stroke-width="1"/></svg>

最终的效果:

表头的html代码中有一个定位,这是为了在我表头分级的情况下能更好的表达,上级和下级类别不一样!

原文地址:https://www.cnblogs.com/sun-space/p/5889314.html