2013-06-04 43 views
7

我有一个响应式网站,它有一个动态大小的背景图像,有一些黑暗和明亮的区域。在浏览器中,字体颜色被调整为与背景图像的颜色具有良好的对比度。背景感知文本颜色

不幸的是,在响应式(移动)设计中,某些文本分层叠加在重新调整大小的背景图像的较暗部分,文本可能非常难以阅读。有谁知道一个jQuery插件或技术的文本可以让它知道背后的背景,并相应地改变风格/颜色?

+4

为什么不根据css媒体查询改变文本的颜色,例如? –

+0

不错的话题,我希望得到一些有创意的答案 - 也许是计算文本背后像素(sumerized)十六进制的画布解决方案? –

+0

某些文本阴影或轮廓可能会解决较大文本上的问题。否则我会选择opace背景 – SpaceBeers

回答

2

您可以使用文字阴影来标记文字的边缘。

body { 
/* your rules */ 
color: rgba(0 , 0, 0, 0.8); /* just a guess that it might be black;*/ 
text-shadow: 
    0 0 1px gold, 
    0 0 3px white; /* choose how many and which colors */ 
} 

这是想法

1

你问什么就基本意味着这个:

  • 文本分配每个字从顶部<span>
  • 使用%的位置被包裹/留在图片所在的位置,并动态分配颜色以跨越该区域。

缺少一个更好的词,不要。这很荒谬,而且合理化的开销太多了。

为什么不直接给文本的容器提供一个半透明的背景,以便它更突出?

.Container { 
    background-color:rgba(0,0,0,0.5); 
} 

这提供了一个浅色调的文本弹出图像,同时仍然让整个图像显示在页面上。

文字 - 阴影解决方案也是一个好主意,但只是一个提醒,它不会在IE9上工作。我的解决方案可以在IE9上运行,但不能在IE8上运行,这并不意味着它更好,而只是需要记住。