【问题标题】:How do you add bullets without using a list?如何在不使用列表的情况下添加项目符号?
【发布时间】:2020-10-29 03:46:39
【问题描述】:

多年来没有接触过 html/css,所以我需要一些帮助。我有一个嵌套列表,并且想要设置外部列表 (#todo) 的样式,并且内部列表 (#task) 上只有“正常”项目符号。问题是当我设置外部列表的样式时,它也会自动设置内部列表的样式。作为一个被操纵的修复,我想删除li标签并把它们变成<p>,并以某种方式在它们前面添加一个子弹。 <p>标签前面怎么加项目符号?

#parent .todo ul li:before{
    content: "";
    position: absolute;
    top: 5px;
    left: -25px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    border: 2px solid #0bb5f4;
}



#parent .todo ul li:after{
    content: "";
    position: absolute;
    top: 14px;
    left: -21px;
    width: 2px;
    height: 75px;
    background: #0bb5f4
}

.task{
    padding-left: 25px;
}
<div class="todo">
    <div class="title">
        <p class="bold">Title1</p>
    </div>
                        
    <ul>
        <li>
            <div class="date">today</div>
            <div class="info">
                <p class="semi-bold">Name</p>
                <p class="description"><em>location</em></p>
                <div class="task">
                     <p>task1</p>
                     <p>task2</p>
                     <p>task3</p>
                </div>
            </div>
        </li>
                            
        <li>
            <div class="date">yesterday</div>
            <div class="info">
                <p class="semi-bold">Name2</p>
                <p class="description"><em>location2</em></p>
                <div class="task">
                    <p>item1</p>
                    <p>item2</p>
                    <p>item3</p>
                </div>
            </div>
        </li>
    </ul>
</div>

【问题讨论】:

    标签: html css layout css-selectors


    【解决方案1】:

    在外部列表的li 元素上添加一个类,并在该类上应用要在外部列表中应用的样式。这样,内部列表的 li 元素将不会被设置样式。

    .outer-li {
      position: relative;
      list-style: none;
      margin: 10px 0 0 0;
    }
    
    .outer-li::before {
      content: "";
      position: absolute;
      top: 5px;
      left: -25px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      border: 2px solid #0bb5f4;
    }
    
    .outer-li::after {
      content: "";
      position: absolute;
      top: 14px;
      left: -21px;
      width: 2px;
      height: 75px;
      background: #0bb5f4
    }
    <div class="todo">
      <div class="title">
        <p class="bold">Title1</p>
      </div>
    
      <ul class="outer">
        <li class="outer-li">
          <div class="date">today</div>
          <div class="info">
            <p class="semi-bold">Name</p>
            <p class="description"><em>location</em></p>
            <ul class="task">
              <li>task1</li>
              <li>task2</li>
              <li>task3</li>
            </ul>
          </div>
        </li>
    
        <li class="outer-li">
          <div class="date">yesterday</div>
          <div class="info">
            <p class="semi-bold">Name2</p>
            <p class="description"><em>location2</em></p>
            <ul class="task">
              <li>task1</li>
              <li>task2</li>
              <li>task3</li>
            </ul>
          </div>
        </li>
      </ul>
    </div>

    或者,您可以使用::before 伪选择器。

    li {
      position: relative;
      list-style: none;
      margin: 10px 0 0 0;
    }
    
    li::before {
      content: "";
      position: absolute;
      top: 5px;
      left: -25px;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      border: 2px solid #0bb5f4;
    }
    
    li::after {
      content: "";
      position: absolute;
      top: 14px;
      left: -21px;
      width: 2px;
      height: 75px;
      background: #0bb5f4
    }
    
    .task {
      padding-left: 25px;
    }
    
    .task p {
      position: relative;
    }
    
    .task p::before {
      content: '';
      position: absolute;
      background: #222;
      width: 5px;
      height: 5px;
      left: -13px;
      top: 50%;
      transform: translateY(-50%);
      border-radius: 50%;
    }
    <div class="todo">
      <div class="title">
        <p class="bold">Title1</p>
      </div>
    
      <ul>
        <li>
          <div class="date">today</div>
          <div class="info">
            <p class="semi-bold">Name</p>
            <p class="description"><em>location</em></p>
            <div class="task">
              <p>task1</p>
              <p>task2</p>
              <p>task3</p>
            </div>
          </div>
        </li>
      </ul>
    </div>

    【讨论】:

    • 谢谢!这正是我所需要的。
    猜你喜欢
    • 2016-06-02
    • 1970-01-01
    • 2015-11-27
    • 2021-08-06
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    相关资源
    最近更新 更多