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

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

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

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

Q&A

解決済

4回答

356閲覧

CSSでの蛍光ペン効果を画像リンクに対しては無効化したいです。

Noripyon

総合スコア10

CSS

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

0グッド

2クリップ

投稿2022/05/21 01:57

こんにちは、色々とサイトをめぐって調べたのですが、どうしても解決への道が見つからないのでお願いします。

問題は、蛍光ペン効果というイメージのリンクの下線 (Hover 時) についてですが、
文字列にはうまく機能しますが、画像だけのリンクだけは下にくっつく余計な蛍光ペン効果を消し去りたいのです。

-HTML-

<a href="xxxx/index.htm"><span><img class="banner" src="xxxx/banner/6.gif" title="xxxxxxxx"></span></a>
(span は何に利用しているか過去のことなので判断できませんでした)

-CSS-

a { transition: 0.2s; font-weight: normal; text-decoration: underline solid 2px; text-underline-offset: 1px; }
a:link { color: #7293d8; text-shadow: 0px 0px 2px #cfdbf4; }
a:visited { color: #7293d8; text-shadow: 0px 0px 2px #cfdbf4; }
a:active { color: #7293d8; text-shadow: 0px 0px 2px #cfdbf4; }
a:hover { color: #4b618e; text-shadow: 0px 0px 2px #b9c5db; background: linear-gradient(transparent 40%, #cddcff 0%);}

img.banner,img.banner2 {transition : 0.2s; width:100%;padding:0px 0px 10px 0px;}

img:hover.banner,img:hover.banner2,img:hover.banner3{
transform: translate(0px,-5px);
transition: 0.2s;ease-in-out;background-color: transparent
}

何をしても、お手上げ状態です。
助けてください、よろしくお願いします…

足りない情報がありましたら、追記しますので、お願いします。

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

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

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

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

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

guest

回答4

0

ベストアンサー

JavaScriptで解決しちゃいましょうか。
下記コードを</body>の前に置いてみてください。

HTML

1<script> 2 const elements = document.querySelectorAll('a'); 3 for (const el of elements) { 4 const banner = el.querySelector('.banner'); 5 if (banner) { 6 el.style.backgroundImage = 'none'; 7 } 8 } 9</script>

投稿2022/05/21 04:52

itagagaki

総合スコア8402

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

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

Noripyon

2022/05/21 05:04

すみません ! この JavaScript は、どの変数を変えると、他の画像にも応用できますでしょうか !? 問題がこの JavaScript で一部 (banner) 解決しました ! 他の部分とは、banner2 などです… !
itagagaki

2022/05/21 05:07

とにかくすべての画像リンクから蛍光ペン効果を除いていいのなら const banner = el.querySelector('.banner'); を const banner = el.querySelector('img'); にすれば良いです。
Noripyon

2022/05/21 05:31

できました ! ほぼ望みどおりでした ! ありがとうございます ! CSS だけでは難しいのでしょうか ^ ^;
itagagaki

2022/05/21 06:19

将来のCSS4には :has() というのが加わって、それでできるようになるかもですが、今はまだ確かSafariしか対応していないはずです。
guest

0

以下ではダメでしょうか?

css

1img:hover.banner,img:hover.banner2,img:hover.banner3{ 2transform: translate(0px,-5px); 3transition: 0.2s;ease-in-out;background-color: transparent 4}

css

1img:hover.banner,img:hover.banner2,img:hover.banner3{ 2transform: translate(0px,0px); 3transition: 0.2s;ease-in-out;background-color: #fff; 4vertical-align: bottom; 5}

投稿2022/05/21 08:45

編集2022/05/21 08:46
a.com

総合スコア871

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

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

0

一つの解決策

HTML

1<a href="xxxx/index.htm"><span class="deco">text</span></a> 2<a href="xxxx/index.htm"><span><img class="banner" src="xxxx/banner/6.gif" title="xxxxxxxx"></span></a>

CSS

1a:hover .deco { 2 color: #4b618e; 3 text-shadow: 0px 0px 2px #b9c5db; 4 background-image: linear-gradient(transparent 40%, #cddcff 0%); 5}

投稿2022/05/21 02:47

itagagaki

総合スコア8402

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

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

Noripyon

2022/05/21 03:31

これは、リンクテキストに class で蛍光ペン効果を指定して、リンク画像だけはそのままただリンクを貼るだけ、ということに解釈してもよいでしょうか ? 画像への蛍光ペン効果だけを無効化することは存在しないのでしょうか… テキストを修正するとなると、作業が膨大になるので、できれば画像へのリンクだけ蛍光ペン効果を無効化をしたいのですが…
guest

0

以下のようにするとどうでしょうか。

css

1 img.banner, 2 img.banner2 { 3 display: block; 4 }

投稿2022/05/21 02:31

Lhankor_Mhy

総合スコア36115

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

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

Noripyon

2022/05/21 03:27

返信ありがとうございます。一瞬うまくいったかなと思いましたが… これを指定すると、ガクガクになってしまいました。 マウスカーソルをあてると、上下にガクガクと揺れたりします。 .k_banner {text-align: justify; } これを利用しているので、5個ある画像 (banner、すべて同じサイズ) を両端ぞろえにしているのです…
Lhankor_Mhy

2022/05/21 03:30

ご提示のコードには .k_banner という要素がないですが、このコードの外側とかにある感じですかね?
Noripyon

2022/05/21 03:45

外側… でしょうか、そういえます。 .k.banner で 5つの banner をまとめてあります。1つ1つの banner は表示サイズはレスポンシブなので可変します。横に 2つです。 あるサイズまで横幅が狭くなると、banner は横幅 100% になり、縦一直線にならびます。 説明が下手ですみません…
Noripyon

2022/05/21 03:51

何度も返信しすみません… □□ □□ □ ↑こんな感じです、横に2つというのは .k_banner という指定で均等割り当てされて中央に余白があり、左右余白無しで揃えています。改行などで横に 2つにはしていません。 ある程度狭めると、レスポンシブで縦に並びます。(5個)
Lhankor_Mhy

2022/05/21 04:13

.k_banner でラップして .k_banner {text-align: justify; } としてみましたが、「ガクガクになってしまいました」という問題が再現しませんでした。 また、ご提示のコードでは、 □□ □□ □ になりませんでした。 おそらく、ご提示の部分には原因はなさそうに思います。 ご提示いただいていない部分に原因があるか、問題の共有が上手くできていないと思います。 問題再現の手順をもう少し詳しく書いていただけますか?
Noripyon

2022/05/21 04:33

ここは、私の個人運営のサイトを掲載してもよいのでしょうか ? 問題の再現 (の手順) の説明が難しくて、URL を載せてしまった方が早いかなと思いましたが…
Lhankor_Mhy

2022/05/21 04:57

これでしたら、単純に、 .k_banner a{ background:none; } でいいのでは?
Noripyon

2022/05/21 05:10

指摘いただいたところを変えてみたのですが、画像の下に、蛍光ペンが残ってました…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問