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

以两列直边框列出项

  •  4
  • iceiceicy  · 技术社区  · 6 年前

    我有一个单子。我要实现的是,在mobile视图中,我希望列表连续显示两个项目。

    所以,我把ul标签设置为 columns: 2 是的。它工作得很好,但缺点是,由于这些项目具有边界顶部属性,它们将是中间的一个线间隙。

    我能知道有没有一种方法可以使边框全宽,没有间隙,并且不改变为另一个HTML标记(因为这个列表格式是从WordPress小部件生成的)

    这里是这个问题的一个例子。

    ul {
      display: block;
      columns: 2;
    }
    
    li {
      border-top: 1px solid #e9e9e9;
      list-style: none;
    }
    <ul>
    <li>TEST 1</li>
    <li>TEST 2</li>
    <li>TEST 3</li>
    <li>TEST 4</li>
    <li>TEST 5</li>
    <li>TEST 6</li>
    <li>TEST 7</li>
    <li>TEST 8</li>
    </ul>
    4 回复  |  直到 6 年前
        1
  •  1
  •   Jithin Raj P R    6 年前

    你可以用 column-gap: 0; 给你的 ul

    ul {
      display: block;
      -webkit-columns: 2;
      /* Chrome, Safari, Opera */
      -moz-columns: 2;
      /* Firefox */
      columns: 2;
      -webkit-column-gap: 0;
      /* Chrome, Safari, Opera */
      -moz-column-gap: 0;
      /* Firefox */
      column-gap: 0;
    }
    
    li {
      border-top: 1px solid #e9e9e9;
      list-style: none;
    }
    <ul>
      <li>TEST 1</li>
      <li>TEST 2</li>
      <li>TEST 3</li>
      <li>TEST 4</li>
      <li>TEST 5</li>
      <li>TEST 6</li>
      <li>TEST 7</li>
      <li>TEST 8</li>
    </ul>

    总是在新的css样式中使用webkit前缀以获得更好的支持

    希望这对你有帮助。

        2
  •  2
  •   לבני מלכה    6 年前

    使用 font-size: 0; ul font-size: 15px; li

    ul {
      display: block;
      columns: 2;
      font-size: 0;
    }
    
    li {
      border-top: 1px solid black;
      list-style: none;
      font-size: 15px;
    }
    <ul>
    <li>TEST 1</li>
    <li>TEST 2</li>
    <li>TEST 3</li>
    <li>TEST 4</li>
    <li>TEST 5</li>
    <li>TEST 6</li>
    <li>TEST 7</li>
    <li>TEST 8</li>
    </ul>
        3
  •  1
  •   theVoogie    6 年前

    尝试使用 column-gap: 0; . 如果我正确地理解了你,这就是你所需要的。

    ul {
      display: block;
      columns: 2;
      column-gap: 0;
    }
    
    li {
      border-top: 1px solid #e9e9e9;
      list-style: none;
    }
    <ul>
    <li>TEST 1</li>
    <li>TEST 2</li>
    <li>TEST 3</li>
    <li>TEST 4</li>
    <li>TEST 5</li>
    <li>TEST 6</li>
    <li>TEST 7</li>
    <li>TEST 8</li>
    </ul>
        4
  •  1
  •   Md. Abu Sayed    6 年前

    你可以尝试另一种使用FlexBox的方法

    ul {
      display:flex;
      flex-wrap:wrap;
      box-sizing: border-box;
    }
    
    li {
      width:50%;
      padding: 5px 15px 5px 5px;
      border-top: 1px solid black;
      list-style: none;
      font-size: 15px;
      box-sizing: border-box;
    }
    <ul>
    <li>TEST 1</li>
    <li>TEST 2</li>
    <li>TEST 3</li>
    <li>TEST 4</li>
    <li>TEST 5</li>
    <li>TEST 6</li>
    <li>TEST 7</li>
    <li>TEST 8</li>
    </ul>