简体   繁体   English

asp:Label和span的HTML / CSS定位问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM