CSS div中实现虚线效果

显示效果

实现方法

首先看 html 部分 很简单 直接是一个 div 里面包含字体就行了

有两种实现方式 

第一种方式 使用 border 

代码
      .areaRoad2 {
        position: relative;
        width: 100px;
        height: 200px;
        text-align: center;
        writing-mode: vertical-rl; /* 竖直显示字体 */
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 16px;
      }
      
      .areaRoad2::before {
        content: ' ';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%; /* 虚线位于 div 的水平中间 */
        border-left: 2px dashed black; /* 画垂直虚线 */
        transform: translateX(-50%); /* 确保线条位于中间 */
      }

但是这种方式好像没有办法实现自定义虚线中间的空隙

第二种方式 使用 background

垂直虚线和水平的差别都不大只是调整了 虚线的方向  

垂直虚线代码
      .areaRoad1 {
        position: relative;
        width: 55px;
        height: 100%;
        text-align: center;
        writing-mode: vertical-rl; /* 竖直显示字体 */
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 16px;
      }
      
      .areaRoad1::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%; /* 虚线位于 div 的水平中间 */
        width: 1px; /* 线的宽度 */
        background: repeating-linear-gradient(
          to bottom,
          black 0,
          black 10px, /* 线的长度 */
          transparent 10px,
          transparent 30px /* 空隙的长度 */
        );
        transform: translateX(-50%); /* 确保线条位于中间 */
      }
      
水平虚线代码
    .areaRoad4 {
      color: #000;
      // margin-top: 45%;
      position: relative;
      top: 44%;
      left: 10%;
      right: 12%;
      width: 78%;
      height: 20px;
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 16px;
    }
    
    .areaRoad4::before {
      content: '';
      position: absolute;
      top: 50%; /* 将虚线垂直居中 */
      left: 0;
      width: 100%; /* 让虚线占据整个宽度 */
      height: 1px; /* 线的高度为1px */
      background: repeating-linear-gradient(
        to right,
        black 0,
        black 10px, /* 线的长度 */
        transparent 10px,
        transparent 30px /* 空隙的长度 */
      );
      transform: translateY(-50%); /* 垂直居中虚线 */
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值