[英]HTML/CSS Positioning Issue with asp:Label and span
When I do the following: 当我执行以下操作时:
<asp:Label CssClass="someField" runat="server">*</asp:Label>
<asp:Label ID="someID" runat="server" Text="SomeText" AssociatedControlID="someACID"></asp:Label>
Or: 要么:
<span class="someField">*</span>
<asp:Label ID="someID" runat="server" Text="SomeText" AssociatedControlID="someACID"></asp:Label>
Css someField: CSS someField:
span.someField {
color: #CC0000;
font-weight: 600;
}
Css for label: 标签的CSS:
form label {
clear: left;
cursor: pointer;
display: block;
float: left;
font-size: 1em;
margin: 0 3px 4px 0;
padding: 4px 0 4px 5px;
width: 200px;
}
the output I get is 我得到的输出是
SomeText*
SomeText *
When what I want is 当我想要的是
*SomeText
* SomeText
Anyone know why this is happening? 有人知道为什么会这样吗?
By setting float:left
on the label you are taking it out of the flow of the document and causing it to render before the span. 通过在标签上设置
float:left
,可以将其从文档流中移除,并使其在跨度之前呈现。 You need to either set the span to be a block layout and float it left as well or remove the float from the label. 您需要将跨度设置为块布局并向左浮动,或者从标签中删除浮动。
UPDATE: 更新:
There's a good description of what floating does to elements and some considerations here: http://coding.smashingmagazine.com/2007/05/01/css-float-theory-things-you-should-know/ 这里有一个很好的关于浮动对元素的作用的描述以及一些注意事项: http : //coding.smashingmagazine.com/2007/05/01/css-float-theory-things-you-should-know/
Another option 另外一个选项
form label:after {
content: "*";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.