[IE兼容性] Table 之边框

2 篇文章 0 订阅

前言

table 是HTML  中常用的标签。

定义一个简单的表格

<!--Add by oscar999-->  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<HTML>  
<HEAD>  
<TITLE> New Document </TITLE>  
<META NAME="Author" CONTENT="oscar999">  
<script>  
</script>  
<style>  
  
</style>  
</HEAD>  
  
<BODY>  
<table>  
  <tr>  
    <td>1</td>  
    <td>2</td>  
    <td>3</td>  
  </tr>  
  <tr>  
    <td>4</td>  
    <td>5</td>  
    <td>6</td>  
  </tr>  
  <tr>  
    <td>7</td>  
    <td>8</td>  
    <td>9</td>  
  </tr>  
</table>  
  
</BODY>  
</HTML>  

以上的效果是不会出现边框的。


给表格添加边框

1. 方式一: 定义table 的border 属性

<table border=1>  

效果是会出现双边框的效果。

2. 方式二: 使用CSS 定义

边框的定义样式可以定义的值有:

border-width规定边框的宽度。参阅:border-width 中可能的值。
border-style规定边框的样式。参阅:border-style 中可能的值。
border-color规定边框的颜色。参阅:border-color 中可能的值。
<!--Add by oscar999-->  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
<HTML>  
<HEAD>  
<TITLE> New Document </TITLE>  
<META NAME="Author" CONTENT="oscar999">  
<script>  
</script>  
<style>  
table{  
    border: 1px solid blue;  
}  
</style>  
</HEAD>  
  
<BODY>  
<table>  
  <tr>  
    <td>1</td>  
    <td>2</td>  
    <td>3</td>  
  </tr>  
  <tr>  
    <td>4</td>  
    <td>5</td>  
    <td>6</td>  
  </tr>  
  <tr>  
    <td>7</td>  
    <td>8</td>  
    <td>9</td>  
  </tr>  
</table>  
  
</BODY>  
</HTML>  
效果如下:

仅仅是最外层有边框, 内边框没有。

如果要加上内边框的话, 样式的定义:

<style>  
table,td{  
    border: 1px solid blue;  
}  
</style>  

合并边框

上面表格具有双线条边框。这是由于 table、 td 元素都有独立的边框。
如果需要把表格显示为单线条边框,使用 border-collapse 属性, 定义如下

<style>  
table{  
     border-collapse:collapse;  
}  
table,td{    
    border: 1px solid blue;  
}  
</style>  

IE8 以下出现td无内容 就无边框的问题

看上去很简单, 也很圆满。

但是在IE 8 以下的浏览器中会出现边框丢失的状况。

发生的状况是td 的值为空

以上的CSS 如下方式定义:

table{  
    border:green dotted;  
    border-width: 2 0  0 2;   
}  
td{  
    border:green dotted;  
    border-width: 0 2 2 0;  
}  
Chrome 的效果


但是在IE的效果


解决方法有两种:

1. 空的td 加上  &nbsp;

2. 使用上面介绍的 border-collapse:collapse; 就可以了。

HTML_TABLE内外边框颜色设置及页面居中

<table width="100%"  cellpadding="0" cellspacing="0" bgcolor="#a1a1a1" id="table2">---此处设置外边框颜色
<tr >
<td bgcolor="#ffffff" colspan="6" height="25" align=center><font color=#ea5e01 size=3><strong>房屋基本信息</strong></font></td>
</tr>          
<tr>
<td bgcolor="#E6E6FA" height="25" width="13%" align=center>房屋狀態</td>
<td bgcolor="#ffffff" width="20%" valign=center  >---此处设置单元格边框颜色
$TYPE$</td>
<td bgcolor="#E6E6FA" width="13%" align=center >房屋類別</td>此处设置单元下边框颜色
<td bgcolor="#ffffff" width="20%" valign=center >$FWLB$</td>
<td bgcolor="#E6E6FA" width="13%" align=center>所在地區</td>
<td bgcolor="#ffffff" width="20%" valign=center >$XS$</td>
</tr></table>

<table width="100%"  cellpadding="0" cellspacing="0" bgcolor="#a1a1a1" id="table2">---此处设置外边框颜色

<tr >
<td bgcolor="#ffffff" colspan="6" height="25" align=center><font color=#ea5e01 size=3><strong>房屋基本信息</strong></font></td>
</tr>          
<tr>
<td bgcolor="#E6E6FA" height="25" width="13%" align=center>房屋狀態</td>
<td bgcolor="#ffffff" width="20%" valign=center  >---此处设置单元格边框颜色
$TYPE$</td>
<td bgcolor="#E6E6FA" width="13%" align=center >房屋類別</td>此处设置单元下边框颜色
<td bgcolor="#ffffff" width="20%" valign=center >$FWLB$</td>
<td bgcolor="#E6E6FA" width="13%" align=center>所在地區</td>
<td bgcolor="#ffffff" width="20%" valign=center >$XS$</td>
</tr></table>


bordercolor="#254389"----设置所有边框颜色

style= "border:1px solid #000000;border-right- color :#FF0000;"
整体加边框: border:1px solid #000000;   1PX为边框大小,#000000为颜色! 
只给某一边加边框: 右边框 border-right- color :#FF0000; 
左边框 border-left- color :#FF0000; 
上边框 border-top- color :#FF0000; 

