当我将边框半径和背景渐变应用于<li>
时,圆角看起来粗糙和粗糙。 Check it out on this jsfiddle边框半径+渐变+盒子阴影导致衣衫褴褛的边缘
我在Chrome和FF中看到了这个。如果我删除渐变或边界半径问题消失。
任何想法,为什么发生这种情况,我会如何解决它?
更新: 我正在构建基于Josh F的想法的jQuery解决方案(请参阅下面的完整答案)。这是一个简单的jQuery函数,在它后面追加元素的副本。目前,这些脚本将目标元素的位置设置为relative
。 (我可以看到这是在某些情况下出现问题。)我的代码是对的jsfiddle here.
很酷。很高兴知道。你知道任何变通(除了恢复到图像文件的背景?)? – emersonthis 2012-04-18 14:19:58
@爱默生,使用图像文件背景将*不*解决背景。这是背景本身如何绘制的问题,并不是特定于渐变(请参阅[jsFiddle示例](http://jsfiddle.net/wCtgh/1/))。我典型的解决方法是使用一个'box-shadow'和'background',它与父代的'background'离得太远了。尽管透明间隙仍然可见,但并不明显。不以任何方式理想,但它的工作原理。另一个选择是不使用“border-radius”(因为这是主要的罪魁祸首)。 – 0b10011 2012-04-18 14:30:15
呵呵。我认为我遵循你所说的话,但看起来梯度也是问题的一部分。没有?当我在Chrome浏览器上查看你的jsFiddle(平坦背景)时,问题就不存在了。 – emersonthis 2012-04-18 15:34:35