【问题标题】:How to change radial gradient to a square如何将径向渐变更改为正方形
【发布时间】:2022-01-11 05:10:56
【问题描述】:

如何将红色圆圈渐变为正方形?

这就是我想要在代码中做的所有事情。

这样可以吗?

https://jsfiddle.net/ub1nyfqj/

.test {
  width: 100px;
  height: 100px;
  background-image: radial-gradient(red 1px, transparent 1px),
    radial-gradient(red 1px, transparent 1px),
    linear-gradient(45deg,
      transparent,
      transparent 7px,
      rgb(113, 121, 126) 7px,
      rgb(113, 121, 126) 7.5px,
      transparent 7.5px,
      transparent 10px),
    linear-gradient(-45deg,
      transparent,
      transparent 7px,
      rgb(113, 121, 126) 7px,
      rgb(113, 121, 126) 7.5px,
      transparent 7.5px,
      transparent 10px);
  background-size: 10px 10px;
  background-position: 0 0, -5px -5px, 0 0, 0 0;
}
<div class="test"></div>

【问题讨论】:

    标签: css gradient linear-gradients css-gradients


    【解决方案1】:

    这可能不是您想要的,但我认为conic-gradient 可能是最适合您的解决方案。唯一的问题是这不会完全与您的网格对齐,但这是使用此方法的样子:

    .test {
      width: 100px;
      height: 100px;
      background-image: conic-gradient(red 90deg, transparent 90deg 270deg),
      linear-gradient(45deg,
          transparent,
          transparent 7px,
          rgb(113, 121, 126) 7px,
          rgb(113, 121, 126) 7.5px,
          transparent 7.5px,
          transparent 10px),
        linear-gradient(-45deg,
          transparent,
          transparent 7px,
          rgb(113, 121, 126) 7px,
          rgb(113, 121, 126) 7.5px,
          transparent 7.5px,
          transparent 10px);
      background-size: 10px 10px;
      background-position: 0 0, -5px -5px, 0 0, 0 0;
    }
    <div class="test"></div>

    我觉得如果这是你想要的,我觉得你绝对可以把它弄得更适合你的网格,但这应该会让你走上正确的轨道。

    【讨论】:

      【解决方案2】:

      这样好像达到了效果。

      https://jsfiddle.net/7zpr9htf/

      .test {
        width: 100px;
        height: 100px;
        background-image:
          conic-gradient(red 9deg, transparent 0 180deg),
          conic-gradient(red 9deg, transparent 0 180deg),
          conic-gradient(red 9deg, transparent 0 180deg),
          conic-gradient(red 9deg, transparent 0 180deg),
          linear-gradient(45deg,
      
            transparent,
            transparent 7px,
            rgb(113, 121, 126) 7px,
            rgb(113, 121, 126) 7.5px,
            transparent 7.5px,
            transparent 10px),
          linear-gradient(-45deg,
            transparent,
            transparent 7px,
            rgb(113, 121, 126) 7px,
            rgb(113, 121, 126) 7.5px,
            transparent 7.5px,
            transparent 10px);
        background-size: 10px 10px;
        background-position: 44px -11px, 15px -11px, 20px -6px, 9px -6px, -5px -5px, 0 0, 0 0;
      }
      <div class="test"></div>

      【讨论】:

      • 请解释答案
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多