【发布时间】:2013-12-23 00:24:39
【问题描述】:
我需要去掉 CheckBox 控件呈现的各个复选框周围的边框。这是它现在的样子:
ASP.Net 标记很简单:
<asp:CheckBoxList ID="cblEthnicity" runat="server" RepeatDirection="Vertical"
RepeatColumns="3" RepeatLayout="Table" BorderStyle="None" BorderWidth="0">
</asp:CheckBoxList>
它位于应用了formTable 类的表格的单元格中(见下文)。
如您所见,我已尝试将属性 BorderStyle="None" 和 BorderWidth="0" 设置为无效。
我很确定这背后是下面的 CSS,它在封闭的表格单元格周围放置了圆角边框,我想保留它:
.formTable
{
background-color: #eeeeee;
border: solid 1px #bbbbbb;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
border-radius: 7px;
}
.formTable tr, .formTable tr td, .formTable tr th
{
background-color: #eeeeee;
padding: 3px;
border: solid 1px #bbbbbb;
vertical-align: top;
}
我添加了以下 CSS,它也没有做任何事情:
.formTable tr td input[type="checkbox"]
{
border: none;
}
最后,从 .aspx 为 CheckBoxList 呈现的 HTML(如 Chrome DevTools 中所示)如下所示(为简洁起见,稍作编辑):
<table id="main_cblEthnicity" style="border-width:0px; border-style:None; border-top-left-radius:5px; border-top-right-radius:5px; border-bottom-left-radius:5px; border-bottom-right-radius:5px;">
<tbody>
<tr>
<td style="border-top-left-radius:5px; border-top-right-radius:5px; border-bottom-left-radius:5px; border-bottom-right-radius:5px;">
<input id="main_cblEthnicity_0" type="checkbox" name="ctl00$main$cblEthnicity$0"
checked="checked" value="Native American" />
<label for="main_cblEthnicity_0">Native American</label>
</td>
...
</tr>
</tbody>
</table>
关于如何摆脱不需要的边框有什么建议吗?
更新:这里有一些图片可以更清楚地说明正在发生的事情以及我想要完成的事情:
这就是我现在得到的:
如果我使用迄今为止提出的任何一个建议,这就是我得到的结果:
这就是我想要实现的目标:
除了这里提出的建议之外,我还尝试将其添加到 CSS 中,但没有任何区别:
.formTable tr td > input[type="checkbox"] {
border: none;
}
我也在 Javascript/jQuery 中试过这个:
<script type="text/javascript">
$(document).ready(function() {
$('.formTable tr td > input[type="checkbox"]').removeAttr("border");
});
</script>
【问题讨论】:
-
你能发布一个问题的小提琴吗?另外 - 这发生在哪个浏览器中?
-
您无法删除本机浏览器复选框边框。实现您自己的自定义元素
-
@A.Wolff 这不是我想要做的;我正在尝试删除各个复选框周围的表格单元格边框。
-
@Yuriy 我看看能不能;这会很困难,因为这是我正在处理的 ASP.Net 生成的 HTML。无论我使用哪种浏览器,我都会得到相同的结果。