首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Css背景:用于重复线性梯度的偏移量

Css背景:用于重复线性梯度的偏移量
EN

Stack Overflow用户
提问于 2018-01-04 17:57:25
回答 2查看 3K关注 0票数 1

我用SASS绘制了一个网格作为<div>的重复背景,方法如下:

代码语言:javascript
复制
background-image:
  repeating-linear-gradient(0deg, $major-grid-color, $major-grid-color $major-grid-weight, transparent $major-grid-weight, transparent $major-grid-size),
  repeating-linear-gradient(-90deg, $major-grid-color, $major-grid-color $major-grid-weight, transparent $major-grid-weight, transparent $major-grid-size),
  repeating-linear-gradient(0deg, $minor-grid-color, $minor-grid-color $minor-grid-weight, transparent $minor-grid-weight, transparent $minor-grid-size),
  repeating-linear-gradient(-90deg, $minor-grid-color, $minor-grid-color $minor-grid-weight, transparent $minor-grid-weight, transparent $minor-grid-size);

它以下列方式呈现:

但我希望它用15px的偏移量(左边是4 * $minor-grid-size + 15px的偏移量)来呈现(或者右边的偏移量),即:

现在我不能使用margin-left,因为它也会抵消<div>标记中的元素,我不希望这样,看这里的飞碟 (不要注意JS)。

我只想要背景有一个偏移。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-04 18:14:50

您可以使用background-position属性。

代码语言:javascript
复制
.repeating-grid {
  position: absolute;
  top: 0; bottom: 0;
  left: 0; right: 0;
  background-size: $major-grid-size $major-grid-size;
  background-image:
    repeating-linear-gradient(0deg, $major-grid-color, $major-grid-color $major-grid-weight, transparent $major-grid-weight, transparent $major-grid-size),
    repeating-linear-gradient(-90deg, $major-grid-color, $major-grid-color $major-grid-weight, transparent $major-grid-weight, transparent $major-grid-size),
    repeating-linear-gradient(0deg, $minor-grid-color, $minor-grid-color $minor-grid-weight, transparent $minor-grid-weight, transparent $minor-grid-size),
    repeating-linear-gradient(-90deg, $minor-grid-color, $minor-grid-color $minor-grid-weight, transparent $minor-grid-weight, transparent $minor-grid-size);

  background-position: 15px 0;
}
票数 6
EN

Stack Overflow用户

发布于 2020-05-07 17:49:50

我遇到了负面background-position的问题,导致重复模式的结束被切断:

代码语言:javascript
复制
background-image: repeating-linear-gradient(90deg, red, red 200px, blue 200px, blue 400px);
background-position: -50px -50px;

我发现在repeating-linear-gradient中使用负偏移解决了这个问题:

代码语言:javascript
复制
background-image: repeating-linear-gradient(90deg, red -50px, red 150px, blue 150px, blue 350px);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48100982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档