HTML / CSS定位问题与asp:标签和跨度

时间:2011-09-14 15:30:21

标签: c# asp.net html css

当我执行以下操作时:

<asp:Label CssClass="someField" runat="server">*</asp:Label> 
<asp:Label ID="someID" runat="server" Text="SomeText" AssociatedControlID="someACID"></asp:Label>

或者:

<span class="someField">*</span>
<asp:Label ID="someID" runat="server" Text="SomeText" AssociatedControlID="someACID"></asp:Label>

Css someField:

span.someField {
   color: #CC0000;
   font-weight: 600;
}

标签的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;
}

我得到的输出是

  

SomeText *

当我想要的是

  

* SomeText

任何人都知道为什么会这样吗?

2 个答案:

答案 0 :(得分:4)

通过在标签上设置float:left,您可以将其从文档流中取出并使其在跨度之前呈现。您需要将跨度设置为块布局并将其向左浮动或从标签中移除浮动。

更新:

有一个很好的描述浮动对元素的影响以及这里的一些注意事项:http://coding.smashingmagazine.com/2007/05/01/css-float-theory-things-you-should-know/

答案 1 :(得分:1)

另一个选择

form label:after {
    content: "*";
}