我想在不使用换行符的情况下增加两个文本框之间的空间。我已经创建了CSS规则,但在显示页面时没有效果。
这些是文本框
<asp:Label ID="Discount" CssClass="textboxcontainer" runat="server" Text="Discount: "></asp:Label><asp:TextBox ID="TextBoxDiscount" runat="server"></asp:TextBox><br />
<asp:Label ID="TotalAfterDis" CssClass="textboxcontainer" runat="server" Text="Total : "></asp:Label><asp:TextBox ID="TextBoxTotal" runat="server"></asp:TextBox> <br />
我在CSS文件中有这个CSS规则
div#page .textboxcontainer{
margin: 10px auto;
非常感谢任何帮助
答案 0 :(得分:0)
margin
不适用于asp:label
,因为asp:label
会呈现为span
,这是一个inline
元素
尝试将display:inline-block
添加到您的css规则中。
答案 1 :(得分:0)
您的<asp:Label>
将呈现为HTML span
,默认情况下显示inline
,导致忽略顶部和底部margin
。将display: block
或display: inline-block
添加到您的.textboxcontainer
规则中。
答案 2 :(得分:0)
ASP Label控件在运行时在<span>
标记中呈现。这就是给你带来麻烦的东西。只需将标签和文本框控件包装在自己的div中,您就可以获得该块分隔。在该div中添加一个类并给它一个margin-bottom:XXpx,你就在路上
<div class="form-group">
<asp:Label ID="Discount" CssClass="textboxcontainer" runat="server" Text="Discount: "></asp:Label>
<asp:TextBox ID="TextBoxDiscount" runat="server"></asp:TextBox>
</div>
<div class="form-group">
<asp:Label ID="TotalAfterDis" CssClass="textboxcontainer" runat="server" Text="Total : "></asp:Label>
<asp:TextBox ID="TextBoxTotal" runat="server"></asp:TextBox>
</div>
CSS
.form-group{
margin-bottom: 10px;
}