放置阴影文本:CSS或图形



我有一个内部web应用程序,页面顶部有一个图像,目前包含一些带阴影的英文文本。我现在需要提供此页面的各种语言的本地化版本。我的主要选择是:

  • 根据支持的语言提供不同的图形,包含本地化文本
  • 使用CSS在普通图像上定位本地化文本,使用复杂的CSS技术在大多数当前浏览器中获得阴影

还有其他选择吗?这是一个教育环境,我无法控制学生使用的浏览器。

我确实尝试过从图形中删除阴影,也尝试过将文本移动到HTML的标题中,但都不吸引人。人们说这看起来像是当前页面的廉价仿冒品,这伤害了我的自尊心。

就我个人而言,我非常喜欢CSS技术来获得这样的视觉效果。最大的好处是,您可以将效果的处理转移到客户端,节省带宽和内容创建时间(每个区域的自定义文本图像都是一个大订单!),并让用户更快地下载页面。

避免它的唯一原因是,如果你绝对必须在几乎不支持CSS的非常旧的(IE5)浏览器上使用阴影。

编辑:我只是想了一些事情——我有一些这样的情况,我需要一个特定的字体或一些确切的文本效果。我用PHP将文本和效果渲染到图像中,并缓存到服务器端。这样,您就可以避免内容创建过程,并获得更广泛的浏览器支持,以换取带宽和服务器CPU时间。如果折衷是可以接受的,那就由你决定了。

根据请求在服务器端为每种语言生成图像,并添加阴影。根据需要缓存它们。

如果你可以使用Image Magick,你可以参考本教程生成文本+阴影。。。

用文本维护图像可能很痛苦——即使没有本地化,我也会避免。

在使用您的选项之前,我会尝试两个选项:

  • 寻找一个生成阴影图像的免费程序,只要你的程序检测到标题有新的文本可用,你就可以让它使用
  • 使用可以作为文本下方的背景图像重复的阴影图像

如果这些都不起作用,我会尝试CSS,但在使用它之前,请在尽可能多的浏览器中测试它

Safari支持用于放置阴影的专有CSS属性,但它在其他浏览器中不起作用。CSS3也会有阴影(实际上只有一个用于框,但也许它也可以用于文本,例如当框有透明背景时)。

但是,到目前为止,大多数浏览器甚至还没有100%的CSS2支持,我想你需要选择两个选项中的一个。当然,有一个不那么复杂的CSS技巧可以获得阴影:

为每个人提供阴影

但它们看起来并不像真正的阴影那么好看,因为它们没有模糊。此外,您还需要在HTML中有两次文本,才能使其工作。

最新更新