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

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

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

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

CSS

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

Q&A

解決済

1回答

1646閲覧

親要素の疑似要素にCSSを指定すると、子要素に影響が出る。

genjiro

総合スコア9

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/06/20 09:20

前提・実現したいこと

親要素に疑似要素を使ったアニメーションをcssで指定しました。
すると、子要素の疑似要素に影響が出てしまいます。

発生している問題・エラーメッセージ

正しい姿
イメージ説明

親要素にアニメーションを指定すると、矢印の丸枠が消えてしまいます。
イメージ説明

該当のソースコード

html

1<body> 2 <div class="box"> 3 <p>この文章をホバー</p> 4 <div class="arrow"></div> 5 </div>

css

1body { 2 background-color: black; 3 color: #fff; 4} 5 6/* 矢印を描く */ 7 8.box { 9 margin: 0 auto; 10 margin: 100px; 11 width: 50%; 12 border: 1px solid #fff; 13 display: flex; 14 justify-content: space-between; 15} 16 17.arrow { 18 position: relative; 19 display: inline-block; 20 padding: 0 0 0 30px; 21 color: #fff; 22 text-decoration: none; 23 font-size: 15px; 24 margin-left: 50px; 25} 26 27.arrow::before, 28.arrow::after { 29 position: absolute; 30 top: 0; 31 bottom: 0; 32 left: 0; 33 margin: auto; 34 content: ""; 35 vertical-align: middle; 36} 37 38.arrow::before{ 39 box-sizing: border-box; 40 width: 33px; 41 height: 33px; 42 border: 1px solid #fff; 43 -webkit-border-radius: 50%; 44 border-radius: 50%; 45} 46.arrow::after{ 47 left: 8px; 48 width: 8px; 49 height: 8px; 50 border-top: 1px solid #fff; 51 border-right: 1px solid #fff; 52 -webkit-transform: rotate(45deg); 53 transform: rotate(45deg); 54}

css

1.box { 2 position: relative; 3 overflow: hidden; 4 transition: ease 0.2s; 5} 6 7.box:before { 8 content: ''; 9 position: absolute; 10 top: 0; 11 left: 0; 12 z-index: 2; 13 background: rgb(255, 255,255,0.7); 14 width: 100%; 15 height: 100%; 16 transition: transform .8s cubic-bezier(0.8, 0, 0.2, 1) 0s; 17 transform: scale(0, 1); 18 transform-origin: top; 19} 20 21.box:hover:before{ 22 transform:scale(1, 1); 23}

補足情報

解決策をご存じの方がいらっしゃいましたら、教えて頂けると大変助かります。
よろしくお願い致します。

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

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

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

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

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

m.ts10806

2021/06/20 11:33

どうなったら「解決」なのでしょうか。 「子要素への継承をさせない」のでしたらそのまま調べたら出てきそうに思います。
genjiro

2021/06/20 11:44

「子要素への継承をさせない」という発想があるのですね。 恥ずかしながら、知りませんでした。 〇〇:initialを指定することで、解決しました。 ありがとうございます!
m.ts10806

2021/06/20 11:46

「継承」という考え方を知っているかどうかはありますが、 知っていなくてもおおよそ「css 親要素 子要素 影響 無効」のようなキーワードで調べていけばたどり着けたかもしれません。 そのあたりご自身でまとめたうえで回答として投稿し、自己解決としてください。
guest

回答1

0

自己解決

initiallを指定することで、解決。

投稿2021/06/20 11:45

genjiro

総合スコア9

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

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

m.ts10806

2021/06/20 11:47

initialですかね。回答なのでそこは正確にしてもらいたいところです。 できれば、initialにどうやってたどり着けたのかを具体的に記載すると、後から見る人が参考になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問