Pergunta

I'm trying make a <dl> to define the icons I am using on the page. I want it so that every icon is inside a <dt> and it's definition is inside the following <dl>. After every icon definition, I want a line break. Simple, right? Well, IE7 says no!

Here is my HTML:

        <dl style="display: block;" id="surveysIcons" class="icons">
            <dt class="clearfix"><span class="icon"><img alt="Complete" title="" src="images/fiq_complete.png"></span></dt>
            <dd>You have completed the survey</dd>

            <dt class="clearfix"><span class="icon"><img alt="Incomplete" title="" src="images/fiq_incomplete.png"></span></dt>
            <dd>You have missed the survey</dd>
        </dl>

Here is my CSS:

dl.icons {
    margin: 0 0 1em 0;
    padding: 0;
    width:100%;
    overflow:hidden;
    line-height:24px;
    clear: both;
} 
dl.icons dt {
    clear:left;
    margin:0;
    float:left;
    min-height:24px;
}
dl.icons dd {
    padding: 3px;
    margin: 0 0 0 5px;
    float:left;
    min-height:24px;
}
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clearfix {display: inline-block;}  /* for IE/Mac */

My method here is floating both the <dt> and <dd> left, and clearing at every <dt>, which, unfortunately, does not work in IE 7.

I have tried the so-called magical clearfix, but to no avail. This works in Firefox and IE 8.

Any other ideas that could possibly make this work (preferably without changing too much HTML)? Thanks!

Foi útil?

Solução

remove float:left from dl.icons dd

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top