Html 有没有一种方法可以直接在css背景中使用图像数据?
我已经了解了如何将图像数据嵌入Html 有没有一种方法可以直接在css背景中使用图像数据?,html,css,Html,Css,我已经了解了如何将图像数据嵌入img标记中(感谢下面的回答),但我一直很难将图像数据作为cssbackground嵌入div标记中 如果我获取相同的图像数据并将其放入背景url属性中,它将不再工作 <style> #myDiv { background-url(image-data); } </style> <div id="myDiv" > </div> #myDiv{ 背景url(图像数据); } 这是我的测试html和css
img
标记中(感谢下面的回答),但我一直很难将图像数据作为cssbackground
嵌入div
标记中
如果我获取相同的图像数据并将其放入背景url
属性中,它将不再工作
<style>
#myDiv {
background-url(image-data);
}
</style>
<div id="myDiv" >
</div>
#myDiv{
背景url(图像数据);
}
这是我的测试html和css
在Mac上的Firefox中,我看不到任何图像 试试这个
#myDiv{
背景:url(图像数据)无重复
}
尝试使用此
#myDiv{
背景:url(图像数据)无重复
}
这是可能的,但不推荐使用。你可以在这里读到 CSS
#myDiv {
background: url(data:image/gif;base64,IMAGE-DATA-GOES-HERE) no-repeat;
}
话虽如此,您应该考虑将图像嵌入css的利弊:
专业人士
#myDiv {
background: url(data:image/gif;base64,IMAGE-DATA-GOES-HERE) no-repeat;
}
- 减少对服务器的请求
- 图像与CSS代码一起缓存
#myDiv {
background: url(data:image/gif;base64,IMAGE-DATA-GOES-HERE) no-repeat;
}
- css文件变得更大,加载时间也更长
- 它更难维护,因为在css文件中,您甚至看不到图像的名称,所以您需要“记住”每个css属性中嵌入的图像
- 页面加载需要更长的时间,因为浏览器等待完成CSS加载-这比不加载图像需要更长的时间
- 图像和CSS文件请求不能并行加载,因为它们位于单个请求中
如果你有少量的图片,可能是你网站的基本图标,那就可以了。如果您想将其用于高质量的图像,它只会使您的页面加载waaaaaayyyyy toooo slooowww…这是可能的,但不推荐使用。你可以在这里读到 CSS
#myDiv {
background: url(data:image/gif;base64,IMAGE-DATA-GOES-HERE) no-repeat;
}
话虽如此,您应该考虑将图像嵌入css的利弊:
专业人士
#myDiv {
background: url(data:image/gif;base64,IMAGE-DATA-GOES-HERE) no-repeat;
}
- 减少对服务器的请求
- 图像与CSS代码一起缓存
#myDiv {
background: url(data:image/gif;base64,IMAGE-DATA-GOES-HERE) no-repeat;
}
- css文件变得更大,加载时间也更长
- 它更难维护,因为在css文件中,您甚至看不到图像的名称,所以您需要“记住”每个css属性中嵌入的图像
- 页面加载需要更长的时间,因为浏览器等待完成CSS加载-这比不加载图像需要更长的时间
- 图像和CSS文件请求不能并行加载,因为它们位于单个请求中
如果你有少量的图片,可能是你网站的基本图标,那就可以了。如果您想将其用于高质量图像,它只会使您的页面加载waaaaaayyyyyy toooo slooowww…问题在于换行 我以为换行符是编码的一部分 下面是(看看这些线是如何均匀地断开的-看起来是正确的,对吗?) 以下是: 在这里,它正确地呈现了
问题是线路断了 我以为换行符是编码的一部分 下面是(看看这些线是如何均匀地断开的-看起来是正确的,对吗?) 以下是: 在这里,它正确地呈现了
您指的是图像数据base64。您可以引用您的意思是图像数据base64。你可以参考我刚刚更新的代码,不使用
背景url
。我发布了一个在线示例的链接。我刚刚更新了代码,使其不使用背景url
。我发了一个链接到一个在线例子。谢谢你的提醒。这些都将被嵌入并在客户端运行,并用于比较。因此,不要过线。@1.21gigawatts“嵌入并在客户端运行”是什么意思?浏览器不需要第一次加载HTML(和css)吗?这是一个移动应用程序(嵌入了所有资源)?我正在编码到Base64,并将设计的快照放在后台。开发人员将在顶部看到设计快照和HTML元素。这将是一种洋葱剥皮技术。我将整个html页面(即标记)传递给内部web控件。所以没有在线资源。都是本地的。这是设计师查看其html标记是否与设计匹配的一种方法。这是一个桌面应用程序。@1.21gigawatts好的,有意义:-)谢谢你的提醒。这些都将被嵌入并在客户端运行,并用于比较。因此,不要过线。@1.21gigawatts“嵌入并在客户端运行”是什么意思?浏览器不需要第一次加载HTML(和css)吗?这是一个移动应用程序(嵌入了所有资源)?我正在编码到Base64,并将设计的快照放在后台。开发人员将在顶部看到设计快照和HTML元素。这将是一种洋葱剥皮技术。我将整个html页面(即标记)传递给内部web控件。所以没有在线资源。都是本地的。这是设计师查看其html标记是否与设计匹配的一种方法。这是一个桌面应用程序。@1.21gigawatts好的,有意义:-)