これは、問題をできるだけ明確に示すために、私の猫/アニメーションのJSFIDDLEです drop-shadows
。私の理解では、これは が原因でありborder-radius
、おそらく が原因overflow: hidden;
です。
フクロウはこの質問の内容ではなく、私がいた同様の状況の例にすぎません。
これは私の猫のJSFIDDLEblur
で、 a のプロパティを使用したインセット ボックス シャドウbox-shadow
があり、目の周りのピクセル化されたエッジは同じままです。
ここでの回答は、フクロウの画像で見たものを解決しますが、この回答の内容については解決しません。
inset box-shadow
これは、3 番目の値 を使用する while を持つ猫blur
です。
このフィドルを Safari、Chrome、および Firefox でテストしたところ、すべて同じように表示されるようです。
昨日から CSS で作り始めたチェシャ猫には 2 つの目があります。すべてが非常にうまくレンダリングされ、CSS からフクロウを作成しました(最初はこれが似たような状況だと思っていましたが、そうではありません)。これは、縁の周りで目がピクセル化されているという非常にマイナーですが同様の問題があります。
また、目に紫色の境界線を付けようとしましたが、ピクセル化されたエッジは境界線の端で同じままでした.
私の新しい 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 です。
問題の原因は...
.lidT
問題の根本は、 の中に含まれているおよび.lidB
クラスによって引き起こされていると思い.eye
ます。
1px
まぶたを縁のあたりで切り落としているようです。フィドルで目をまばたきさせて、私の言いたいことを確認してみてください。
画像も問題外ではありませんが、学習上の理由から最初に CSS 画像を作成することに固執したいと思います。
役に立たないスタイルのリスト
box-shadow
border
box-sizing
Firefox だけのバグではない
エンドリスト
アップデート
回避策は、アイ ソケットまたは外側のメイン タグをアイに追加することです。これによりピクセル化が隠されますが、問題の回避策に過ぎません。
詳細については、apaul34208 の回答を参照してください。
ここに apaul34208 の回答の問題があります。
目の左側と上部がどのように平らであるかを確認してください。私の質問がブラウザの問題なのか、それとも css なのかを知りたいです。
更新の終了
2013 年 11 月 13 日現在の最良の選択肢
で背景グラデーションを使用する.eye
ことは、これまでのところ最もクリーンなソリューションのようです。ScottSの回答を参照してください。
これは、Firefox、Chrome、Safari、および IE でも機能します。(IE bu の少しラフは以前よりずっと良くなっています)
どんな助けでも大歓迎です!