views:

860

answers:

5

Hi all,

I am trying to create an ordered list on IE7 but for some reason does not work. Does anybody knows why this can be? Update

The issue is that I cant see the numbers, thanks.

Thanks.

eg.

<ol>
 <li></li>
 <li><li>
</ol>

Update As an example I saw this page where if you look at it on IE7 you wont see de numbers, but if you look at it on any other (but not ie) you will see the numbers.

http://www.arraystudio.com/as-workshop/make-ol-list-start-from-number-different-than-1-using-css.html

Thanks

+1  A: 

Make sure you close your <li> tags:

<ol>
  <li>first thing</li>
  <li>second thing</li>
</ol>
Pointy
I was under the impression that the </li> was optional in HTML (though it's obviously not in XHTML).
Olly Hodgson
Well the original question was a little short on details :-)
Pointy
+2  A: 

Complete your tags and it should be fine:

<ol>
 <li>blah</li>
 <li>ha</li>
</ol>
karim79
+3  A: 

You may also have to give your ordered list a margin-left to see the numbers in IE7. Try this:

<ol style="margin-left:25px;"> 
 <li>test1</li> 
 <li>test2</li> 
</ol>
Jon
+1  A: 

If you're not seeing the numbers at all, it's likely you need to set a margin or padding on the ol element, e.g.

ol {
    margin-left: 3em;
}

You might also need to set list-style: decimal;.

There's also some CSS bugs that can have a weird effect on ordered lists in older versions of IE. The symptom is usually the counter resetting to 1 for every item. Are you seeing that?

Olly Hodgson
+4  A: 

This SSCCE works fine in all browsers from IE6 and up (IE6/7/8, FF2/3, Safari3, Chrome4, Opera9).

<!doctype html>
<html lang="en">
    <head>
        <title>SO question 2401705</title>
    </head>
    <body>
        <ol>
            <li>Item 1
            <li>Item 2
        </ol>
    </body>
</html>

It even works when I tried to replace the </ol> by the syntactically invalid <ol>. So, your problem lies somewhere else. You really need to elaborate the "Doesn't work" in more detail. What exactly happens? What exactly happens not? Preferably edit your question to include an SSCCE (like above) and try to ask the question the smart way.

Note, in contrary to what others say, a non-closing <li> is syntactically valid in normal HTML. It's indeed invalid in XHTML, but I don't see any reason to use XHTML unless you're using a component based MVC framework or some other XML based tool to generate HTML pages.

Update: you thus don't see the numbers. Apparently you've set the margin of the ol to zero. This way they will get out of the view. The following SSCCE demonstrates it. It indeed fails in IE6/7.

<!doctype html>
<html lang="en">
    <head>
        <title>SO question 2401705 - IE6/7 problem</title>
        <style>ol { margin: 0; }</style>
    </head>
    <body>
        <ol>
            <li>Item 1
            <li>Item 2
        </ol>
    </body>
</html>

Don't set the margin to 0. This may also be caused by a so-called CSS reset sheet. Don't use them, just remember to specify the margins for all block elements yourself.

BalusC
Thanks, I did not remember the reset sheet, you are right they are dangerous. :-) +1.
Cesar Lopez
They're only dangerous if you don't understand what they're doing :)
Olly Hodgson