2016-04-14 5 views
1

私はCSS Loadersを使用していますが、div整列された中心の内部にはtransform: translate(-50%, -50%)を使用しています。CSSローダー|トランスフォーム&ボックスシャドーアニメーションバグ

アニメーションはボックスシャドウを使用しています。

問題:拡大するとアニメーションサークルが下から切り取られています。

私が試したのは:フォントサイズを大きくして円のサイズを大きくすると、カットオフが小さくなります。つまり、フォントサイズを15pxに変更するとカットオフがほとんど消えます。あなたは以下を参照することができますように私はstackoverflowのコードでJSフィドルから同じコードを試してみました

JS-Fiddle

は、バグが発生していないスニペット!

.center { 
 
     position: absolute; 
 
     top: 50%; 
 
     left: 50%; 
 
     display: block; 
 
     -webkit-transform: translate(-50%, -50%); 
 
     -ms-transform: translate(-50%, -50%); 
 
     transform: translate(-50%, -50%); 
 
    } 
 
    .loader:before, 
 
    .loader:after, 
 
    .loader { 
 
     border-radius: 50%; 
 
     width: 2.5em; 
 
     height: 2.5em; 
 
     -webkit-animation-fill-mode: both; 
 
     animation-fill-mode: both; 
 
     -webkit-animation: load7 1.8s infinite ease-in-out; 
 
     animation: load7 1.8s infinite ease-in-out; 
 
    } 
 
    .loader { 
 
     color: #f00; 
 
     font-size: 2px; 
 
     margin: 20px auto; 
 
     position: relative; 
 
     text-indent: -9999em; 
 
     -webkit-transform: translateZ(0); 
 
     -ms-transform: translateZ(0); 
 
     transform: translateZ(0); 
 
     -webkit-animation-delay: -0.16s; 
 
     animation-delay: -0.16s; 
 
    } 
 
    .loader:before { 
 
     left: -3.5em; 
 
     -webkit-animation-delay: -0.32s; 
 
     animation-delay: -0.32s; 
 
    } 
 
    .loader:after { 
 
     left: 3.5em; 
 
    } 
 
    .loader:before, 
 
    .loader:after { 
 
     content: ''; 
 
     position: absolute; 
 
     top: 0; 
 
    } 
 
    @-webkit-keyframes load7 { 
 
     0%, 80%, 100% { 
 
     box-shadow: 0 2.5em 0 -1.3em; 
 
     } 
 
     40% { 
 
     box-shadow: 0 2.5em 0 0; 
 
     } 
 
    } 
 
    @keyframes load7 { 
 
     0%, 80%, 100% { 
 
     box-shadow: 0 2.5em 0 -1.3em; 
 
     } 
 
     40% { 
 
     box-shadow: 0 2.5em 0 0; 
 
     } 
 
    }
<div class="center"> 
 
    <div class="loader">Loading...</div> 
 
</div>

答えて

2

.loaderクラスにtransform: translateZ(0);を削除します。
ここでは必須ではなく、コンテンツを「より底に」設定します。