在代码段http://jsfiddle.net/hXMLF/3/中,您会在单元格的白色边框和页面背景之间的角上看到一个小边框。我该如何预防?
HTML
<table cellspacing="0" cellpadding="0">
<tr>
<td>Test</td>
<td>Test</td>
</tr>
</table>
CSS
body {
background-color: #efefef;
}
table {
margin: 10px;
border-collapse: separate;
border-spacing: 0px;
}
td {
border-radius: 5px;
background-color: #369;
color: white;
border: 5px solid white;
}
答案 0 :(得分:18)
我提出了两种解决方案。 使用解决方案2 但我也在这里保留解决方案1,因为它可能会在某些其他情况下派给其他人使用。
将td
显示更改为inline-block
可以解决问题,但可能会影响您在其他地方的实际内容......
td {
display: inline-block; /* this has been added */
border-radius: 5px;
background-color: #369;
color: white;
border: 5px solid white;
}
这是解决方案1的your changed JSFiddle。
但是,既然你正在使用CSS3,那么这是一个更好的解决方案:
td {
background-clip: padding-box; /* this has been added */
border-radius: 5px;
background-color: #369;
color: white;
border: 5px solid white;
}
此解决方案2的your changed JSFiddle。
如果它不适用于所有浏览器,您应该知道有-moz-background-clip
和-webkit-background-clip
的浏览器特定设置使用不同的值集(它们基本上省略了框来自border-box
,padding-box
和content-box
)
答案 1 :(得分:1)
这是因为
border-collapse: separate;
就是这样。表格并不完全是造型中的 prima donna ,我建议您尝试使用<div>
标签。
答案 2 :(得分:0)
检查此链接。您可以为圆角单元格生成CSS。
<强> http://cssround.com/ 强>
示例:
<div
style="
width:400px;
height:300px;
-webkit-border-radius: 0px 26px 0px 0px;
-moz-border-radius: 0px 26px 0px 0px;
border-radius: 0px 26px 0px 0px;
background-color:#C2E3BF;
-webkit-box-shadow: #B3B3B3 2px 2px 2px;
-moz-box-shadow: #B3B3B3 2px 2px 2px;
box-shadow: #B3B3B3 2px 2px 2px;
">
Just modify width and height values to get what you need...
</div>