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

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

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

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

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

Q&A

解決済

3回答

532閲覧

td タグ内のリンク反応 / hover 範囲を隣 td にまで広げたい。

BetterEveryday

総合スコア19

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

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

0グッド

1クリップ

投稿2022/05/22 05:03

編集2022/05/22 12:29

実現したいこと

  1. 隣 td タグ内でもリンクが反応する
  2. 隣 td タグ内での Hover でリンク文字色が変わる (白になる)

発生している問題

1. 左 td 内ではリンクが反応しない 2. 左 td 内での Hover ではリンク文字色が変わらない

イメージ説明

該当のソースコード

html

1 <div id="button"> 2 <table> 3 <tr> 4 <td valign="top" width="50%" class="box"> 5 <table border="0" width="100%"> 6 <tr> 7 <td class="sLabel" width="20px"></td> 8 <td class="sBody" width=""><a href="#">リンク</a></td> 9 </tr> 10 </table> 11 </td> 12 </tr> 13 </table> 14 </div>

css

1 #button { background:#eeeded; } 2 #button .box { background:#fff; font-size:16px; width:100%; height:70px; line-height:70px; } 3 #button .box a { display:block; } 4 #button .box a:hover { background:#cc141c; color:#fff; } 5 #button .box:hover { background:#cc141c; color:#fff; } 6 #button div { display:inline-block; width:0%; min-width:420px; }

試したこと

リンクのブロック指定。
display:block;

補足情報(FW/ツールのバージョンなど)

SharePoint Online Web パーツ内のタグ構造を使用しているため、
id や class が指定されていない場合はタグ構造から指定する必要があります。
こちらの html ソースはその一部になります。

css 単独では対応できない場合、javaScript で html タグを例えば以下のように書き換えれば、

html

1 <div id="button"> 2 <table> 3 <tr> 4 <td valign="top" width="50%" class="box"> 5 <table border="0" width="100%"> 6 <tr> 7 <td class="sLabel" width="" ></td> 8 <td class="sBody" width="" style="margin-left:20px;"><a href="#">リンク</a></td> 9 </tr> 10 </table> 11 </td> 12 </tr> 13 </table> 14 </div>

左に空白を残しながら、全域にリンクが動作するようになるのでしょうか?

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

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

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

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

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

guest

回答3

0

実現したいことは、これと同じ結果でしょうか?

html

1<style> 2 a.a_box{ 3 background:#fff; font-size:16px; width:100%; height:70px; line-height:70px; 4 display: block; 5 } 6 a.a_box:hover{ 7 background:#cc141c; color:#fff; 8 } 9 td.td_box{ 10 min-width:420px; 11 text-align: center; 12 } 13</style> 14<table> 15 <tr> 16 <td class="td_box"> 17 <a href="#" class="a_box">リンク</a> 18 </td> 19 </tr> 20</table>

投稿2022/05/23 06:57

One_of_Arthur

総合スコア77

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

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

BetterEveryday

2022/05/23 11:53 編集

One_of_Arthur さん、 ご検討 / 回答いただきまして、どうもありがとうございます。 SharePoint は html 構造を自動生成/編集してしまうため、いつも対応に苦慮していますが、 今回は疑似要素の配置で解決できました。 私の悩み解決のために貴重なお時間とお気持ちを いただきましてどうもありがとうございました。
guest

0

ベストアンサー

aリンクの疑似要素を position:absolute#button .box の範囲まで拡張すればどうでしょう。
下記のCSSを追加してみてください。

css

1#button .box { 2 position: relative; 3} 4#button .box a::after{ 5 position:absolute; 6 content:""; 7 top:0;right:0; 8 bottom:0;left:0; 9 z-index:1; 10}

Codpen Sample

投稿2022/05/23 02:38

hatena19

総合スコア33715

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

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

BetterEveryday

2022/05/23 12:20 編集

hatena19 さん、 いつも優しく導いていただきまして、どうもありがとうございます。 擬似要素を使って位置移動させる、というのは私にはまったく思いつけないことでした。 熟練 CSS 開発者 hatena19 さんならではの応用テクニックですね。 今回、教えていただきました、position プロパティと、重なり順序を指定する z-index プロパティを使いこなしていければ、自由に Web 表現できるようになりたい、という、私の夢に近づいていけるように思います。 (長い間悩んでいた、長大な一覧表のヘッダ固定にも使えそうですので、意気揚々としています) 周りに相談できる開発者がいない環境の中で、自分ではどうしようもなく、 半ば諦めていた中での、ダメ元での投稿でしたので、たいへん助かりました。 今回も私の悩み解決のために貴重なお時間とお気持ちを、 助けていただきましてどうもありがとうございました。
guest

0

tableの中にtableを置くことはさけてください
cssで処理するには無理があります。
あえてやるならtr:hover的な処理ですがそれも命題の処理としては不十分だと思います
どうしてもというならjsで実装してください

投稿2022/05/23 00:41

yambejp

総合スコア114843

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

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

BetterEveryday

2022/05/23 11:53 編集

yambejp さん、 ご検討 / 回答いただきまして、どうもありがとうございます。 SharePoint は html 構造を自動生成/編集してしまうため、いつも対応に苦慮していますが、 今回は疑似要素の配置で解決できました。 私の悩み解決のために貴重なお時間とお気持ちを いただきましてどうもありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問