我有一个带有一些CSS的表来设置带有圆角的表格和第一行中的渐变背景(对于列标题)但是尽管我指定了overflow: hidden
,但是渐渐出现在圆角外面。
HTML:
<table id="tblIncidentQueue" class="DataTable">
<tr class="TableHeaderFooter">
<td colspan="5">
<strong>Show </strong>
<asp:DropDownList ID="drpNumOfResults" runat="server">
<asp:ListItem Text = "10" Value="10" ></asp:ListItem>
<asp:ListItem Text = "20" Value="20" ></asp:ListItem>
<asp:ListItem Text = "50" Value="50" ></asp:ListItem>
<asp:ListItem Text = "100" Value="100" ></asp:ListItem>
<asp:ListItem Text = "All" Value="All" ></asp:ListItem>
</asp:DropDownList>
<strong> entries</strong>
</td>
<td align="right">
<img src="../images/Icons/Refresh.png" border="0" />
<img src="../images/Icons/Down.png" border="0" />
</td>
</tr>
</table>
CSS:
.DataTable
{
margin: 10px;
-moz-border-radius : 10px; /* Firefox */
-webkit-border-radius : 10px; /* Safari & Chrome */
-khtml-border-radius : 10px; /* Linux browsers */
border-radius : 10px; /* CSS3 compatible browsers */
border-style: solid;
border-width: 1px;
border-color: #cccccc;
padding: 0px;
border-spacing: 0px;
overflow: hidden;
}
.TableHeaderFooter
{
background: #eeeeee; /* Old browsers */
background: -moz-linear-gradient(top, #eeeeee 0%, #cccccc 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#cccccc)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #eeeeee 0%,#cccccc 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #eeeeee 0%,#cccccc 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #eeeeee 0%,#cccccc 100%); /* IE10+ */
background: linear-gradient(to bottom, #eeeeee 0%,#cccccc 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#cccccc',GradientType=0 ); /* IE6-9 */
overflow: hidden;
}
任何帮助都非常感谢!
答案 0 :(得分:0)
将.TableHeaderFooter中的所有后台代码放入.DataTable中。 边缘会消失。
.DataTable {
margin: 10px;
-moz-border-radius : 10px; /* Firefox */
-webkit-border-radius : 10px; /* Safari & Chrome */
-khtml-border-radius : 10px; /* Linux browsers */
border-radius : 10px; /* CSS3 compatible browsers */
border-style: solid;
border-width: 1px;
border-color: #cccccc;
padding: 0px;
border-spacing: 0px;
overflow: hidden;
background: #eeeeee; /* Old browsers */
background: -moz-linear-gradient(top, #eeeeee 0%, #cccccc 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#cccccc)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #eeeeee 0%,#cccccc 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #eeeeee 0%,#cccccc 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #eeeeee 0%,#cccccc 100%); /* IE10+ */
background: linear-gradient(to bottom, #eeeeee 0%,#cccccc 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#cccccc',GradientType=0 ); /* IE6-9 */
}
.TableHeaderFooter {
}
答案 1 :(得分:0)
您必须为TableHeaderFooter中的td元素设置属性border-radius
。
.TableHeaderFooter td:first-child {
border-radius : 10px 0px 0px 10px; /* rounds the top and bottom left corner */
}
.TableHeaderFooter td:last-child {
border-radius : 0px 10px 10px 0px; /* rounds the top and bottom right corner */
}
现在你不应该看到任何溢出的背景,例如渐变(注意溢出属性在这种情况下是无用的)
我希望它有所帮助