有没有办法自定义 border 为 dashed 时的虚线间距?

发布于 2022-08-31 09:08:40 字数 121 浏览 14 评论 0

CSS 的 border: 1px dashed 样式太难看了,虚线非常的宽,dotted 也是一样,间距太窄。

有没有办法控制虚线或者点的长度或者间距呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

我家小可爱 2022-09-07 09:08:40

可以的,用渐变

width: 100%;
height: 1px;
background-image: linear-gradient(to right, #ccc 0%, #ccc 50%, transparent 50%);
background-size: 8px 1px;
background-repeat: repeat-x;
忘你却要生生世世 2022-09-07 09:08:40

没有办法。

但SVG线条是可以设置间距的。

path {
    stroke-dasharray: 4;
    stroke-dashoffset: 22;
}
似梦非梦 2022-09-07 09:08:40

Displays a series of short square-ended dashes or line segments. The exact size and length of the segments are not defined by the specification and are implementation-specific.

——MDN

囧,看来没好办法。不过你可以用图片作边框用。

魔法唧唧 2022-09-07 09:08:40

如果一定要这样,使用一下背景图片也是个选择,切一小片repeat就好了,而且兼容性很好。但如果是竖边框的话,就稍微麻烦些。

〃温暖了心ぐ 2022-09-07 09:08:40
    // 让 after 的 border 覆盖元素 border 的 n 个 px 的宽度,使其 border 宽度减小 npx
    ::after {
      border: 1px solid #fff; // 主要是这句
      background: transparent;
      
      display: block;
      content: " ";
      height: 100%;
      width: 100%;
      
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
    }
梦忆晨望 2022-09-07 09:08:40

@哔哔肾 “鸭式辨型” 这个有意思,思路开阔。

来个伪类写的分割线

      &:after
        width 10px
        height calc(100% - .1rem)
        background-image linear-gradient(to bottom, #ccc 0%, #ccc 50%, transparent 50%)
        background-size 1px 8px
        background-repeat repeat-y
        position absolute
        top 0.25em
        left -0.42rem
        content ''

父级给两个属性

      position relative
      margin .42rem

这个实现出来的,在iOS与android上基本是一致的效果,质量较高的还原了设计师的设计。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文