質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

2回答

343閲覧

animtionを付けると配置がおかしくなる

koko122102

総合スコア39

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

0グッド

0クリップ

投稿2021/10/19 06:47

質問失礼いたします。円の中に円を配置しそれにアニメーションをつけるということをしたいです。animationを付ける前は想像通りの配置でしたがanimationを付けると配置がおかしくなってしまいます。この原因は何なのでしょうか。恐れ入りますが、ご教授お願いします。
css animation position changeという風に調べても解決策は出てきませんでした。

イメージ説明
イメージ説明

html

1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <meta charset="UTF-8" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge" /> 8 <title>Document</title> 9 <!-- チャレンジしてみよう --> 10 <link rel="stylesheet" href="try.css" /> 11 <!-- 解答例 --> 12 <link rel="stylesheet" href="answer.css" /> 13</head> 14 15<body> 16 <div class="copyright"> 17 <a target="_blank" href="https://github.com/tobiasahlin/SpinKit">MIT Lisence: SpinKit - @tobiasahlin</a> 18 </div> 19 <div id="container"> 20 <div class="try"> 21 <h2>演習</h2> 22 <p>try.scssを編集しよう</p> 23 <div class="spinner"></div> 24 <div class="double-spinner"> 25 <div></div> 26 <div></div> 27 </div> 28 <div class="rect-spinner"> 29 <div></div> 30 <div></div> 31 <div></div> 32 <div></div> 33 <div></div> 34 </div> 35 </div> 36 <div class="answer"> 37 <h2>解答</h2> 38 <p>answer.scssが適用されています。</p> 39 <div class="spinner"></div> 40 <div class="double-spinner"> 41 <div></div> 42 <div></div> 43 </div> 44 <div class="rect-spinner"> 45 <div></div> 46 <div></div> 47 <div></div> 48 <div></div> 49 <div></div> 50 </div> 51 </div> 52</body> 53 54</html>

sass

1@import "mixin"; 2 3.try { 4 /** ここに記述しよう */ 5 6 & .double-spinner{ 7 8 width: 60px; 9 height: 60px; 10 margin: 0 auto; 11 position: relative; 12 13 14 & div{ 15 16 &:nth-of-type(1){ 17 width: 40px; 18 height: 40px; 19 background-color:gray; 20 border-radius: 50%; 21 position: absolute; 22 top: 50%; 23 left: 50%; 24 transform: translate(-50%,-50%); 25 animation: sk-spin 2s infinite; 26 27 } 28 29 &:nth-of-type(2){ 30 width: 20px; 31 height: 20px; 32 background-color: #333; 33 border-radius: 50%; 34 position: absolute; 35 top: 50%; 36 left: 50%; 37 transform: translate(-50%,-50%); 38 animation: sk-spin2 2s infinite; 39 } 40 41 } 42 43 } 44 45} 46 47@keyframes sk-spin{ 48 0%{ 49 transform: scale(1); 50 } 51 52 50%{ 53 transform: scale(0.5); 54 } 55 56 100%{ 57 transform: scale(1); 58 } 59} 60 61@keyframes sk-spin2{ 62 0%{ 63 transform: scale(0); 64 } 65 66 50%{ 67 transform: scale(1); 68 } 69 70 100%{ 71 transform: scale(0); 72 } 73} 74

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

transform: translate(-50%, -50%)
↑これが、アニメーションの↓これで上書きされているのが原因です。
transform: scale(1)

transform に限らず、CSSでは同じプロパティを2回指定すると、原則として後書き優先で上書きされます。

投稿2021/10/19 07:29

Lhankor_Mhy

総合スコア36074

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Lhankor_Mhy

2021/11/25 10:03

ご解決されませんか? 難しいことがあるようでしたら、コメント欄でお知らせください。
guest

0

transform: translate(-50%,-50%); が上書きされるからです。
transform: translate(-50%,-50%) scale(1);のようにすれば位置のずれは解消されると思います。

投稿2021/10/19 07:19

kei344

総合スコア69400

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問