2017-08-31 13 views
3

質問[解決済み]:円の背景イメージを回転させるにはどうすればよいですか?
リンクhttps://codepen.io/Refath/pen/XaoMEjdivの方向と反対の回転する背景画像

背景は、ユーザーに対するまっすぐなままであるように、こんにちは、私は、サークル要素反対方向の背景画像を回転しようとしているが、回転の同じ大きさにしています。

私はcssキーフレームを使用しようとしましたが、これはベストアイデアではないと気づき、いくつかの調整の後に失敗した[ここ] [1]のソリューションを実装しようとしました。ありがとう。すべてのヘルプは

@import url('https://fonts.googleapis.com/css?family=Quicksand:500'); 
 
body { 
 
    background-image: url(http://1.bp.blogspot.com/-cynjeO46IAM/UBUmNk0NnxI/AAAAAAAAAqg/jpqpb_LMn6U/s1600/tR2hW.jpg); 
 
} 
 

 
.circle, 
 
.r1c, 
 
.r2c, 
 
.r3c, 
 
.r4c { 
 
    border: white 2px solid; 
 
    width: 90px; 
 
    height: 90px; 
 
    border-radius: 90px; 
 
    fill: lightred; 
 
    position: absolute; 
 
    margin: auto; 
 
    background-size: 100px 100px; 
 
    background-repeat: no-repeat; 
 
    background-position: -5px -5px; 
 
    top: 0px; 
 
    bottom: 0px; 
 
    left: 0px; 
 
    right: 0px; 
 
    transition: 0.1s ease-in-out; 
 
} 
 

 
.circle { 
 
    background-image: url(https://media.giphy.com/media/Ry0QlB6DwmCZO/giphy.gif); 
 
    background-position: -9px -9px; 
 
} 
 

 
.r1c:hover, 
 
.r2c:hover, 
 
.r3c:hover, 
 
.r4c:hover { 
 
    width: 108px; 
 
    height: 108px; 
 
    border-radius: 108px; 
 
    transition: 0.3s ease-in; 
 
    background-size: 120px 120px; 
 
    background-position: -5.4px -5.4px; 
 
} 
 

 
.r1c { 
 
    position: relative; 
 
    overflow: hidden; 
 
    top: 200px; 
 
    background-image: url("http://icons.iconarchive.com/icons/xenatt/the-circle/512/App-Google-icon.png"); 
 
} 
 

 
.r2c { 
 
    top: -400px; 
 
    background-image: url(https://www.shareicon.net/data/512x512/2015/09/30/109354_media_512x512.png); 
 
} 
 

 
.r3c { 
 
    left: 400px; 
 
    background-image: url(https://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/F_icon.svg/2000px-F_icon.svg.png); 
 
} 
 

 
.r4c { 
 
    right: 400px; 
 
    background-image: url("https://lh3.googleusercontent.com/mIeBLLu8xOi-1bPbtRO_HYb5d1VchJDLDH4hebMO7R-GNOfueGDtHCKgPWFjwyCAORQ=w300"); 
 
} 
 

 
.r1l, 
 
.r2l, 
 
.r3l, 
 
.r4l { 
 
    border: white 1px solid; 
 
    width: 0px; 
 
    height: 90px; 
 
    border-radius: 90px; 
 
    fill: lightred; 
 
    position: absolute; 
 
    margin: auto; 
 
    top: 0px; 
 
    bottom: 0px; 
 
    left: 0px; 
 
    right: 0px; 
 
} 
 

 
.r1l { 
 
    top: 200px; 
 
} 
 

 
.r2l { 
 
    top: -200px; 
 
} 
 

 
.r3l { 
 
    width: 90px; 
 
    height: 0px; 
 
    left: 200px; 
 
} 
 

 
.r4l { 
 
    width: 90px; 
 
    height: 0px; 
 
    left: -200px; 
 
} 
 

 
.parent { 
 
    top: 0px; 
 
    bottom: 0px; 
 
    left: 0px; 
 
    right: 0px; 
 
    animation: around 7.5s infinite ease; 
 
} 
 

 
@keyframes around { 
 
    0% { 
 
    transform: rotate(0deg); 
 
    } 
 
    25% { 
 
    transform: rotate(90deg); 
 
    } 
 
    25% { 
 
    transform: rotate(90deg); 
 
    } 
 
    50% { 
 
    transform: rotate(180deg); 
 
    } 
 
    50% { 
 
    transform: rotate(180deg); 
 
    } 
 
    75% { 
 
    transform: rotate(270deg); 
 
    } 
 
    75% { 
 
    transform: rotate(270deg); 
 
    } 
 
    100% { 
 
    transform: rotate(360deg); 
 
    } 
 
} 
 

 
.hero { 
 
    color: white; 
 
    font-family: 'Quicksand', sans-serif; 
 
}
<center> 
 
    <h1 class="hero">Hi, User!</h1> 
 
</center> 
 
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 
 
<div class="parent"> 
 

 
    <div class="circle"> 
 
    </div> 
 

 
    <a href="https://www.google.com"> 
 
    <div class="r1c"> 
 
    </div> 
 
    </a> 
 

 
    <div class="r2c"> 
 
    </div> 
 

 
    <div class="r3c"> 
 
    </div> 
 

 
    <div class="r4c"> 
 
    </div> 
 

 
    <div class="r1l"> 
 
    </div> 
 

 
    <div class="r2l"> 
 
    </div> 
 

 
    <div class="r3l"> 
 
    </div> 
 

 
    <div class="r4l"> 
 
    </div> 
 

 
</div>

+0

.... @keyframesに問題は何ですか? –

+0

私はこの問題を解決するためにどのように使用するのか分かりません。私が言ったように、私は比較的経験の浅いです。さらに、キーフレームを使っても、バックグラウンド画像をどのように回転させるかという問題は残っています。 – DarkRunner

+1

同じアニメーションを逆に適用することができます。同様に '.r1c、.r2c、.r3c、.r4c {アニメーション:約7.5s無限の線形; アニメーション方向:逆} '[JsFiddle](https://jsfiddle.net/vj4441nm/) –

答えて

3

は、あなたがこのような何かをしたいです(など、私は、高度なWeb開発者ではないので、私はJSで多くの経験を持っていない)感謝されています

@import url('https://fonts.googleapis.com/css?family=Quicksand:500'); 
 

 
body{ 
 
\t background-color:black; 
 
} 
 
\t img{ 
 
\t \t position:relative; 
 
\t \t width:100%; 
 
\t \t height:100%; 
 
\t \t animation: around 6.5s infinite ease; 
 
\t \t animation-direction:reverse 
 
\t } 
 

 

 
.circle, .r1c, .r2c, .r3c, .r4c{ 
 
\t border: white 2px solid; 
 
\t width: 90px; 
 
\t height: 90px; 
 
\t border-radius: 90px; 
 
\t fill: lightred; 
 
\t 
 
\t position: absolute; 
 
\t margin: auto; 
 
\t 
 
\t background-size: 100px 100px; 
 
\t background-repeat: no-repeat; 
 
\t background-position: -5px -5px; 
 

 
\t top: 0px; 
 
\t bottom: 0px; 
 
\t left: 0px; 
 
\t right: 0px; 
 
\t transition: 0.1s ease-in-out; 
 
} 
 

 
.circle{ 
 
\t background-image: url(https://media.giphy.com/media/Ry0QlB6DwmCZO/giphy.gif); 
 
\t background-position: -9px -9px; 
 
} 
 

 
.r1c:hover, .r2c:hover, .r3c:hover, .r4c:hover{ 
 
\t width:108px; 
 
\t height: 108px; 
 
\t border-radius:108px; 
 
\t transition: 0.3s ease-in; 
 
\t background-size: 120px 120px; 
 
\t background-position: -5.4px -5.4px; 
 
} 
 

 
.r1c{ \t 
 
\t position: relative; 
 
\t overflow: hidden; 
 
\t 
 
\t top: 310px; 
 
\t background-image: url("http://icons.iconarchive.com/icons/xenatt/the-circle/512/App-Google-icon.png"); 
 
} 
 

 
.r2c{ 
 
\t top: -400px; 
 
\t background-image: url(https://www.shareicon.net/data/512x512/2015/09/30/109354_media_512x512.png); 
 
} 
 

 
.r3c{ 
 
\t left: 400px; 
 
\t background-image: url(https://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/F_icon.svg/2000px-F_icon.svg.png); 
 
} 
 

 
.r4c{ 
 
\t right: 400px; 
 
\t background-image: url("https://lh3.googleusercontent.com/mIeBLLu8xOi-1bPbtRO_HYb5d1VchJDLDH4hebMO7R-GNOfueGDtHCKgPWFjwyCAORQ=w300"); 
 
} 
 

 
.r1l, .r2l, .r3l, .r4l{ 
 
\t border: white 1px solid; 
 
\t width: 0px; 
 
\t height: 90px; 
 
\t border-radius: 90px; 
 
\t fill: lightred; 
 
\t 
 
\t position: absolute; 
 
\t margin: auto; 
 
\t 
 
\t top: 0px; 
 
\t bottom: 0px; 
 
\t left: 0px; 
 
\t right: 0px; 
 
} 
 

 
.r1l{ 
 
\t top: 200px; 
 
} 
 
.r2l{ 
 
\t top: -200px; 
 
} 
 

 
.r3l{ 
 
\t width: 90px; 
 
\t height: 0px; 
 
\t 
 
\t left: 200px; 
 
} 
 

 
.r4l{ 
 
\t width: 90px; 
 
\t height: 0px; 
 
\t 
 
\t left: -200px; 
 
} 
 

 
.parent { 
 
\t 
 
\t top: 0px; 
 
\t bottom: 0px; 
 
\t left: 0px; 
 
\t right: 0px; 
 
\t position:absolute; 
 
\t animation: around 7.5s infinite ease; 
 
} 
 

 
@keyframes around{ 
 
\t 0% {transform: rotate(0deg);} 
 
\t 25% \t {transform: rotate(90deg);} 
 
\t 
 
\t 25% {transform: rotate(90deg);} 
 
\t 50% \t {transform: rotate(180deg);} 
 
\t 
 
\t 50% {transform: rotate(180deg);} 
 
\t 75% \t {transform: rotate(270deg);} 
 
\t 
 
\t 75% {transform: rotate(270deg);} 
 
\t 100% \t {transform: rotate(360deg);} 
 
\t } 
 

 
.hero{ 
 
\t color:white; 
 
\t font-family: 'Quicksand', sans-serif; 
 
}
<img src='http://1.bp.blogspot.com/-cynjeO46IAM/UBUmNk0NnxI/AAAAAAAAAqg/jpqpb_LMn6U/s1600/tR2hW.jpg'/> 
 
<center> <h1 class = "hero">Hi, User!</h1></center> 
 
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><div class = "parent"> 
 
\t 
 
<div class = "circle"> 
 
\t </div> 
 

 
<a href = "https://www.google.com"><div class = "r1c"> 
 
\t </div></a> 
 

 
<div class = "r2c"> 
 
\t </div> 
 

 
<div class = "r3c"> 
 
\t </div> 
 

 
<div class = "r4c"> 
 
\t </div> 
 

 
<div class = "r1l"> 
 
\t </div> 
 

 
<div class = "r2l"> 
 
\t </div> 
 

 
<div class = "r3l"> 
 
\t </div> 
 

 
<div class = "r4l"> 
 
\t </div> 
 
\t 
 
\t </div>

+0

応答ありがとうございます。アニメーションを逆にするのは実際にはうまくいくようです。 – DarkRunner

+0

ようこそ@DarkRunner。ハッピーコーディング。 –