0

我有一个简单的 html 表格元素。

<table border="2" cellpadding="5" cellspacing="0" width="40%">
    <tr><td> aaa </td><td> bbb </td></tr>
    <tr><td> ccc </td><td> ddd </td></tr>
</table>

现在在 CSS 中做我的第一步,我尝试将后一种表格样式定义为 CSS

我无法实现它 - 无论我做什么,边框看起来都不一样。请帮忙。

我的带有 CSS 样式的 HTML:

<style type="text/css">
table.my_class
{
    width:40%;
}
table.my_class,table.my_class tr, table.my_class td
{
    border-color: black;
    border-width: 2px;
    border-style:groove;
    padding:15px;
    border-collapse:collapse;
}
</style>

<table class="my_class">
    <tr><td> aaa </td><td> bbb </td></tr>
    <tr><td> ccc </td><td> ddd </td></tr>
</table>

HTML

<table border="2" cellpadding="5" cellspacing="0" width="40%">
    <tr><td> aaa </td><td> bbb </td></tr>
    <tr><td> ccc </td><td> ddd </td></tr>
</table>
<br/>
<table class="mytable">
    <tr><td> aaa </td><td> bbb </td></tr>
    <tr><td> ccc </td><td> ddd </td></tr>
</table>​

是没有reset.css CSS的解决方案

table.mytable {
 width: 40%;
 border: 2px solid #444;  
 border-spacing: 0;    
}

table.mytable tr {border-bottom: 1px solid #444}

table.mytable td{
  border-right: 1px solid #444;
  border-bottom: 1px solid #444;
  padding: 5px;
}

table.mytable tr td:last-child{ border-right: 0 }
table.mytable tr:last-child td{ border-bottom: 0 }

是 reset.css CSS 的解决方案

table.mytable {
 width: 40%;
 border: 2px solid #000;    
}

table.mytable td{
  border: 1px solid #000;
}
​
4

3 回答 3

4

HTML

<table border="2" cellpadding="5" cellspacing="0" width="40%">
    <tr><td> aaa </td><td> bbb </td></tr>
    <tr><td> ccc </td><td> ddd </td></tr>
</table>
<br/>
<table class="mytable">
    <tr><td> aaa </td><td> bbb </td></tr>
    <tr><td> ccc </td><td> ddd </td></tr>
</table>​

是没有reset.css CSS的解决方案

table.mytable {
 width: 40%;
 border: 2px solid #444;  
 border-spacing: 0;    
}

table.mytable tr {border-bottom: 1px solid #444}

table.mytable td{
  border-right: 1px solid #444;
  border-bottom: 1px solid #444;
  padding: 5px;
}

table.mytable tr td:last-child{ border-right: 0 }
table.mytable tr:last-child td{ border-bottom: 0 }

是 reset.css CSS 的解决方案

table.mytable {
 width: 40%;
 border: 2px solid #000;    
}

table.mytable td{
  border: 1px solid #000;
}
​
于 2012-06-25T12:24:24.857 回答
1

我不认为你可以完全按照你喜欢的方式翻译属性......因为当时标准并没有应用到那个程度,而且通常情况在不同的浏览器中看起来不同。你最好的办法是试着把它调得更近一些。

    <!doctype HTML>
    <html>
      <head>
        <title></title>
        <meta content="">
        <style>
        .tbl
        {
            width:40%;
            border: solid 2px black;
            border-collapse: collapse;
        }

        .tbl td
        {
            padding: 5px;
            border: solid 2px black;
        }

        </style>
      </head>
      <body>

        <table border="2" cellpadding="5" cellspacing="0" width="40%">
        <tr><td> aaa </td><td> bbb </td></tr>
        <tr><td> ccc </td><td> ddd </td></tr>
        </table>
        <br/><br/>
        <table class="tbl">
        <tr><td> aaa </td><td> bbb </td></tr>
        <tr><td> ccc </td><td> ddd </td></tr>
        </table>
      </body>
    </html>
于 2012-06-25T12:35:45.357 回答
1

当使用带有border属性的无样式表时,边框在不同的浏览器中看起来不同。一些浏览器绘制实心边框,一些为表格绘制外边框,为单元格绘制内嵌边框等。在 CSS 中无法实现这种变化。而且几乎不需要它。在考虑了 CSS 必须提供的各种工具之后,只需选择首选呈现方式,这些工具大大超出了 HTML 属性的表现能力(除了创建一些浏览器依赖项)。

于 2012-06-25T13:29:14.617 回答