Reputation: 3213
I need to use CSS to line up my ASP.NET labels and textboxes. I've tried using DIVs with styling per below, but things still aren't lining up.
<div style="float:left; display:block;">
<asp:Label runat="server" id="lblPartNumber" CssClass="label">Part Number:</asp:Label><br />
<asp:Label runat="server" ID="lblSubID" CssClass="label">Sub ID:</asp:Label><br />
<asp:Label runat="server" ID="lblPartDesc" CssClass="label">Part Description:</asp:Label><br />
<asp:Label runat="server" ID="lblForModels" CssClass="label">For Models:</asp:Label><br />
<asp:Label runat="server" ID="lblColor" CssClass="label">Color:</asp:Label><br />
<asp:Label runat="server" ID="lblPrice" CssClass="label">Price:</asp:Label><br />
<asp:Label runat="server" ID="lblMisc" CssClass="label">Misc:</asp:Label><br />
<asp:Label runat="server" id="lblLiveImage" CssClass="label">Live Image:</asp:Label><br />
<asp:Label runat="server" ID="lblOEMNumber" CssClass="label">OEM Number:</asp:Label><br />
<asp:Label runat="server" ID="lblBEDiscount" CssClass="label">BE Discount:</asp:Label><br />
<asp:Label runat="server" ID="lblSalePrice" CssClass="label">Sale Price:</asp:Label><br />
<asp:Button runat="server" ID="btnAddPart" Text="Add Part" />
</div>
<div style="display:block; padding-left:20px;">
<asp:TextBox runat="server" ID="txtPartNumber" CssClass="textbox"></asp:TextBox><br />
<asp:TextBox runat="server" ID="txtSubID" CssClass="textbox"></asp:TextBox><br />
<asp:TextBox runat="server" ID="txtPartDesc" CssClass="textbox"></asp:TextBox><br />
<asp:TextBox runat="server" ID="txtForModels" CssClass="textbox"></asp:TextBox><br />
<asp:TextBox runat="server" ID="txtColor" CssClass="textbox"></asp:TextBox><br />
<asp:TextBox runat="server" ID="txtPrice" CssClass="textbox"></asp:TextBox><br />
<asp:TextBox runat="server" ID="txtMisc" CssClass="textbox"></asp:TextBox><br />
<asp:TextBox runat="server" ID="txtLiveImage" CssClass="textbox"></asp:TextBox><br />
<asp:TextBox runat="server" ID="txtOEMNumber" CssClass="textbox"></asp:TextBox><br />
<asp:TextBox runat="server" ID="txtBEDiscount" CssClass="textbox"></asp:TextBox><br />
<asp:TextBox runat="server" ID="txtSalePrice" CssClass="textbox"></asp:TextBox><br />
</div>
What additional CSS syntax must be added to ensure all my labels are lined up under each other, and their corresponding textbox is beside it?
Thanks!
Upvotes: 4
Views: 10946
Reputation: 4081
You may write in this manner :
<div style="float:left; display:block;">
<asp:Label runat="server" id="lblPartNumber" CssClass="label">Part Number:</asp:Label><br />
<asp:TextBox runat="server" ID="txtPartNumber" CssClass="textbox"></asp:TextBox><br />
</div>
.......
Upvotes: 0
Reputation: 7367
You can do this also:
.label, .textbox{
width:50px;/*or something you like, it will assign a fixed width to all them*/
text-align:left;
float:left;
display:block;
}
Upvotes: 0
Reputation: 13835
Maybe you can use a <table>
to display your labels
<table>
<tr>
<td><asp:Label runat="server" id="lblPartNumber" CssClass="label">Part Number:</asp:Label</td>
</tr>
<tr>
<td><asp:Label runat="server" ID="lblSubID" CssClass="label">Sub ID:</asp:Label></td>
</tr>
</table>
Upvotes: 0
Reputation: 24322
use something like this,
<ul>
<li>
<asp:Label runat="server" id="lblPartNumber" CssClass="label">Part Number:</asp:Label>
<asp:TextBox runat="server" ID="txtPartNumber" CssClass="textbox"></asp:TextBox>
</li>
.....
</ul>
css,
.label,.textbox{
display : inline;
}
Upvotes: 6