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

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

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

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

HTML5

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

受付中

hoverしたら線が伸びるタイプのボタンはどう組むのでしょうか。

moreenbi
moreenbi

総合スコア0

CSS3

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

HTML5

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

1回答

0評価

0クリップ

13閲覧

投稿2017/12/10 10:09

編集2022/01/12 10:55

hoverしたら線が伸びるタイプのボタンはどう組むのでしょうか。
なんとなく、:hoverと::before要素で組むんだまでは辿り着いたのですが、
真似てもうまくいかず・・・。

イメージ説明

理想として思っている上の図を動かすことで
動きは.itemをhover前には6pxの線とmoreが見えて、
.itemをhoverすると6pxの線が10pxの線になり同時にmoreボタンも4px右に移動した形になることです。
もちろん、hoverを外したら、元の6px線とmoreボタンの位置に戻っていくという一連の動きが表現したいです。
線の位置は恐らく今のままで良いです。
伸びる方向は右へ6pxから10pxまで伸びることですね。

うまく動かないことから間違っているコードを組んでいることはわかりますが、
どうすれば正しく組めるのか全然糸口もわからない状態です。
こう組むのよと教えて頂けるととても助かります。

html

<div class="item"> <a href="#"> <div id="text-area">text</div> <span class="more-btn">more</span> </a> </div>

css

.more-btn{ position: relative; display: block; overflow: hidden; } .more-btn::before{ content: ""; display: inline-block; margin-right: 1em; width: 6px; position: absolute; background-color: #000; height: 1px; } .item:hover .more-btn::before{ width:10px; backgroud-color:#fff; }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

karamarimo
karamarimo

2017/12/10 10:18

線の位置や伸びる方向は現状のままでいいということですか?
moreenbi
moreenbi

2017/12/10 10:24

線の位置は現状のままで大丈夫です。コードを見て弄れるのではと思っておりまして・・・。伸びる方向は右へで6pxから10pxに伸びることが理想です。
karamarimo
karamarimo

2017/12/10 10:30

試した所、現状でも右に伸びるようになっています。ホバー時に backgroud-color:#fff; となってますが、「background」の「n」が抜けています。ホバー時に真っ白にすると\(背景が白なら\)見えなくなると思いますが、いいのでしょうか?
karamarimo
karamarimo

2017/12/10 11:55 編集

そのCSSではその図のような見た目にはならないですが、例えばMOREをどのように中央に配置しているのでしょうか。関連するCSSをすべて載せてもらえますか?
JunheeHan
JunheeHan

2017/12/10 11:56

なんどもすみません!自分で何とかしようと最小限だけアップしたのですが、やはりどうしてもとなって…。text-align:centerとline-heightをボックスの大きさまでつけて真ん中にしてます。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

CSS3

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

HTML5

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