代码之家  ›  专栏  ›  技术社区  ›  John Magnolia

自定义列表项背景环绕浮动元素

css
  •  1
  • John Magnolia  · 技术社区  · 11 年前

    我在使用自定义列表图像时遇到了一个问题,其中图标被隐藏在列表包裹的浮动元素后面。

    http://jsfiddle.net/V8evM/

    HTML格式

    <div>
    
    </div>
    <ul>
        <li>This is list item no 1</li>
        <li>This is list item no 2. This is list item no. This is list item no. This is list item no. This is list item no. This is list item no. This is list item no.</li>
        <li>This is list item no 3</li>
    </ul>
    

    CSS格式

    div {
        background: rgba(0,0,0,0.8);
        float: left;
        width: 100px;
        height: 40px;
        margin: 0 20px 10px 0
    }
    
    li {
      padding-left: 1.3em ;
    }
    
    li:before {
      content: "i";
      display: inline-block;
      margin-left: -1.3em;
      width: 1.3em;
    }
    

    注意:我不想添加额外的标记,只添加CSS。

    我试过没有负差额( http://jsfiddle.net/9qWGE/ )但这会导致长列表出现在图标下方

    2 回复  |  直到 11 年前
        1
  •  0
  •   daniel__    11 年前
    ul {
        display: table; /* or table-cell */ 
    }
    

    table : 行为举止像 <table> HTML元素。它定义了一个块级别的框。

    Source

    http://jsfiddle.net/PWQZS/1/

        2
  •  0
  •   Milche Patern    11 年前

    处理ul元素,调整你的边距和填充。

    ul {
        padding-left:10px; /* fit this number to your needs */
        margin-left:111px; /* fit this number to your needs */
    }
    

    http://jsfiddle.net/z8m46/