代码之家  ›  专栏  ›  技术社区  ›  sorin

有浮动块时如何使用CSS缩进列表项?

  •  9
  • sorin  · 技术社区  · 15 年前

    在文档中使用浮动图像时,我观察到了一种相对奇怪的行为。列表项缩进相对于“红线”而不是“绿色”缩进。

    为什么会这样,我能解决这个问题吗?

    <img style=“float:left”>
    <P>一些文本</P>
    & UL & GT;
    <li>AAA</li
    <li>bbb</li
    &L/UL & GT;
    <P>其他文本</P>
    < /代码> 
    
    

    文档中的图像。列表项缩进相对于“红线”而不是“绿色”缩进。

    为什么会这样,我能解决这个问题吗?

    <img style="float: left">
    <p>some text</p>
    <ul>
       <li>aaa</li
       <li>bbb</li
    </ul>
    <p>some other text</p>
    

    4 回复  |  直到 10 年前
        1
  •  7
  •   bogdan    15 年前

    只要添加 ul { list-style-position: inside; } 因为默认情况下它设置为“外部”,不知道为什么。

        2
  •  2
  •   Skilldrick    15 年前
        3
  •  1
  •   adamj    11 年前

    结合几个问题的答案,我设法挖掘,使这项工作。

    HTML:

    <div>
        <img src="bleh.jpg">
        <ul>
            <li>This is a test of something with something to do something</li>
            <li>This is a test of something with something to do something</li>
            <li>This is a test of something with something to do something</li>
        </ul>
    </div>
    

    较少:

    img {
        float: left;
    }
    
    ul {
        list-style-position: inside;
    
        li {
            position: relative;
                left: 1em;
            margin-bottom: 1em; margin-left: -1em;
                padding-left: 1em;
            text-indent: -1em;
        }
    }
    
        4
  •  0
  •   Gareth Hayter    10 年前

    这对我很有用,从: http://enarion.net/news/2012/css-perfect-indented-line-ulli-around-a-floating-image/

    Chrome、Firefox等:

    ul { list-style-position:inside; margin-left: 2px; display: table; }
    ul li {margin-left: 13px; text-indent: -12px; }
    

    Internet Explorer:

    <!--[if IE]>
       <style>ul li {margin-left: 19px; text-indent: -18px; }</style>
    <![endif]-->