【发布时间】:2019-04-01 12:30:15
【问题描述】:
我想要一个响应式棋盘背景,它应该看起来像颜色选择器中的背景:
我尝试了什么:
.chess {
background-image:
linear-gradient(90deg, #999 30px, white 30px),
linear-gradient(90deg, white 30px, #999 30px),
linear-gradient(90deg, #999 30px, white 30px),
linear-gradient(90deg, white 30px, #999 30px),
linear-gradient(90deg, #999 30px, white 30px),
linear-gradient(90deg, white 30px, #999 30px),
linear-gradient(90deg, #999 30px, white 30px);
background-position: 0 0, 0 30px, 0 60px, 0 90px, 0 120px;
background-repeat: repeat-x;
background-size: 60px 30px;
height: 150px;
margin: 15px auto;
width: 30%;
}
.fas {
text-align: center;
font-size: 10em
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.7.2/css/all.min.css" rel="stylesheet" />
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div>
<div class="btn btn-outline-secondary chess">
<i class="fas fa-car"></i>
</div>
<div>
问题:
- 我的结果不是响应式的。 (我有固定的像素大小)
- 如果背景较大或元素较小,则需要大量代码。
- 我没有实现居中模式或使用
background-repeat: round
如果可能的话,我不希望棋盘背景中有任何被截断的元素。
不是这样的(右下截断):
【问题讨论】:
-
如果您使用固定像素值,它肯定不会响应...我会从那里开始。
-
你想让元素居中吗?
-
如果可能的话,我希望它们的尺寸调整为父尺寸,这样它们就不会被切断。但是将棋盘背景居中的想法听起来也不错!
-
你试过在上面使用 flex 吗?显示:弹性;证明内容:中心;
标签: css background linear-gradients