• 締切済み

マウスが触ったら表中の1行の背景色変えたい

一覧表を作成しておりますが、その表のある列を触ったら、その列にあるすべてのセル(1行を選択したかのようなイメージ)の背景色を変えたいのですが、どのようにしたらよいでしょうか。 できればCSSで実現したいのですが、無理ならJavaScriptでも結構です。 宜しくお願いいたします。

noname#53833
noname#53833

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

#2です。 >マウスカーソルが上に来たら という意味です。 そういうことであれば <TR onmouseover="this.style.backgroundColor='#3FF'" onmouseout="this.style.backgroundColor='#FFF'"> とかしてみてください。 tr:hover は、現在のところIEでは使えません

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.4

> この~~は、スタイルシートに定義するだけでいいんですよね はい。 ただ、今実験したところ Firefox と Opera ではちゃんと表示されましたが IE ではだめでした。

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.3

「ある列を触る」というのは「マウスカーソルが上に来たら」ということでしょうか? 一行のすべてのセルの色を変えるのなら tr:hover { background: <背景の指定> } td { background: transparent } でできます。 一列のすべてのセルの色を変えるのは CSS では無理です。(JavaScript + DOM なら可能) 「ある列を触る」というのが「そこをクリックしたら」という意味でしたら、CSS ではできませんが JavaScript + DOM なら可能です。

noname#53833
質問者

お礼

補足を2回続けて書けないので、ここに書きます。 一応、UKYさんの通りに実行してみましたがうまくいきません。 この tr:hover { background: <背景の指定> } td { background: transparent } は、スタイルシートに定義するだけでいいんですよね。

noname#53833
質問者

補足

回答ありがとうございます。 >「ある列を触る」というのは「マウスカーソルが上に来たら」ということでしょうか? マウスカーソルが上に来たら という意味です。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