下边框 border-bottom-color:#FF0000; 

HTML:table表格画线控制

一、表格中单元格之间分隔线的隐藏方法
这个表格去掉了单元格之间的纵向分隔线

这个表格去掉了单元格之间的横向分隔线
  线
  线
这个表格去掉了单元格之间的纵向分隔线和横向分隔线

其实上面的三个表格都有三行三列,隐藏分隔线的诀窍在于rules,察看这三个表格的源代码,我们可以看到<TABLE>标签中都有 rules。 它有三个参数(cols,rows,none),当rules=cols时,表格会隐藏纵向的分隔线,这样我们就只能看到表格的行;当rules= rows时,则 隐藏了横向的分隔线,这样我们只能看到表格的列;而当rules=none时,纵向分隔线和横向分隔线将全部隐藏。



二、表格边框的隐藏
这是一普通的表格

不怕 下雨
   
只显示上边框
 
下起雨来 该怎么办
只显示下边框

上不着天  
  下不着地
只显示左、右边框
两边走开
老子姓王  
只显示上、下边框

左右  
为难  
只显示左边框
左右
  为难
只显示右边框

光秃秃  
  全脱了
不显示任何边框

表格边框的显示与隐藏,是可以用frame参数来控制的。请注意它只控制表格的边框图,而不影晌单元格。
只显示上边框 <table frame=above>
只显示下边框 <table frame=below> 
只显示左、右边框 <table frame=vsides>
只显示上、下边框 <table frame=hsides>
只显示左边框 <table frame=lhs>
只显示右边框 <table frame=rhs>
不显示任何边框 <table frame=void>

 

三、表格边框
这是一普通的表格
<table border="1" width="200" cellpadding="0" cellspacing="0"> <tr align="center">   <td>普</td> <td>表</td> </tr> <tr align="center">   <td>通</td> <td>格</td> </tr> </table>  
线
表格加上了漂亮的细线
(利用cellspacing1像素间隙和表格与单元格背景的不同)
<table border="0" width="200" cellspacing="1" cellpadding="0" bgcolor="#000000" > <tr align="center" bgcolor="#FFFFFF">   <td bgcolor="#FFFFFF">细</td> <td bgcolor="#FFFFFF">表</td> </tr> <tr align="center" bgcolor="#FFFFFF">   <td bgcolor="#FFFFFF">线</td> <td bgcolor="#FFFFFF">格</td> </tr> </table>  
线
这和上面那个可不一样,它用的是CSS,效果却一样。
(对单元格border的定义)
<table width="200" cellspacing="0" cellpadding="0"> <tr align="center">   <td >细</td> <td >表</td> </tr> <tr align="center">   <td >线</td> <td >格</td> </tr> </table>  
线
再进一步,把边框变成虚线,同样是CSS的神奇作用。
<table width="200" cellspacing="0" cellpadding="0"> <tr align="center">   <td >细</td> <td >表</td> </tr> <td >线</td> <td >格</td> </tr> </table>  
细线表格的扩展应用,奥妙就是在第个单元格中再套入一个表格。
<table width="200" border="0" cellspacing="2" cellpadding="0"> <tr>   <td>     <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">    <tr>     <td bgcolor="#FFFFFF"> </td>    </tr>    </table> </td> <td>      <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">     <tr>      <td bgcolor="#FFFFFF"> </td>     </tr>     </table> </td> </tr> <tr>   <td>       <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">      <tr>       <td bgcolor="#FFFFFF"> </td>      </tr>      </table> </td> <td>       <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">      <tr>       <td bgcolor="#FFFFFF"> </td>      </tr>      </table> </td> </tr> </table>  
立体感的表格
(简单的亮暗边框设置,注意只有IE支持这种效果)
<table border="1" bordercolorlight="#ffffff" bordercolordark="#ffffff" width="200" cellpadding="0" cellspacing="0"> <tr align="center">   <td bgcolor="#B7B7B7"   bordercolorlight="#000000" bordercolordark="#eeeeee" >立</td> <td bgcolor="#B7B7B7"   bordercolorlight="#000000" bordercolordark="#eeeeee" >表</td> </tr> <tr align="center">   <td bgcolor="#B7B7B7"   bordercolorlight="#000000" bordercolordark="#eeeeee" >体</td> <td bgcolor="#B7B7B7"   bordercolorlight="#000000" bordercolordark="#eeeeee" >格</td> </tr> </table>  
无名表格
给表格加上一个表头
(应用<fieldset>和</legend>标签)
<table width="200" cellpadding="0" cellspacing="0"> <tr>   <td><fieldset align="center"> <legend> 无名表格 </legend>   <p align="right">   </fieldset></td> </tr> </table>  
表中表效果Ⅰ
给表头再加个框
(用CSS为<legnd>定义一个边框)
<table width="200"" cellspacing="0" cellpadding="0"> <tr>   <td> <fieldset align="center">   <legend > 表中表效果Ⅰ</legend>   <br> </fieldset> </td> </tr> </table>  
表中表效果Ⅱ
看起来和上面的一样,可是这个才是真正的表中表哦。
(在<legnd>中插入一个表格)


<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值