首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复-线性-渐变在某些浏览器中不可见

重复-线性-渐变在某些浏览器中不可见
EN

Stack Overflow用户
提问于 2013-06-28 15:59:51
回答 2查看 1.2K关注 0票数 3

我正在尝试绘制一个网格作为div元素的背景。我只是喜欢使用css,所以我决定使用repeating-linear-gradient。然而,浏览器对此的反应似乎截然不同,要么只画一条很细的线,要么根本没有(最糟糕的似乎是Chrome,但Mac上的火狐(v21)似乎也有一些问题)。我已经创建了一个jsfiddle here (如果你什么都看不到,试试其他浏览器(Opera似乎做得最好),或者调整结果窗口的大小)。

css代码有什么问题吗?或者有人知道解决办法吗?

css

代码语言:javascript
复制
.grid {
    background-image: 
        repeating-linear-gradient(to right, transparent 1px, transparent 39px, red 40px, red 40px),
        repeating-linear-gradient(to bottom, transparent 1px, transparent 39px, red 40px, red 40px);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-29 08:27:41

我想我找到了答案(http://jsfiddle.net/PwzNB/4/):

代码语言:javascript
复制
.grid {
    background-size: 20px 20px;
    background-image: 
        repeating-linear-gradient(to right, transparent 1px, transparent 39px, red 40px, red 40px),
        repeating-linear-gradient(to bottom, transparent 1px, transparent 39px, red 40px, red 40px);
}

奇怪的是,background-size: 10px 10px;会将网格大小更改为10x10,而不会更改background-image属性……

更新

这可能是我最终选择的版本。网格大小是基于背景图像的大小,所以我只需要设置background-size来调整网格大小。Jsfiddle here,这里有一些代码:

代码语言:javascript
复制
.grid {
  background-size: 20px 20px;
  background-image: 
    repeating-linear-gradient(to right, transparent, transparent calc(100% - 1px), red calc(100% - 1px), red 100%),
    repeating-linear-gradient(to bottom, transparent, transparent calc(100% - 1px), red calc(100% - 1px), red 100%);
}
票数 0
EN

Stack Overflow用户

发布于 2013-06-30 12:44:21

@orange是对的,他找到了解决这个问题的方法,但保留background-size: 20px 20px;的分辨率会有所不同。所以我的建议是用更好的方式,background-size: 2em;,仅此而已。但我认为你应该接受“橙色答案”。

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

https://stackoverflow.com/questions/17359965

复制
相关文章

相似问题

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