我知道我无法使用CSS更改src
标记的<img>
属性。但是有可能隐藏来自src属性的图像,并在<img>
标签上设置背景图片吗?
我认为是这样的:用填充/文本打算等移出实际图像,然后设置img-tag的背景图像,使其看起来像另一个图像。
Js不是一个选项,因为它是关于模板现有页面的。
答案 0 :(得分:2)
你可以隐藏图像本身:
img#someid { display: none; }
然后(或之前,如果你愿意)在父元素上设置背景。
答案 1 :(得分:0)
我不太清楚“隐藏src属性的图像”是什么意思,但如果你的意思是隐藏你正在显示的图像的链接/路径,使用CSS(甚至作为背景图像)然后答案不,不是我知道的。人们可以轻松查看您的CSS文件。隐藏它的唯一真正方法是使用JS,但即便如此,您也可以从客户端禁用JS并仍然可以查看它。您可以将它放在像MySQL这样的数据库中并使用PHP显示它,但即便如此,仍然会显示图像路径。
答案 2 :(得分:0)
你能否将img包装在没有填充/边距的div中,并将img的display属性隐藏(通过js),以便显示div的背景。
但老实说,如果你不厌其烦,你应该通过js交换图像的src。
答案 3 :(得分:0)
您可以通过将img src指向1x1空白gif图像来实现。
如果您不想添加另一个div,则必须这样做,因为所有浏览器都会以不同方式处理缺少的图像和空src属性。 (例如,如果图像丢失,chrome会在图像周围添加边框。)
然后,您只需更改背景图像属性即可更改图像。
<强>更新强>
您还可以为其创建图像精灵,并通过更改背景位置属性为其设置动画。例如:
假设您有两个50px宽的图像,并且您希望第二个图像显示该元素何时悬停。只需将它们合并在一个图像中,上面的css就可以了。
img { background: url(sprite.jpg) 0 0 no-repeat; }
img:hover { background: url(sprite.jpg) -50px 0 no-repeat; }