2011-09-14 56 views
1

當我做到以下幾點:HTML /與ASP 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

任何人都知道爲什麼發生這種情況?

+1

顯示類定義「someField」請 –

+1

所以翻轉周圍的內容,將someField設置爲「SomeText」並將星號翻轉到某個ID – JonH

+0

檢查佈局類型。 –

回答

4

通過在標籤上設置float:left,您可以將其從文檔流中取出並使其在跨度之前呈現。您需要將跨度設置爲塊佈局並將其浮動,或者將浮標從標籤中移除。

UPDATE:

有什麼浮動確實給元素一個很好的說明和這裏的一些注意事項:http://coding.smashingmagazine.com/2007/05/01/css-float-theory-things-you-should-know/

+0

+1正確答案 – JonH

+0

乾杯好友:D這麼簡單,現在就要修復一些其他問題lol css已經改變了很多字段,但所有簡單的修復都謝謝了。 – Anicho

1

另一種選擇

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

不使用css3,但感謝:D – Anicho

+0

這是2011年,我們應該使用CSS3。 –

+0

當大多數客戶/獨特訪客使用現代瀏覽器時,我們將使用css3。我們可以鼓勵用戶進行升級,但在一天結束時他們會使用他們所使用的功能,並儘可能地滿足他們所使用的功能。 – Anicho