css+div怎样代替TABLE实现以下效果

html-css035

css+div怎样代替TABLE实现以下效果,第1张

各种元素被滥用也不符合标准吧,要实现这种效果,方法多种多样,

只是简单与复杂之分,

如果有ul li做的话可以这么写css,

ul, li{ margin:0padding:0}

ul{clear:both/*清除你前面元素的浮动,有备无患*/ text-align:left}

li{ width:xxxpx/*从文字左到图片右宽度*/ height:图片高度

list-style:nonebackground:url(xxx.jpg/*路径*/) no-repeat right center

}

这样你会看到所有的li都用了同一个图片,只好用web2.0标准不太提倡的方法,找到各自的li标签给他们加内联样式,比如:

<div>

<ul>

<li style="background-image:url(images/2.jpg)">精品课</li>

<li style="background-image:url(images/3.jpg)">实践教学</li>

</ul>

</div>

为了文字垂直居中,兼容ie6可以修改li的样式比如:

li{padding-top:4px/*完全根据你的高度调*/}

你会发现li被撑大了,这时给li减去相应的内边距, 图片路径千万别错了,

<!doctype html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style type="text/css">

#div1 {width:100pxheight:300pxborder:1px solid #f00float:left}

#div-box1,#div-box2 {border:0px solid #00fwidth:100pxfloat:left}

#div2 {width:100pxheight:100pxborder-top:1px solid #f00}

#div3 {width:100pxheight:98pxborder-top:1px solid #f00border-bottom:1px solid #f00}

#div4 {width:100pxheight:100pxborder-bottom:1px solid #f00}

#div5 {width:100pxheight:199pxborder:1px solid #f00}

#div6 {width:100pxheight:100pxborder:1px solid #f00border-top:0px}

</style>

</head>

<body><!--

<div class="div1">我是奇数1</div>

<div class="div2">我是偶数2</div>

<div class="div3">我是奇数3</div>

<div class="div4">我是偶数4</div>-->

<div id="div1"></div>

<div id="div-box1">

    <div id="div2"></div>

    <div id="div3"></div>

    <div id="div4"></div>

</div>

<div id="div-box2">

    <div id="div5"></div>

    <div id="div6"></div>

</div>

</body>

</html>

不知道是不是这个!!

对table设置css样式边框,分为几种情况:

1、只对table设置边框

2、对td设置边框

3、对table和td技巧性设置表格边框

4、对table和td设置背景,实现完美表格边框

以下DIVCSS5对以上几种实现html 表格边框样式进行讲解与案例演示。为了便于观察,divcss5均设置所有案例表格为1px实线红色边框为例;table宽度为400px表格为三列三行,对以上四种情况表格外层加个div盒子,分别CSS命名为“.table-a”、“.table-b”、“.table-c”、“.table-d”。

一、只对表格table标签设置边框 - TOP

只对table标签设置border(边框)样式,将让此表格最外层table一个边框,而表格内部不产生边框样式。

案例详细如下:

1、对应css代码

<style>.table-a table{border:1px solid #F00} /* css注释:只对table标签设置红色边框样式 */ </style>

2、对应html代码片段

<div class="table-a"><table width="400" border="0" cellspacing="0" cellpadding="0"><tr><td width="105">站名</td><td width="181">网址</td><td width="112">说明</td></tr><tr><td>DIVCSS5</td><td>www.divcss5.com</td><td>CSS学习</td></tr><tr><td>CSS5</td><td>www.css5.com.cn</td><td>CSS切图</td></tr></table></div>

二、对td设置边框 - TOP

对table表格td设置边框样式,表格对象内td将实现边框样式,但中间部分td会导致出现双边框。

详细案例教程如下:

1、对应css代码

<style>.table-b table td{border:1px solid #F00} /* css注释:只对table td标签设置红色边框样式 */ </style>

2、对应html源代码片段

<div class="table-b"><table width="400" border="0" cellspacing="0" cellpadding="0"><tr><td width="105">站名</td><td width="181">网址</td><td width="112">说明</td></tr><tr><td>DIVCSS5</td><td>www.divcss5.com</td><td>CSS学习</td></tr><tr><td>CSS5</td><td>www.css5.com.cn</td><td>CSS切图</td></tr></table>

三、对table和td技巧性设置表格边框 - TOP

如上第二点,只对表格对象td设置单一边框样式,中间部分td与td标签之间就会出现双边框现象。

解决方法:对td只设置两个边的边框,对table也设置两个边的边框样式。

解释:对td设置左与上边框,这样td与td相邻就会只出现单一边框样式,这样就会出现表格右侧和下部没有边框,这个时候我们设置table右和下 边框解决显示右侧和下侧td剩下未显示边框。

1、对应css代码:

<style>.table-c table{border-right:1px solid #F00border-bottom:1px solid #F00} .table-c table td{border-left:1px solid #F00border-top:1px solid #F00} /* css 注释: 只对table td设置左与上边框; 对table设置右与下边框; 为了便于截图,我们将css 注释说明换行排版 */ </style>

2、对应html源代码片段:

<div class="table-c"><table width="400" border="0" cellspacing="0" cellpadding="0"><tr><td width="105">站名</td><td width="181">网址</td><td width="112">说明</td></tr><tr><td>DIVCSS5</td><td>www.divcss5.com</td><td>CSS学习</td></tr><tr><td>CSS5</td><td>www.css5.com.cn</td><td>CSS切图</td></tr></table>