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

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

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

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

解決済

3回答

1753閲覧

がぞうボタンをホバーすると左からスワイプして文字を『詳しく見る』と表示したい。

退会済みユーザー

退会済みユーザー

総合スコア0

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

0グッド

0クリップ

投稿2021/10/07 05:12

編集2021/10/07 06:24

下記サイトを参考にして、ボタンを作成しています。
https://www.nxworld.net/css-ghost-button-good-chemistry-hover-effect.html

ボタンにホバーすると、左からスワイプしながら背景を白にしたのです。

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

もし詳しい方がいらっしゃれば教えていただけるととても助かります。

よろしくお願いします。

html

1<div class="contact-section__btn"> 2 3<!--★ここのボタンをホバーすると左からスワイプして文字を『詳しく見る』と表示したい。 --> 4<a class="button" data-hover="詳しく見る" href="#">お問い合わせへ</a> 5 6</div>

css

1 2.button { 3 position: relative; 4 display: inline-block; 5 padding: .5em 4em; 6 border: 2px solid #fff; 7 color: #fff; 8 text-align: center; 9 text-decoration: none; 10 outline: none; 11 overflow: hidden; 12} 13.button::after { 14 position: absolute; 15 top: 50%; 16 left: 0; 17 z-index: 2; 18 display: block; 19 content: attr(data-hover); 20 width: 100%; 21 height: 100%; 22 padding: .5em 4em; 23 background-color: #fff; 24 color: #333; 25 opacity: 0; 26 transition: all .3s; 27 -webkit-box-sizing: border-box; 28 box-sizing: border-box; 29} 30.button:hover::after { 31 top: 0; 32 opacity: 1; 33}

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

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

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

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

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

guest

回答3

0

ベストアンサー

いろいろおかしかったので、あちこち修正しました。
どこを修正したかは、元のと比べてください。

css

1.contact-section__btn-link { 2 position: relative; 3 border: 1px solid #ffffff; 4 margin: auto; 5 width: 360px; 6 height: 60px; 7 line-height: 60px; 8 display: flex; 9 text-align: center; 10 background: #333333; 11 color: #ffffff; 12 overflow: hidden; 13} 14 15.btn-text { 16 width: 100%; 17 height: 100%; 18 z-index: 10; 19} 20 21.btn-hover { 22 display: block; 23 position: absolute; 24 top: 0; 25 left: -50%; 26 width: 100%; 27 display: block; 28 background: #ffffff; 29 z-index: 11; 30 transition: .3s; 31 color: #333333; 32 opacity: 0; 33} 34 35.contact-section__btn-link:hover .btn-hover { 36 left: 0; 37 opacity: 1; 38} 39 40.button { 41 position: relative; 42 display: inline-block; 43 padding: .5em 4em; 44 border: 2px solid #fff; 45 color: #fff; 46 text-align: center; 47 text-decoration: none; 48 outline: none; 49 overflow: hidden; 50} 51.button::after { 52 position: absolute; 53 top: 0; 54 left: -50%; 55 z-index: 2; 56 display: block; 57 content: attr(data-hover); 58 width: 100%; 59 height: 100%; 60 padding: .5em 4em; 61 background-color: #fff; 62 color: #333; 63 opacity: 0; 64 transition: all .3s; 65 -webkit-box-sizing: border-box; 66 box-sizing: border-box; 67} 68.button:hover::after { 69 left: 0; 70 opacity: 1; 71} 72body { 73 background-color: navy; 74}

CodePen サンプル

投稿2021/10/07 06:22

hatena19

総合スコア34075

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

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

退会済みユーザー

退会済みユーザー

2021/10/07 06:42

やりたかったことができました。 ありがとうござました!
guest

0

htmlにボタンが二つ存在していてよくわからないのですが、

.button::after { position: absolute; top: 0; /*ここを変更*/ right: 50%; /*ここを変更*/ z-index: 2; display: block; content: attr(data-hover); width: 100%; height: 100%; padding: .5em 4em; background-color: #fff; color: #333; opacity: 0; transition: all .3s; -webkit-box-sizing: border-box; box-sizing: border-box; } .button:hover::after { right: 0; /*ここを変更*/ opacity: 1; }

こういうことでしょうか?

投稿2021/10/07 05:39

vabo

総合スコア171

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

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

退会済みユーザー

退会済みユーザー

2021/10/07 06:23

はい、そうです。
guest

0

scss

1.btn-text:hover { 2 .btn-hover { 3 display: block; 4 width: 100%; 5 } 6}

↑は↓にコンパイルされます。

CSS

1.btn-text:hover .btn-hover { 2 display: block; 3 width: 100%; 4}

.btn-text と .btn-hover は兄弟なので、子孫結合子ではダメです。

scss

1.btn-text:hover { 2 &+.btn-hover { 3 display: block; 4 width: 100%; 5 } 6}

としてみてはどうでしょうか?
それでも少し動きが変なように見えますので、適宜変更してください。

投稿2021/10/07 05:25

Lhankor_Mhy

総合スコア36960

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

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

退会済みユーザー

退会済みユーザー

2021/10/07 06:45

.btn-text と .btn-hover は兄弟なので、子孫結合子ではダメです。 →そうなんですね。 削除してべつの方法を考えます。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問