为什么CssClass在常规课程中不起作用?

时间:2012-07-16 12:47:24

标签: asp.net css

在我的CSS文件中,我有:

.Center
{
    position:relative;
    width:800px;
    margin-left: auto;
    margin-right: auto;
}

然后,当我有以下一切都很好时:

<div class="Center">
    <asp:ImageButton ID="ImageButton1" ImageUrl="..." runat="server" />
</div>

但如果删除div并添加CssClass,则会忽略该类:

<asp:ImageButton ID="ImageButton1" ImageUrl="..." runat="server" CssClass="Center" />

为什么?

1 个答案:

答案 0 :(得分:4)

因为asp:ImageButton呈现为<input type="image" ... />。您的第一个示例包含<div>包装图像按钮,样式应用于<div>。您的第二个示例是尝试直接设置<input type="image" ... />样式(这不起作用,因为它不是块元素)。

您可以使用<asp:Panel>(呈现为<div>)来获取等效代码:

<asp:Panel runat="server" CssClass="Center">
     <asp:ImageButton ID="ImageButton1" ImageUrl="..." runat="server" />
</asp:Panel>

或者,更改您的CSS以使用<input type="image"> - 我认为这就像添加display: block一样简单,其他属性与包含<div>的属性相同。