css-控制Table(实践)

博客通过多个实例介绍了用CSS美化表格边框的方法,包括1px表格、粗边框表格、虚线框表格等多种样式,还涉及综合使用不同边框样式及利用背景做边框等技巧,最后提供实例代码方便学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

demodemodemo
demodemodemo
demodemodemo
<style>  
.v  {border-collapse:  collapse}  
.v  td{border:1px  dashed  #000;width:100;height:25}  
</style>  
<table  class="v">  
<tr>  
<td>demo</td><td>demo</td><td>demo</td>  
</tr>  
<tr>  
<td>demo</td><td>demo</td><td>demo</td>  
</tr>  
<tr>  
<td>demo</td><td>demo</td><td>demo</td>  
</tr>  
</table>  
 
 
附:表格边线的样式  
border-style:  <值>  
  none:无样式;  
  dotted:点线;  
  dashed:虚线;  
  solid:实线;  
  double:双线;  
  groove:槽线;  
  ridge:脊线;  
  inset:内凹;  
  outset:外凸。 
前面我们在 《有关表格边框的css语法整理》中了解了有关表格的一些CSS语法,现在我们来看看怎样巧妙运用这些语法美化表格。
  注:除非特殊声明,本文所举各例插入的表格的cellspacing、cellpadding、border值均为0。

  例一:1px表格

   
   
   

  
  很多人热衷于制作1px表格,于是发明了各式各样的方法,用css做起来可就灵活的多。如果要制作一个1x1的1px表格只要简单定义一下边框值就可以了。我们首先用Dreamweaver插入一个1x1表格,宽度为50,然后在该表格table或者td中定义border:1 solid teal,所做的表格的效果如下:

 

  但是要制作一个非1x1的表格(如2x2)就稍微麻烦些,因为如果直接定义td样式border:1 solid teal ,则显示的效果如下:
  
  

  你会发现表格外框为1px,而里面则变成了2px了,这是由于叠加的原因。为了解决这么问题我们可以这样做:
  首先为td定义样式: border:#cc0000 solid;border-width:0 1 1 0,这样表格表现为:

  
  

  然后再为table定义样式: border:#cc0000 solid;border-width:1 0 0 1,这样就可做作成一个完整的1px表格了。
  
  

  例二:粗边框的1px表格

   
   
   

  此表格的内格线为1px而外边框为3px,有了例一的基础做起来就不难了,只要修改border-width值就行了。
  对table所使用的样式的代码是: border:blue solid;border-width:3 2 2 3
  对td所使用的样式的代码是: border:blue solid;border-width:0 1 1 0

  例三:虚线框表格

   
   
   

  做法和例一类似,border-style从solid改为dashed。
  对table所使用的样式的代码是 : border:black dashed;border-width:1 0 0 1
  对td所使用的样式的代码是: border:black dashed;border-width:0 1 1 0

  例四:点线边框表格

   
   
   


  注意点线(dotted)的最小象素为2。
  对table所使用的样式的代码是 : border:green dotted ;border-width:2 0 0 2
  对td所使用的样式的代码是 : border:green dotted;border-width:0 2 2 0

  例五:双线边框表格

   
   
   

  注意双线(double)的最小象素为3。
  对table所使用的样式的代码是 : border:teal 4 double
  对td所使用的样式的代码是 : border:teal 1 solid

  例六:outset外框表格

   
   
   

  对table所使用的样式的代码是 : border: 3 outset
  对td所使用的样式的代码是 : border: 1 solid

  例七:inset外框表格

   
   
   

  对table所使用的样式的代码是 : border: 3 inset
  对td所使用的样式的代码是 : border: 1 solid

  例八:ridge外框表格

   
   
   

  
  对table所使用的样式的代码是 :border:#ee0000 3 ridge
  对td所使用的样式的代码是 :border: 1 solid

例九综合使用一

   
   
   

  
  这个表格的外框采用的是脊线,内单元格边框是槽线,注意表格插入时cellspacing设为1了。

  对table所使用的样式的代码是 :border:skyblue 4 ridge
  对td所使用的样式的代码是 :border: navy 1 groove

  例十:综合使用二

   
   
   

  
  别以为这是九个表格,其实他们是一个表格中的九个单元格,由于表格外边框为0,所以你看不到罢了。
  只需对td使用样式:border:maroon 3 double,另外别忘了把表格的cellspacing设为1哦。

  例十一:综合使用三

   
   
   

  
  此表格的上下左右边框采用了不同的样式,你可以根据喜好自行更改。
对table所使用的样式的代码是 :border:purple 4 ;border-style:dashed double
对td所使用的样式的代码是 :border:1 solid

  例十二:综合使用四

   
   
   

  
  这是一个双线边框的1px表格,和例五比较起来要显得精巧,具体做法是这样的:
  1.先做一个1x1的1px表格,并将cellspacing设为1;
  2.再做一个3x3的1px表格,将width和height均设为100%;
  3.将后做的表格插入先前做的表格中即可。

  例十三:背景边框一

   
   
   

  
  利用改变cellspacing的值可以把背景做成边框,上面的表格的制作方法是:
  1.首先做一个1x1的表格,并设置好背景,将cellspace的值设为3;

  2.再做一个3x3的1px表格,width和height均设为100%;
  3.将后做的表格插入先前做的表格中即可。
  如果你采用一幅会变色的gif动画,那么表格的边框就会自动连续改变颜色。

  例十四:背景边框二

   
   
   

  这个表格的制作方法和前面一个类似,你肯定能研究出来!

  例十五:3D边框表格

 
 
 
 
 
 
 
 
 

  
  这是一个具有3D边框效果的表格,做起来有点窍门。
  我们先来学做1x1的:
  第一步:
  建立两个样式如下:
.out{border-width:1px;border-style:solid;border-color:#dddddd #777777 #777777 #dddddd}
.in{border-width:1px;border-style:solid;border-color:#777777 #dddddd #dddddd #777777;background:#ffcccc}
  第二步:
  建立一个1x1的表格,高和宽均为100,cellspacing设为1,如下所示:

 

  第三步:
  对整个表格(即table标签)采用out样式,而单元格(即td标签)采用in样式。现在存盘看看效果吧,是不是和下面的一样?
 

  
  学会了1x1的3D边框的表格的制作,要做出本例的效果就不难了,读者不妨自己摸索一下。

小结

  前面我们通过举例讲述了一些用css美化表格边框的方法,您可以尝试不同的组合,从而做出更漂亮的表格!为了方便你学习,这里为你提供了实例下载以及各种效果表格的全部代码,您可以将代码复制到写字板生成一个txt文件,然后将其扩展名改为htm,这样就可以用ie直接打开了。

  代码如下:

<html>
<head>
<title>用css美化表格边框</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
.table1{border:#000000 dashed;border-width:1 0 0 1}
.td1{border:#000000 dashed;border-width:0 1 1 0}
.table2{border:#cc0000 solid;border-width:1 0 0 1;background:#ffffff}
.td2{border:#cc0000 solid;border-width:0 1 1 0}
.table3{border:green dotted;border-width:2 0 0 2}
.td3{border:green dotted;border-width:0 2 2 0}
.table4{border:blue solid;border-width:2 1 1 2}
.td4{border:blue solid;border-width:0 1 1 0}
.table5{border:teal 4 double}
.td5{border:teal 1 solid }
.table6{border:3 outset}
.td6{border: 1 solid}
.table7{border:3 inset}
.td7{border:1 solid}
.table8{border:#ee0000 3 ridge}
.td8{border:1 solid}
.table9{border: 4 skyblue ridge}
.td9{border:1 navy groove ;background:#ffffff}
.td10{border:maroon 3 double}
.table11{border:purple 4 ;border-style:dashed double}
.td11{border:1 solid}
.out{border-width:1;border-style:solid;border-color:#cccccc #333333 #333333 #cccccc}
.in{border-width:1;border-style:solid;border-color:#333333 #cccccc #cccccc #333333;background:#ffcccc}
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div align="center">
<table width="500" cellspacing="0" cellpadding="0" border="0" class="table1">
<tr >
<td class=td1>&nbsp;</td>
<td class="td1">&nbsp;</td>
<td class="td1">&nbsp;</td>
</tr>
<tr>
<td class="td1">&nbsp;</td>
<td class="td1">&nbsp;</td>
<td class="td1">&nbsp;</td>
</tr>
<tr>
<td class="td1">&nbsp;</td>
<td class="td1">&nbsp;</td>
<td class="td1">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" cellspacing="0" cellpadding="0" border="0" class="table2">
<tr >
<td class="td2"s>&nbsp;</td>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" cellspacing="0" cellpadding="0" border="0" class="table3">
<tr >
<td class="td3"s>&nbsp;</td>
<td class="td3">&nbsp;</td>
<td class="td3">&nbsp;</td>
</tr>
<tr>
<td class="td3">&nbsp;</td>
<td class="td3">&nbsp;</td>
<td class="td3">&nbsp;</td>
</tr>
<tr>
<td class="td3">&nbsp;</td>
<td class="td3">&nbsp;</td>
<td class="td3">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" cellspacing="0" cellpadding="0" border="0" class="table4">
<tr >
<td class="td4">&nbsp;</td>
<td class="td4">&nbsp;</td>
<td class="td4">&nbsp;</td>
</tr>
<tr>
<td class="td4">&nbsp;</td>
<td class="td4">&nbsp;</td>
<td class="td4">&nbsp;</td>
</tr>
<tr>
<td class="td4">&nbsp;</td>
<td class="td4">&nbsp;</td>
<td class="td4">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" cellspacing="0" cellpadding="0" border="0" class="table5">
<tr >
<td class="td5">&nbsp;</td>
<td class="td5">&nbsp;</td>
<td class="td5">&nbsp;</td>
</tr>
<tr>
<td class="td5">&nbsp;</td>
<td class="td5">&nbsp;</td>
<td class="td5">&nbsp;</td>
</tr>
<tr>
<td class="td5">&nbsp;</td>
<td class="td5">&nbsp;</td>
<td class="td5">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" cellspacing="0" cellpadding="0" border="0" class="table6">
<tr >
<td class="td6">&nbsp;</td>
<td class="td6">&nbsp;</td>
<td class="td6">&nbsp;</td>
</tr>
<tr>
<td class="td6">&nbsp;</td>
<td class="td6">&nbsp;</td>
<td class="td6">&nbsp;</td>
</tr>
<tr>
<td class="td6">&nbsp;</td>
<td class="td6">&nbsp;</td>
<td class="td6">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" cellspacing="0" cellpadding="0" border="0" class="table7">
<tr >
<td class="td7">&nbsp;</td>
<td class="td7">&nbsp;</td>
<td class="td7">&nbsp;</td>
</tr>
<tr>
<td class="td7">&nbsp;</td>
<td class="td7">&nbsp;</td>
<td class="td7">&nbsp;</td>
</tr>
<tr>
<td class="td7">&nbsp;</td>
<td class="td7">&nbsp;</td>
<td class="td7">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" cellspacing="0" cellpadding="0" border="0" class="table8">
<tr >
<td class="td8">&nbsp;</td>
<td class="td8">&nbsp;</td>
<td class="td8">&nbsp;</td>
</tr>
<tr>
<td class="td8">&nbsp;</td>
<td class="td8">&nbsp;</td>
<td class="td8">&nbsp;</td>
</tr>
<tr>
<td class="td8">&nbsp;</td>
<td class="td8">&nbsp;</td>
<td class="td8">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" cellspacing="1" cellpadding="0" border="0" class="table9">
<tr >
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
</tr>
<tr>
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
</tr>
<tr>
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" cellspacing="2" cellpadding="0" border="0">
<tr >
<td class="td10">&nbsp;</td>
<td class="td10">&nbsp;</td>
<td class="td10">&nbsp;</td>
</tr>
<tr>
<td class="td10">&nbsp;</td>
<td class="td10">&nbsp;</td>
<td class="td10">&nbsp;</td>
</tr>
<tr>
<td class="td10">&nbsp;</td>
<td class="td10">&nbsp;</td>
<td class="td10">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" cellspacing="0" cellpadding="0" border="0" class="table11">
<tr >
<td class="td11">&nbsp;</td>
<td class="td11">&nbsp;</td>
<td class="td11">&nbsp;</td>
</tr>
<tr>
<td class="td11">&nbsp;</td>
<td class="td11">&nbsp;</td>
<td class="td11">&nbsp;</td>
</tr>
<tr>
<td class="td11">&nbsp;</td>
<td class="td11">&nbsp;</td>
<td class="td11">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" border="0" cellspacing="1" cellpadding="0" style="border:#cc0000 1 solid" >
<tr>
<td>
<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0" class="table2">
<tr >
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" border="0" cellspacing="3" cellpadding="0" style="border:#cc0000 1 solid" background="back.jpg">
<tr>
<td>
<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0" class="table2" >
<tr >
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
</tr>
<tr>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
<td class="td2">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" cellspacing="2" cellpadding="0" border="0" style="border:1 navy solid" background="back.jpg">
<tr >
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
</tr>
<tr>
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
</tr>
<tr>
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
<td class="td9">&nbsp;</td>
</tr>
</table>
<p>&nbsp;</p>
<table width="500" border="0" cellspacing="3" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0" height="100%" class="out">
<tr>
<td class="in">&nbsp;</td>
</tr>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0" height="100%" class="out">
<tr>
<td class="in">&nbsp;</td>
</tr>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0" height="100%" class="out">
<tr>
<td class="in">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0" height="100%" class="out">
<tr>
<td class="in">&nbsp;</td>
</tr>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0" height="100%" class="out">
<tr>
<td class="in">&nbsp;</td>
</tr>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0" height="100%" class="out">
<tr>
<td class="in">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0" height="100%" class="out">
<tr>
<td class="in">&nbsp;</td>
</tr>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0" height="100%" class="out">
<tr>
<td class="in">&nbsp;</td>
</tr>
</table>
</td>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0" height="100%" class="out">
<tr>
<td class="in">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>


 

<think>好的,我现在需要回答用户关于CSS自定义属性--table-header-height的问题。首先,我得确认这个属性的基本含义,它是一个由开发者自定义的CSS变量,用于定义表格头部的高度。用户可能想知道如何声明和使用这个变量,以及它的实际应用场景。接下来,我需要考虑如何结构化回答。可能需要分步骤说明,从声明变量开始,到在表格头部应用,再到响应式设计的例子。同时,要确保使用正确的中文术语,并遵循用户提到的格式要求,比如行内数学表达式用$...$,独立公式用$$...$$,但这里可能不太涉及数学公式,所以重点放在代码块和结构上。 然后,用户要求生成相关问题,我需要想出三个相关的问题,可能涉及最佳实践、与其他单位的比较,以及动态调整的方法。这些问题需要自然且有助于用户进一步学习。还要注意引用标识,但根据示例,引用可能来自用户提供的参考,但用户指出引用可能不准确,所以需要谨慎处理。可能不需要实际引用,但需要在适当位置添加[^1]之类的标记,但根据示例,引用可能只是示例,所以可以忽略,除非有实际引用内容。 需要检查LaTeX语法是否正确,但问题主要涉及CSS,可能不涉及太多数学表达式,但如果有涉及计算的地方,比如calc函数,可能需要用$包裹,例如$calc(var(--table-header-height) *1.2)$,不过根据示例,用户可能希望代码部分用反引号包裹,而数学表达式用$,所以需要区分开。 最后,确保回答结构清晰,分步骤说明,代码示例正确,并附上相关问题。同时,使用中文回答,避免术语错误。可能需要举例说明如何在不同场景下使用这个自定义属性,比如响应式设计或主题切换,以增强实用性。</think>### CSS自定义属性`--table-header-height`详解 `--table-header-height`是开发者自定义的CSS变量,用于统一管理表格头部高度值,提升代码可维护性。其核心功能是通过变量复用实现样式统一控制。 #### 1. 变量声明 在CSS作用域中定义变量值: ```css :root { --table-header-height: 50px; /* 默认高度 */ } ``` #### 2. 应用表格头部 在表格样式规则中调用变量: ```css .table-header { height: var(--table-header-height); background: #f5f5f5; position: sticky; top: 0; } ``` #### 3. 响应式适配 结合媒体查询动态调整: ```css @media (max-width: 768px) { :root { --table-header-height: 40px; /* 移动端适配 */ } } ``` #### 4. 动态计算 配合`calc()`函数实现复杂计算: ```css .table-row { margin-top: calc(var(--table-header-height) * 0.2); } ``` ### 技术优势 - **一致性**:全站表格头部高度统一 - **可维护性**:修改变量值即可全局生效 - **扩展性**:支持响应式设计和主题切换 - **兼容性**:现代浏览器均支持CSS变量[^1] ```html <!-- 示例HTML结构 --> <table> <thead class="table-header"> <tr>...</tr> </thead> <tbody>...</tbody> </table> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值