【发布时间】:2013-11-21 20:00:51
【问题描述】:
这是我的猫/动画的JSFIDDLE 没有任何 drop-shadows 尽可能清楚地显示问题。据我了解,这是由border-radius 引起的,也可能是由overflow: hidden; 引起的。
猫头鹰不是这个问题的意思,只是我遇到的类似情况的一个例子。jsfiddle/cat 是这个问题的意思,抱歉混淆了!
这是我的猫的JSFIDDLE,使用box-shadow 的blur 属性插入框阴影,并且像素化边缘在眼睛周围仍然相同。
这里的答案确实解决了我在猫头鹰图像中看到的问题,但不能解决这个答案的内容。
这是使用第三个值blur 时带有inset box-shadow 的猫。
我在 Safari、Chrome 和 Firefox 中测试过这个小提琴,它们似乎都显示相同。
我有两只眼睛盯着我昨天开始用 CSS 制作的 Cheshire Cat。一切都渲染得很好,我还用 CSS 制作了一个 Owl(我最初认为这是类似的情况,但事实并非如此),它在眼睛像素化方面有一个非常小但类似的问题在边缘。
我也尝试给眼睛一个紫色的边框,但像素化的边缘在边框的边缘保持不变。
在我的新 CSS 创作中,眼睛的外边缘非常像素化,似乎是父圆圈的颜色(黄色)。
这是眼睛的 CSS。
.eye {
border-radius: 50%;
height: 100px;
width: 100px;
background: #FAD73F;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
overflow: hidden;
position: relative;
display: inline-block;
box-shadow: 0 3px 15px rgba(0, 0, 0, 0.4);
z-index: 100;
}
.pup {
border-radius: 50%;
height: 20px;
width: 20px;
background: #2b2b2b;
display: block;
position: absolute;
top: 40px;
left: 40px;
}
.lidT {
display: block;
width: 100px;
height: 100px;
background: #821067;
position: absolute;
top: -80px;
z-index: 20;
}
.lidB {
display: block;
width: 100px;
height: 100px;
background: #821067;
position: absolute;
bottom: -80px;
z-index: 20;
}
下面是我用来制作这个动画/生物的 jsfiddle。
我认为问题是由...引起的……
我认为问题的根源在于我的 .eye 中包含的 .lidT 和 .lidB 类。
它似乎在它的边缘将眼睑切掉了1px。试着让眼睛在小提琴中闪烁,看看我的意思。
图像也不是不可能的,但出于学习的原因,我想坚持先制作 CSS 图像。
无用的样式列表
box-shadowborderbox-sizing不是 Firefox 独有的错误
结束列表
更新
解决方法是在眼睛上添加一个眼窝或外部主标签。这隐藏了像素化,但只是解决问题的一种方法。
查看 apaul34208 答案了解更多详情
这是 apaul34208 答案的问题,
看看眼睛的左侧和顶部是如何平坦的,我很想知道我的问题是浏览器问题还是 CSS 问题。
结束更新
截至 2013 年 11 月 13 日的最佳选择
在.eye 上使用背景渐变似乎是迄今为止最干净的解决方案。请参阅 ScottS 的回答。
这也适用于 Firefox、Chrome、Safari 和 IE。 (在 IE 中稍微有点毛边,比以前好多了)
非常感谢任何和所有帮助!
【问题讨论】:
-
我不得不说那是一只相当可爱的猫头鹰:D
-
@Terry 为什么谢谢你!他是我制作的第一个
CSS3人物/图像,并且非常喜欢他的表现。 (那个网站也没有一张图片!:]) -
它在我测试过的 Firefox、chrome 和 safari 中看起来是一样的。
标签: html css css-shapes