css - CSS x 重复背景避免不必要的截断
问题描述
我有一个水平重复的分隔线背景图像,如下所示:
.divider {
background-image: url('https://i.stack.imgur.com/kMCJ6.png');
background-repeat: repeat-x;
height: 200px;
width: 100%;
display:block;
}
<div class="divider"></div>
但不可避免的是,根据浏览器窗口的宽度,我最终可以得到如下渲染:
有什么方法可以确保水平重复只突破背景图像中的空白?也就是说,有没有办法使用 CSS(可能还有一些 Javascript)来指定类似的东西,除非您可以在可见区域中放置整个重复图块,否则不要重复背景图像的副本?
解决方案
如果您愿意在重复图像之间留有空格,可以使用background-repeat: space
:
.divider {
background-image: url('https://i.stack.imgur.com/kMCJ6.png');
background-repeat: space no-repeat;
height: 200px;
width: 100%;
display: block;
}
<div class="divider"></div>
或者,您可以缩放图像以适应background-repeat: round
:
.divider {
background-image: url('https://i.stack.imgur.com/kMCJ6.png');
background-repeat: round no-repeat;
height: 200px;
width: 100%;
display: block;
}
<div class="divider"></div>
请注意,两者space
和round
默认情况下水平和垂直应用重复,所以如果你只想水平应用重复,你可以no-repeat
作为第二个参数传递(如上所示)。
推荐阅读
- java - HashMap 自己改变值
- vba - 循环代码没有在表单中移动
- spring-boot - 成功认证后successForwardUrl 不能与Spring Social 一起使用
- azure-application-insights - 除了 Azure 门户,还有查看 Application Insights 日志的方法吗?
- javascript - 如何从单个 NPM 包中导出多个库变体
- python-3.7 - if语句的初学者Python问题
- jinja2 - Shopify:仅针对已履行商品的部分订单迭代并显示退货按钮
- typescript - 调用接口指定的方法时是否可以使用 async/await?
- git - 如何检查我获取的内容?
- java - 原因:元素未绑定