テーブルの中のTRエレメントを <TR onclick="setBGCOLOR(this)"> のように行をクリックした時にjavascriptを起動するようにして、 Javascriptの方で <script type="text/javascript"> <!-- var oldRow; function setBGCOLOR(r){ if(oldRow!=null)oldRow.style.backgroundColor="#FFF";//WHITE oldRow=r; r.style.backgroundColor="#3FF";//薄いBLUE } //--> </script> のような感じにすると概ねそういう感じにできると思います。

noname#53833
質問者

お礼

ありがとうございます。 参考にさせていただきます。

  • PCFREAK
  • ベストアンサー率51% (417/805)
回答No.1

単なるTABLEタグの背景色を変えたいと言っているならば、CSSでもJavaScriptでも無理です。 その行の背景色を変えたHTMLを再読み込みする事しか方法がありませんが、非現実ですよね。 そういうリッチな表現をするなら最近はFLASHを使うのが流行ですが、TABLEタグですらなくなるので・・・。

noname#53833
質問者

お礼

ありがとうございます。 参考にさせていただきます。

noname#53833
質問者

補足

ありがとうございます。 参考にさせていただきます。

関連するQ&A

  • 表の1行おきに背景色をつけたい

    ビルダーV9を使っています。 5列300行ほどの表があるのですが これを1行おきの列毎に背景色をつけたいのです。 ExcelのようにCtrlキーを押しながら 複数行指定できないので、困っています。 作業をラクにする方法はありませんか? 何卒宜しくお願い致します。

  • エクセルの表に数字を入力するときに行と列に色をつける!!

    エクセルで大きな表を作成した時に、表に数字を入れる場合、行と列を間違えて入力してしまうことがあります。それを防止するためにあるマクロが動いているあいだは、マウスがオーバーする行、列のセルに色を付けるようなマクロを作ろうかと考えました。(セルなどをクリックしなくても、マウスが移動すれば、マウスがかかっているセルの行と列に色がついてまわる)単純に、MauseMoveイベントで処理って思いつきましたが、対象がグラフにしかありません。で、途方にくれました。また、仮に、イベントの処理方法が判ったとしても、単純にセルに色をつけたり消したりしたのでは、元々表に色が付いていた場合、消して回ることになります。なにか?どのようにすれば実現が可能でしょうか?イメージ的には、CADなどでX軸とY軸に垂線と水平線がカーソルについて回るって感じです。 最大の問題は、カーソルが通り過ぎた時に元々の色に戻すっててんだと思いますが、どなたか?詳しい方がイラッシャイましたら教えて頂けないでしょうか? 宜しくお願い致します。

  • 掛け算の表を99×99まで作りたいんですけど、TABLEでやったら、すごいので、JavaScriptで作れませんか?100×100マスですね(かけられる数とかける数の列と行を加えるから) かけられる数とかける数だけセルの背景を変えてほしいです。 できますか?教えてください

  • CSSでの表の作成について

    CSSでの表の作成方法を教えてください。 table要素使わずCSSのみで表の作成は可能でしょうか? 作成したい表は 2列10行の表で、列幅は それぞれ違った幅を指定、行の高さも それぞれの行によって 高さを変えたいと思っています。 背景色の指定、ボーダーの指定もしたいです。 table要素使わずCSSのみで表を作成するには、どうしたらいいのか教えてください。 初心者なので、CSSの内容とHTMLの内容(ソース)を書いたものがあると助かります。 どうかよろしくお願いします。

  • セルに背景色がある行を別シートにコピー

    ある一覧表があり、その中のC列のセルにある条件を満たしていれば背景色をつけています。 この色付セルがある行全体を別のシートに順次コピーして一覧表を作成させるマクロを以下のように作ってみました。 h = 6 For i = 7 To 最終行 If Worksheets("一覧表").Cells(i, "C").Interior.ColorIndex = 背景色番号 Then Sheets(1).Select Rows(i).Copy Sheets(2).Select h = h + 1 Rows(h).Select ActiveSheet.Paste End If Next データが少ないときはこれで問題がなかったのですが、件数が増えてきますと処理時間がかなり掛かります。4000件のデータで30分経っても終わりませんでした。 もっと処理時間が短くなるスマートな方法はありませんでしょうか?

  • ワードで、列や行が増減しても表のサイズが変わらないようにしたい

    ワードで作成した表が、仮に縦15cm、横15cm の行5(セルの高さ3cm)、列5(セル幅3cm) で全て均等の高さ・幅だとします。 そこで、行を1行減らしたとします。 でも、高さは15cmのままで、セルの高さが 自動的に変わる(この場合セルの高さ3cm→3.75cm) ような設定って出来ませんか? (通常は1行減らすとこの場合、高さ12cmになりますよね?) 列の場合も同じ設定にしたいのです。 『表のオプション』で色々試してみたのですが、  上手く行きませんでした。(-_-;) 又、行・幅が均一で無い表でも上記のように表全体の 大きさは変わらずにすることは出来ますか? 自分では、行・列を増減させてから、好みの大きさ にして、『列(幅)を幅(高さ)を揃える』機能を する方法しか見つかられませんでした。

  • 表の幅について

    現在ビルダー11を使ってHPを作成しています。 例えば表を1行5列の表を挿入した際に、表の全体のサイズが小さいと思い、横に広げ大きくしたします。今の状態は5列目のセル幅のみが極端に広い状態ですよね。そこから5列全てのセル幅を均等にする方法はないのでしょうか? ワードのように5列全てを選択し、右クリックして「列の幅を揃える」で瞬時に変更するような方法はありませんでしょうか? よろしくお願いします。

  • エクセル 表の行と列

    すみませんが、ご教授願います。 Excelで作成した表の行と列の説明で次のうち間違いはどれか 1.行と列を入れ替えて新たな表を作成するときは 行と列を入れ替える機能を使うと便利である 2.行や列のセルを対象にしての関数計算の際、行や列を 非表示にするとエラーメッセージが出て計算が出来ない 3.ある行や列を非表示にして印刷する際 非表示にした部分は印刷されない 4.現在のシートの行と列の表示を 右から左へ表示することが出来る

  • 特定行の色を変えたい(FlexGrid)

    VB2005環境にてFlexGridを使用しています。 ある列のセルの値が1になったら、その行の背景色を灰色にしたいと 思っているのですが、その方法についてご教授ください。 おそらくは値が変わった時に何かイベントを取得できると思うので、 その時に例えば左から2列めの該当セルが1にされたら、色を変える… というような考え方で良いでしょうか? ただ、それを実現するためのイベントが何か、また、行の値を 変える方法がわからず困っています。 (ROWプロパティでしょうか?) 申し訳ないのですが、サンプルコードを交えて教えていただけ ないでしょうか? よろしくお願いします。

  • Word2007で表の中に表を作成した時の不具合

    Word2007において、 (1) 「挿入」→「表」で、3列3行の表を作成します。 (2) 作成した表の3列3行目のセルの中に3行空白行を作成します。 (3) 2行目に、「挿入」→「表」で、2列2行の表を作成します。 (4) (3)で作成した表の下の空白行を削除します。 (5) 2列2行の表の上下に空白行が1行ずつあることを確認して、3列3行の表の外の行をクリックします。 (6) 2列2行の表の下の空白行が1行消え、2列2行の表の下線と3列3行目のセルの下線が重なってしまいます。 3列3行の表の中の、2列2行の表の上下に空白行が1行ずつあるようにしたいのですが、上記のようになってしまいます。 3列3行目のセルの行の高さをドラッグ等により変更する。または、2列2行の表の下の空白行に空白1文字分を入力する。のどちらかを行えば、何とか2列2行の表の上下に空白行が1行ずつあるようにできます。 上記のような行の高さ変更や、空白文字を入れることなく、上記手順(1)~(4)で表の中に表を作成した場合に、セルの下端に空白行ができない理由をご存知の方は教えてください。

専門家に質問してみよう