我放置了一个绿色PNG图像作为div的背景,它看起来像这样:
的数据
我使用了一个CSS技巧来保持文本在绿色背景中。所以这是我在该部分的代码:
#aboutprocess {
background: url("../img/tech_bg.png") no-repeat left top;
width: 100%;
background-size: cover;
}
#aboutprocess .container {
padding-top: 32.6316%;
position: relative;
}
#aboutprocess .row {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
#aboutprocess p {
color: #ffffff;
text-align: center;
}
个字符
我想用SVG文件替换PNG,我在CSS中唯一改变的是文件扩展名:
#aboutprocess {
background: url("../img/tech_bg.svg") no-repeat left top;
width: 100%;
background-size: cover;
}
型
但是当我在浏览器中预览时,我再也看不到背景了:
的
我做错了什么?你可以看到演示页面与PNG背景图片here。
这里有一个Dropbox link to the SVG file。
5条答案
按热度按时间gwbalxhn1#
如果Web服务器使用错误的“content-type”标头传输SVG文件,则浏览器将不会显示SVG文件。
如果您的Web服务返回
application/octet-stream
或text/xml
,则图像将无法正常工作,尽管SVG已正确传输且SVG文件本身正常。SVG的正确媒体类型是
image/svg+xml
。zed5wv102#
这里有几个潜在的解决方案。
这是OP的解决方案;详情请参见注解
tech_bg.svg
在它应该在的目录(img
文件夹)中,并且它的拼写与文本编辑器中的拼写完全相同,包括文件名和文件扩展名的大小写敏感性。GitHub当然从字面上理解扩展名大小写敏感性,我上传SVG文件时也遇到过同样的问题(.svg vs .SVG)。#aboutprocess
的z-index
,特别是如果你的文本真的消失了(我假设它还在那里,只是白色,但尝试突出显示它以确保)。这是一个坚韧明确回答的问题,因为我们不能在你的本地机器上测试它,这是不一致的地方。
knpiaxh13#
有时问题并不总是来自css。请尝试将以下行添加到您的**.htaccess**中,以便服务器可以从您的css文件中识别svg文件(background:url(“../img/tech_bg.svg”)no-repeat left top;),插入此行:
字符串
不需要有这么多的规则,但取决于你需要的格式,你想在你的网站上,但对于你目前的问题在这里,请确保有“svg”在你的.htaccess文件的规则。
好用,试试看!:)
4nkexdtk4#
字符串
不要放弃点和/ ->../不是背景->背景图像:不要忘记清除浏览器历史记录和现金
型
nwwlzxa75#
我的问题是SVG的颜色与背景的颜色相同,所以你看不到它。