HTML5/CSS3を使ってウェブページを作成しています。
HTML5
1<ul> 2 <li><a>hoge</a></li> 3 <li><a>fuga</a></li> 4 <li><a>piyo</a></li> 5</ul> 6 7<style> 8 ul{ 9 list-style: none; 10 display:flex; 11 justify-content: flex-end; 12 height: 100%; 13 align-items: center; 14 } 15 16 li{ 17 padding: 10px 30px; 18 margin-right: 3em; 19 20 text-align: center; 21 color: gray; 22 } 23 24 a{ 25 text-align: center; 26 letter-spacing: 1px; 27 cursor: pointer; 28 font-size: large; 29 transition: all 500ms; 30 } 31 32 a:hover{ 33 letter-spacing: 5px; 34 color: black; 35 } 36</style>
といったCSSを書いて、カーソルを合わせたときに文字間隔が少しだけ開いて色が変わるアニメーションをつけたいのですが、添付画像のように「fuga」に重ねると「hoge」が、「piyo」に重ねると「hoge」と「fuga」が増えた文字幅分ずれてしまいます。。
これをカーソルを合わせた文字だけ動かして、他は場所がズレないようにしたいのですが、どのようにCSSを書けばよいのか分からないので教えてほしいです。
a:hoverの中にmargin-leftやpadding-leftをマイナスで指定したり、widthを切り替えたり、z-indexを変えたりとやってみましたが、動く幅は切り替わるものの完全に動かないといった挙動は実現できませんでした。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/11/24 08:18