ASP.NET中表格标记的替代方法无法正常工作

时间:2011-02-05 07:13:13

标签: asp.net css alignment

使用Visual WebDeveloper 2010 Express和ASP.NET 4.0
不知道它是否相关,但整个事物是在ContentPlaceHolder和UpdatePanel内部 为了避免使用旧表tr td模型,我创建了一个像这样的简单表单

<div class="admin-form">
    <asp:Label ID="UserNameLabel" runat="server" 
            CssClass="form-label"
            Text="User Name" />
    <asp:TextBox ID="UserNameText" runat="server"
            Width="200px"/>
    <br />
    <asp:Label ID="PasswordLabel" runat="server" 
            CssClass="form-label"
            Text="Password" />
    <asp:TextBox ID="PasswordText" runat="server"
            TextMode="Password"
            Width="200px"/>
    <br />
    <asp:Label ID="ConfirmPasswordLabel" runat="server" 
            CssClass="form-label"
            Text="Confirm Password" />
    <asp:TextBox ID="ConfirmPasswordText" runat="server"
            TextMode="Password"
            Width="200px"/>
    <br />
    <asp:Label ID="EmailLabel" runat="server" 
            CssClass="form-label"
            Text="Email" />
    <asp:TextBox ID="EmailText" runat="server"
            Width="200px"/>
    <br />
    <br />
    <br />
    <span class="form-label"></span>
    <asp:Button ID="CreateUserButton" runat="server" 
                CssClass="button blue"
                Text="Create New User"/>
</div>

和CSS

.form-label
{
 width: 300px !important;   
}

这会错误地呈现为 enter image description here

我想在拍摄300px之后将所有文本框垂直排列。有什么问题?

P.S:我不能像标签一样使用HTML控件,因为我有全球化的resx

1 个答案:

答案 0 :(得分:3)

标签默认显示为inline。您需要在block或更好inline-block

中显示它们
.form-label
{
    width: 300px !important;   
    display:inline-block;
}