実現したいこと
要素にホバーした時、背景色を変えるとともに、translateさせたい。
前提
以下のコードで、hoverの中で書いている背景色とtansformのうち、背景色しか変わりません。
発生している問題・エラーメッセージ
エラーは発生していないどころか、開発者ツールには、hoverの時に「transform: translateX(50px);」と表示までされています。なのに、translateは全く動きません。
該当のソースコード
html
1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <link rel="stylesheet" href="style.css" /> 7 <title>Document</title> 8 </head> 9 <body> 10 <div class="container"> 11 <div class="top inners">トップ要素</div> 12 <div class="middle inners">ミドル要素</div> 13 <div class="bottom inners">ボトム要素</div> 14 </div> 15 </body> 16</html> 17
scss
1.container { 2 width: 200px; 3 height: 200px; 4 background-color: #ddd; 5 display: flex; 6 flex-direction: column; 7 justify-content: center; 8 align-items: center; 9 gap: 20px; 10 11 .inners { 12 width: 80%; 13 height: 30px; 14 color: white; 15 display: flex; 16 justify-content: center; 17 align-items: center; 18 border: solid 1px #241717; 19 border-radius: 5px; 20 opacity: 0; 21 cursor: pointer; 22 // transition: 0.3s; 23 24 // ここです!!! 25 &:hover { 26 transform: translateX(50px); 27 background-color: #241717; 28 } 29 } 30 31 .top { 32 background-color: blue; 33 animation-name: kf; 34 animation-duration: 0.5s; 35 animation-delay: 0; 36 animation-iteration-count: 1; 37 animation-fill-mode: forwards; 38 } 39 40 .middle { 41 @extend .top; 42 animation-delay: 0.2s; 43 background-color: green; 44 } 45 46 .bottom { 47 @extend .top; 48 animation-delay: 0.4s; 49 background-color: red; 50 } 51} 52 53@keyframes kf { 54 0% { 55 transform: translateY(100px); 56 opacity: 0; 57 } 58 100% { 59 transform: translateY(0); 60 opacity: 1; 61 } 62} 63
試したこと
JavaScriptで、addEventListenerを使ってstyleごと書き換えたりしましたが、それでも動きません。なぜですか?
どなたか詳しい方がいらっしゃいましたら、お力を貸してくださいm(__)m
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/09/29 00:10
2023/10/04 01:32
2023/10/04 08:36