html - 如何在不使用模式的情况下重复 SVG?
问题描述
我有一个svg
,我想根据设备的宽度重复这个 svg。我不想在pattern
这里使用。
<svg width="54" height="124" class="absolute left-0 bottom-0 right-0 mx-auto -z-10" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd"><path d="M1 22h2v-22h18v22h2v2h-22v-2zm7-3v4h3v-4h-3zm5 0v4h3v-4h-3zm-6-5h-2v2h2v-2zm8 0h-2v2h2v-2zm-4 0h-2v2h2v-2zm8 0h-2v2h2v-2zm-12-4h-2v2h2v-2zm8 0h-2v2h2v-2zm-4 0h-2v2h2v-2zm8 0h-2v2h2v-2zm-12-4h-2v2h2v-2zm8 0h-2v2h2v-2zm-4 0h-2v2h2v-2zm8 0h-2v2h2v-2zm-12-4h-2v2h2v-2zm8 0h-2v2h2v-2zm-4 0h-2v2h2v-2zm8 0h-2v2h2v-2z"/></svg>
解决方案
您可以使用 CSS 背景重复功能。
这是一个简单的片段来演示。它重复图像,将其宽度设置为“自然”宽度(您当然可以根据需要设置其尺寸),并且根据容器的宽度在水平方向上重复多次。
<style>
body {
width: 100vw;
height: 100vh;
}
.container {
width: 100%;
height: 100%;
background-image: url(https://ahweb.org.uk/temp.svg);
background-size: 54px auto;
background-repeat: repeat no-repeat;
position: relative;
}
</style>
<body>
<div class="container">
</div>
</body>
为避免需要请求文件,您可以将 SVG 转换为内联数据,使其全部包含在样式表中。
更新:这个片段可以做到这一点 - 使用数据转换在线工具。鉴于根据 api 的结果更改颜色的额外要求,您将需要您的 Javascript 使用从您的 api 获得的填充颜色设置正确的背景图像。
<style>
body {
background-image: url("data:image/svg+xml, %3Csvg id='svg' fill='red' width='54' height='124' class='absolute left-0 bottom-0 right-0 mx-auto -z-10' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' clip-rule='evenodd'%3E%3Cpath id='path' d='M1 22h2v-22h18v22h2v2h-22v-2zm7-3v4h3v-4h-3zm5 0v4h3v-4h-3zm-6-5h-2v2h2v-2zm8 0h-2v2h2v-2zm-4 0h-2v2h2v-2zm8 0h-2v2h2v-2zm-12-4h-2v2h2v-2zm8 0h-2v2h2v-2zm-4 0h-2v2h2v-2zm8 0h-2v2h2v-2zm-12-4h-2v2h2v-2zm8 0h-2v2h2v-2zm-4 0h-2v2h2v-2zm8 0h-2v2h2v-2zm-12-4h-2v2h2v-2zm8 0h-2v2h2v-2zm-4 0h-2v2h2v-2zm8 0h-2v2h2v-2z'/%3E%3C/svg%3E");
}
</style>
<body>
</body>
推荐阅读
- javascript - 我的 Discord.js Bot 欢迎消息突然停止工作
- google-cloud-endpoints - 您如何自定义 Google Cloud Endpoints 完成的 java JSON 序列化?
- javascript - 如何重复特定次数的功能直到停止
- c# - 将 XML 消息发送到 MSMQ,无需任何格式
- java - Spring boot API RESTful:请求的错误处理问题
- node.js - React 和 Node 应用程序未将图像上传到 Cloudinary,404 错误没有解释
- vba - Access 宏:如何获取当前记录的 ID?
- javascript - 使用 vue 连接来自 api 的信息
- python - 多层folium Python上的搜索框和图层控制
- python - ipyturtle 是否缺少大部分完整的海龟图形模块?