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

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

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

これは、HTMLの 擬似クラス[hover]に関するタグです。Hoverは与えられた要素へマウスカーソルを置くことを意味します。また、タッチ可能なデバイスでユーザーが要素へタッチすることをHoverと呼ぶ場合もあります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

2回答

8246閲覧

hover時に、にゅる〜と伸びる矢印→をcssで実装したい!

sora135

総合スコア3

hover

これは、HTMLの 擬似クラス[hover]に関するタグです。Hoverは与えられた要素へマウスカーソルを置くことを意味します。また、タッチ可能なデバイスでユーザーが要素へタッチすることをHoverと呼ぶ場合もあります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2020/09/28 11:59

ホバーした時に矢印がニュル〜と動くようにしたいです。

https://diwao.com/2017/06/css-hover-underline-animation.htmlこの動きを直線ではなく矢印で表現したいです。

html
<span class="view-more-hover></span>

css
.view-more-hover{
position: relative;
transition:all 2s ease-out;
opacity:0.3;
}
.view-more-hover::before{
content: "";
display: block;
position: absolute;
top: 8px;
left: 0px;
width: 73px;
height: 2px;
background: #666;
}
.view-more-hover::after{
content: "";
display: block;
position: absolute;
top: 0;
left: 52px;
width: 15px;
height: 15px;
border: 2px solid;
border-color: transparent transparent #666 #666;
transform: rotate(-135deg);
}

.view-more-hover:hover{
opacity:1;
}

このコードだとhoverした時になんの変化もできませんでした。(opacityも効かない)

googleで様々検索したのですが、見つけきレなかったので質問させていただきました。
参考サイト等教えていただけすと嬉しいです!よろしくお願いいたします

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

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

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

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

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

kuma_kuma_

2020/09/28 20:23

質問に書かれているURLのデモ、一度移動しないと確認できないですね(不親切な...) デモですと3パターンありました。まずどれでしょう? また図形の下に矢印であっていますか? それとも https://lopan.jp/css-animation-hover/ transition-delayについて で行っているような処理を矢印で行いたいという事でしょうか?
sora135

2020/09/28 22:03

ご回答ありがとうございます!すごく助かります。 提示いただいたサイトで合っています!transition-delayです。 text-button → この、text-button の文字横スペースにホバーしたら伸びる矢印を作りたいです。(transition-delayで伸びる) 普段はdisplay:noneかopacity:0で隠れてるイメージです。 拙い文章ですが、伝わりましたでしょうか????
yambejp

2020/09/29 00:22

svgとかでやるほうが簡単だと思いますが、spanが必達なのでしょうか?
guest

回答2

0

まず、提示のコードでは " が不足しています。

diff

1- <span class="view-more-hover></span> 2+ <span class="view-more-hover"></span>

これを修正すれば、

このコードだとhoverした時になんの変化もできませんでした。(opacityも効かない)

変化するようになります。ただし、ラインの上にピッタリとマウスカーソルを載せないと反応しないです。ラインの高さが2pxしかないのでなかなか難しいですね。

反応する高さを広げるには、span要素に適切な高さと幅を設定します。ただし、spanはインライン要素なので中身がないと高さも幅も0になりますので、display: inline-block;でインラインブロック要素に変換します。
::before疑似要素の幅は100%にします。::after疑似要素は right で右端に配置します。
これで、:hover に幅を設定すれば矢印が伸びます。

css

1.view-more-hover{ 2 position: relative; 3 transition:all 1s ease-out; 4 opacity:0.3; 5 display: inline-block; /*追加*/ 6 width: 50px; /*追加*/ 7 height: 20px; /*追加*/ 8} 9.view-more-hover::before{ 10 content: ""; 11 display: block; 12 position: absolute; 13 top: 8px; 14 left: 0px; 15 width: 100%; /*修正*/ 16 height: 2px; 17 background: #666; 18} 19.view-more-hover::after{ 20 content: ""; 21 display: block; 22 position: absolute; 23 top: 0; 24 right: 1px; /*修正*/ 25 width: 15px; 26 height: 15px; 27 border: 2px solid; 28 border-color: transparent transparent #666 #666; 29 transform: rotate(-135deg); 30} 31 32.view-more-hover:hover{ 33 opacity:1; 34 width: 200px; /*追加*/ 35}

Codepenサンプル

投稿2020/09/29 01:15

編集2020/09/29 01:22
hatena19

総合スコア34075

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

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

sora135

2020/09/29 21:25

ありがとうございます!初歩的なミスに気付いておりませんでした。すごく助かりました!
guest

0

こんにちは。

以下を追加してみてはいかがですか?

サンプル

css

1.view-more-hover::before{ 2transition:all 2s ease-out; 3} 4.view-more-hover::after{ 5transition:all 2s ease-out; 6} 7 8.view-more-hover:hover::before{ 9 width:173px; 10} 11.view-more-hover:hover::after{ 12 left: 152px; 13} 14

投稿2020/09/29 01:13

Lhankor_Mhy

総合スコア36960

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

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

sora135

2020/09/29 21:26

ご丁寧にありがとうございます!思い通りの形にできました。すごく助かりました!
Lhankor_Mhy

2020/09/30 01:50

いえいえ。 ですが、hatena19さんのご回答の方が優れていると思いますので、ご検討ください。 また、ご解決されたようですので、お手数ですが質問を解決済みにしてください。 https://teratail.com/help#resolve-question
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問