边界半径溢出:隐藏,且文本不被剪切。

| 我正在圆形div内做一些样式化的文本,这些文本正好碰到容器的顶部。我已经能够控制几乎所有内容,嵌套的div,设置为背景的图像等,并且它们都可以成功剪辑,但是这一操作给我带来了极大的悲伤。 由于我们具有动态的图形背景,因此使用老式的图像边框或掩盖并不是解决方案。我们需要一种实际剪切文本的解决方案。 这在Firefox 3.x和较旧版本的Chrome中最明显 这是要使用的示例代码: http://jsfiddle.net/vfp3v/1/
div {
    -moz-border-radius: 45px;
    border-radius: 45px;
    background-color: #ccc;
    font-size: 100px;
    color: #777;
    line-height: 70%;
    overflow: hidden;
    width: 257px;
}
讨厌的人: 请注意,它已在新的Chrome和FireFox 4-shui中修复: 我们的大多数站点用户都是Firefox 3.6,因此也希望能够为他们提供一个优雅的解决方案。任何帮助表示赞赏!干杯     
已邀请:
这个适用于FF 3.6:http://jsfiddle.net/vfp3v/15/ 它有一些缺点,如您在第二个示例(在FF 3.6中)所看到的那样,剪切掉的边框具有纯色,因此,如果您使用的是某种背景,可能看起来很难看。只是看一看,它可能适合您的需求。 我刚刚添加了一个跨度:
<div><span></span>WXYZ</div>
然后将其放在文本上,并带有与背景颜色相同的边框,并且位移与边框一样大:
div{
    position:relative;
    etc...
}
span{ 
    position:absolute; display:block; width:100%; height:100%;
    border:25px solid #fff; top:-25px; left:-25px;
    -moz-border-radius: 70px; border-radius: 70px; /* 45 radius + 25 border */       
}
编辑:刚刚在chrome 10.0.6中测试了此代码(它具有剪切错误),并且可以正常工作! 在正确支持边框半径的浏览器中,跨度(及其边框颜色)甚至不可见,因为它被裁剪掉了(溢出:隐藏)。     

要回复问题请先登录注册