label for[…] not recognised by IE8

后端 未结 5 1467
别跟我提以往
别跟我提以往 2021-01-25 13:10

I have the css below:

span label[for=Length]
{
width: 90px; 
display: block;
text-align:right; 
margin-top: 2px;
margin-right: 5px;
}

with the

相关标签:
5条回答
  • 2021-01-25 13:43
    .label1
    {
    width: 90px; 
    display: block;
    text-align:right; 
    margin-top: 2px;
    margin-right: 5px;
    }
    
    <span>Length:</span>
    <label class='label1' for='Length'><input type=text id="Length"></label>
    
    0 讨论(0)
  • 2021-01-25 13:45

    It works in IE8.. Not depends on the browser. Check the !doctype html for the file. Hence its an attribute, it works.

    0 讨论(0)
  • 2021-01-25 13:46

    IE 8 (or IE 9 for that matter) does not support attribute selectors in Quirks Mode. This is why adding a suitable doctype declaration, as suggested in Quentin’s answer, fixes the issue on IE 8. The simplest doctype for the purpose is <!doctype html>.

    On IE 7, nothing helps, as it simply lacks the support, instead of having it masked out in Quirks Mode.

    It is thus safer to use an id attribute on the label element, e.g. <label id=foo for=Length>, and use an id selector, such as #foo, in CSS. Such selectors work on all CSS-enabled browsers.

    0 讨论(0)
  • 2021-01-25 13:47

    The element has to be a label in order to be able to match it as a label in css try this:

    <label for="Length">Length:</label>
    <span><input type=text id="Length"></span>
    
    0 讨论(0)
  • 2021-01-25 14:04

    Add a <label> element with a for="Length" attribute.

    (And make sure you have a Doctype that triggers Standards Mode)

    0 讨论(0)
提交回复
热议问题