在演示层中,是否有一种简洁的方法来获取背景图片的归属权?

8
我有一张CC-BY图片,作为背景图在CSS中使用。这张图片仅仅是为了美观,而不是内容。我需要在某处放置此图片的归属信息,并且最好将此归属信息设置为指向图片提供者的链接。然而,我并不想在HTML中添加链接文本,因为这会破坏实际内容和表现之间的分离(我认为,归属链接其实是表现的一部分,因为如果您没有查看背景图片的页面,您不希望看到它)。
是否有任何方法可以正确地分离我的表现和内容呢?
目前我用的代码大概是这样的:

<div class='backgrounded'>
  <div class='content'><h1>Some stuff here</h1></div>
  <div class='attribution'>
    Image from <a href='http://example.com/image'>Lovely CC-BY person</a>
  </div>
</div>

还有CSS:


div.backgrounded {
    background: url(/images/an_image.jpg);
}
div.attribution {
    color: #ffffff; 
    float: right;
}

这段内容中包含了署名信息,而我不想在其中添加。

我考虑过其他方法,包括:

  • 将署名信息放在图片本身中。 这解决了代码分离的问题,但我的图片是一个漂亮的宽幅图像,位于左侧,因此有足够的背景来适应宽浏览器窗口。图片的右下角几乎总是看不到的。 我不知道如何将此署名信息设置为链接。

  • 制作一个包含署名文本的图片,并将其放置在当前署名所在位置,同样在背景上,但在顶部 我想我可以使用JavaScript将其设置为链接。这似乎需要大量的调整。

是否有一种方法可以只在CSS中引用我的图片?如果不能,那么保持良好的分离方式是什么,例如,可以替换图片而无需编辑HTML?


1
有意思,但我认为图像是您内容的一部分。即使它是背景图像,它仍然是您内容的一部分,因此如果您在HTML中添加归属链接,就不会有任何混合。 - JohnP
你好JohnP!问题在于图片实际上并不在我的内容中 - 它只是由CSS引入的,因此目前HTML部分具有归属,但没有实际图像,而CSS知道图像,但不知道归属,两者都不想没有另一个存在! - Duncan Parkes
2个回答

1

你可以在 CSS 本身中留下评论:

div.backgrounded {
    background: url(/images/an_image.jpg); /*Image provided by [name]*/
}

然后属性在CSS中,但它不会在实际页面上显示。


1
这是我的第一反应,但我感觉它可能符合许可证的字面要求,但只对我们这些绝对不是模态的标记读者可见,因此违反了CC-BY精神。在这里,我的解决方案是通过询问创作者来避免猜测,无论OP采取哪种方法都可以奏效。 - msw
看起来有点小气,不是吗?理想情况下,我希望归属可以被查看网站本身的人所阅读,而不仅仅是在源代码中!我想我必须接受归属必须放在HTML内容中这一事实。 - Duncan Parkes

1

CC-BY许可证的相关部分(可读版本)如下:

署名 — 您必须按照作者或许可人指定的方式对作品进行署名(但不能以任何方式暗示他们认可您或您对作品的使用)。

这使我相信,除非有特别规定,否则您可以自行决定署名方式。我认为在背景图片上这样做是完全合理的,就像在这个页面底部您会发现一个谨慎的署名一样。

 site design / logo © 2011 stack exchange inc;

这符合CC-BY精神的要求。我已经将很多作品上传到网上,使用CC-BY许可,我的个人意图是“请不要假装你创造了它”,我认为这是该许可证的普遍使用方式。

既然你必须按定义拥有归属信息,那就走捷径,直接问创作者“可以吗?”。


我确实给原始照片的创作者留了一张便条,这只是礼貌而已!但这并没有解决我想要解决的问题,即关注点分离。理想情况下,应该能够更改背景图像,这只是表现层面(在我看来),而无需改变HTML。我怀疑这并没有真正好的解决方案。 - Duncan Parkes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接