【css】纵向步骤条竖线的实现--css伪类

近期做H5开发,需要实现一个自定义步骤条,记录一下竖线的实现
在这里插入图片描述
其实很简单 步骤条dome结构如下:

 <div class="toCard">
      <div class="toCard-content">
        <div class="toCard-content-l">1</div>
        <div class="toCard-content-r">
          <div class="tocardtop">{{ question.title }}</div>
          <div class="tocardbottom">
            <van-radio-group v-model="radio">
              <van-radio v-for="item in answerList" :key="item.id" :name="item.score" checked-color="rgb(0,170,198)">{{ item.answer }}</van-radio>
            </van-radio-group>
          </div>
        </div>
      </div>
    </div>

css样式如下

.toCard {
  min-height: 5rem;
  background: #fff;
  // border-radius: 1rem 1rem 0 0;
  border-radius: 1rem;
  position: relative;
  top: -1rem;
  padding: 0.9rem 0.5rem;
  &-content {
    display: flex;
    &-l {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 72px;
      height: 72px;
      background: #00aac6;
      border-radius: 48px;
      font-size: 0.5rem;
      color: #ffff;
    }
    &-r {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      width: 85%;
      text-align: left;
      .tocardtop{ /*这里做了文字超出省略*/
        min-height: 1rem;
        word-break: break-all;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2; /*行数*/
        overflow: hidden;
        padding: 0 0.45rem;
        font-size: .4rem;
        font-weight: 600;
      }
      .tocardbottom {
        background: rgba(87, 207, 227, 0.08);
        display: flex;
        font-size: .4rem;
        padding: .4rem .25rem 0;
        .van-radio{
          padding-bottom: .4rem;
        }
        /deep/ .van-radio__label{
          color: #05A0A8;
          font-weight: 500;
        }
      }
    }
    &::before {
      content: "";
      border-left: 2px solid rgb(229,246,249);
      position: absolute;
      left: 1rem;
      height: 100%;
      height: 70%;
      top: 1.9rem;
    }
  }
}

css也比较简单主要是flex布局和伪类的样式实现
在这里插入图片描述
完美~
2023/6/30 补充—
展示如图:
在这里插入图片描述

HTML部分:

<div class="steps">
  <div class="step-item" v-for="(node, index) in threeLevelTaskNode" :key="index">
    <span class="step-dot"></span>
    <div class="step-content">
      <div class="step-title">{{ node.staffCode }}</div>
      <div class="step-desc">{{ node.nodeContent }}</div>
    </div>
    <div class="step-line"></div> <!-- 添加这一行 -->
  </div>
</div>

CSS部分:

..step-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 10px;
}

.step-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #3c9cff;
  margin-right: 10px;
  flex-shrink: 0; /* 防止圆点挤压内容 */
  align-self: flex-start; /* 将圆点对齐到左上角 */
}

.step-content {
  display: flex;
  flex-direction: column;
}

.step-title {
  font-weight: bold;
  font-size: 18px;
}
.step-desc {
  font-size: 16px;
  padding-top: 4px;
  color: #999;
}

.step-line {
  position: absolute;
  top: 10px; /* 根据圆点的尺寸调整 */
  left: 1%; /* 将竖线居中对齐 */
  bottom: -20px; /* 调整竖线的长度 */
  width: 1px;
  background-color: #3c9cff;
}

这样,每个步骤下方会显示一条竖线,以增加步骤条的可读性。可以根据需要调整样式和间距。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值