为什么没有在列表项元素上应用填充?

Why is padding not being applied on the list item element?

这是我的 html 代码:

<ul class="price-card__feature-list">
                <li class="price-card__feature-item">500 GB Storage</li>
                <li class="price-card__feature-item">2 Users Allowed</li>
                <li class="price-card__feature-item">Send up to 3 GB</li>
</ul>

这是我的css代码:

.price-card{
    padding: 2rem;
    border-radius: 5px;
    box-shadow: 0 .1rem .4rem rgba(#333, 0.2);
    color: $col-txt-med;

    &__feature-list{
        list-style: none;
    }

    &__feature-item{
        display: block;
        width: 90%;
        font-weight: 600;
        margin: 0 auto; 
        padding: 2rem auto 2rem;
        border-bottom: 1px solid rgba(#666, .2);
    }
}

如果编译为css:


.price-card{
    padding: 2rem;
    border-radius: 5px;
    box-shadow: 0 .1rem .4rem rgba(#333, 0.2);
    color: $col-txt-med;   
}

.price-card__feature-list{
    list-style: none;
}

.price-card__feature-item{
        display: block;
        width: 90%;
        font-weight: 600;
        margin: 0 auto; 
        padding: 2rem auto 2rem;
        border-bottom: 1px solid rgba(#666, .2);
}

我想要的是每个列表项后面都有一行看起来像 hr 元素的效果。我尝试使用 border 属性 来实现这一点。但是现在我遇到了 padding 的麻烦。

您的 paddingborder 设置包含无效值(padding 的 "auto" 和 border-bottomrgba 的十六进制颜色值)

.price-card {
  padding: 2rem;
  border-radius: 5px;
  box-shadow: 0 .1rem .4rem rgba(#333, 0.2);
  color: $col-txt-med;
}

.price-card__feature-list {
  list-style: none;
}

.price-card__feature-item {
  display: block;
  width: 90%;
  font-weight: 600;
  margin: 0 auto;
  padding: 2rem 0;
  border-bottom: 1px solid rgba(100,100,100, 0.2);
}
<ul class="price-card__feature-list">
  <li class="price-card__feature-item">500 GB Storage</li>
  <li class="price-card__feature-item">2 Users Allowed</li>
  <li class="price-card__feature-item">Send up to 3 GB</li>
</ul>