Opera等でテーブルの背景にグラデーションを利用する方法

このQ&Aのポイント
  • テーブルの背景にグラデーションを利用する方法について解説します。
  • IEではスタイルシートを使用してfilterプロパティを指定することでグラデーションを作成できますが、Operaなどではこの方法は使えません。
  • そのため、テーブルの背景にグラデーション画像を使用することが必要ですが、縦方向に色が変化するグラデーション画像を作成する方法についても考慮する必要があります。
回答を見る
  • ベストアンサー

Opera等でもグラデーションを利用できるよに

お世話になります。 テーブルの背景にグラデーションを利用したいのです。 IEであればスタイルシートで filter: progid:DXImageTransform.Microsoft.gradient (startcolorstr=#FFFFD9, endcolorstr=#FFFF99, gradienttype=0); のように記述すればよいと思うのですが、Opera等ではそれができません。 なので、テーブルの背景にグラデーション画像を用意しようと思ったのですが、 グラデーションは縦に色が変わっていきたいのです。 横に変わっていくのであれば、横幅は固定なので その画像が繰り返し表示されれば問題ないと思うのですが。 縦のグラデーションでかつテーブルの高さは可変です。 画像よりテーブルが大きくなってしまった場合には、繰り返されてしまいます。 テーブル枠にあわせて、背景の画像の大きさも替えることはできないでしょうか? よろしくお願いいたします。

  • HTML
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

「枠付きのグラデーション」というのは、テーブルの左右の枠線のことですか?(グラデーション画像の左右が枠線になっているということですか?) 幅が固定なら、テーブルと同じ横幅サイズのグラデージョン画像を3分割して、セルの背景として、上部・中央(可変部分用)・下部のように指定する方法はどうですか?

rabu_chihaha
質問者

お礼

ありがとうございます。 アドバイス通りですやりました。 可変部のグラデーション画像はある程度の大きさで作成しておいて、それより大きい場合には、上のほうだけグラデーションになるようにしました。

その他の回答 (2)

回答No.2

#1訂正です。 誤: backgroundプロパティで背景画像を「no-repeat」に指定して繰り返さないようにしておく。 正: 「repeat-x」に指定して横方向だけに繰り返すように指定しておく。 でした。

rabu_chihaha
質問者

補足

ありがとうございます。 説明をしていなかったのですが、 グラデーションだけでなく。枠付きのグラデーションなんです。 角が丸い四角の枠なので、 一緒に画像で作ってしまえば楽かなと考えたのですが。 通常IEの場合はスタイルシートで角が丸い枠線を 引くことができないので。(FireFoxは可能でしたが) 可変テーブルサイズで 枠の角が丸くて、中はグラデーション というの不可能でしょうか?

回答No.1

最も簡単な方法として、単純に、可変で変化するテーブルの高さを計算に入れた上で縦に大きめの画像を背景に指定して、backgroundプロパティで背景画像を「no-repeat」に指定して繰り返さないようにしておく。 さらに、背景画像よりテーブルが長くなってしまった場合に備えて、backgroundプロパティで背景色をグラデーション最下部と同じ色に指定しておけばいいのではないでしょうか?

関連するQ&A

  • CSSで背景にグラデーションをかけたいけどできません。

    filter: progid:DXImageTransform.Microsoft.Gradient (StartColorStr=#000099, EndColorStr=#ffffff, GradientType=0) これをcssファイルのbodyのところに下記のように 付け加えたのですが反映されません。 BODY{ font-style:normal font-weight:normal font-size:small text-align:center;/ color:#000000 filter: progid:DXImageTransform.Microsoft.Gradient(StartColorStr=#000099, EndColorStr=#ffffff, GradientType=0) } 元は背景色と背景画像が指定してあった部分 background-color:#ffffff;/ background-image:url(./img/back.gif);/ を消してそこに入れたのですがそれは問題ないですよね? 教えてください、お願いします。

    • ベストアンサー
    • CSS
  • グラデーション背景にしたい

    こんにちは。 ホームページ作成初心者の者なのですが、 ページの背景をグラデーション背景にするために スタイルシートで以下のようにしてみました。 しかしグラデーション背景になりません。 どこがおかしいのでしょうか? ---------- ・ ・ ・ <title></title> <STYLE> <!-- body{ filter:progid:DXImageTransform.Microsoft.Gradient (startcolorstr='#68b4ff',endcolorstr='#ffffff',gradienttype='1') ; } --> </STYLE> </head> <body>

    • ベストアンサー
    • HTML
  • CSSの背景色について

    HTMLにCSSを挿入して、背景色で、グラデーションを作っていますが、その背景色を、画面の真ん中から上のみに設定したいんですが、 そのようなタグはなく、どうしても、そのような設定を考えているんですが、何かいい方法はありませんか? 私が作ったタグです、 <style type="text/css"> <!-- body{ filter:progid:DXImageTransform.Microsoft.Gradient (startcolorstr='#7A99EE',endcolorstr='#FEFFD7',gradienttype='0' ) } --> </style> 何かいいアイディアがあったらお願いします

  • グラデーション背景と画像固定背景

    こんにちは。 ホームページ作成初心者の者なのですが、ページの背景をグラデーション背景の上に固定した画像背景を乗っけようと考えているのですが、グラデーション背景のタグを入れると画像背景のタグが無効になってしまいます。この二つを同時に有効にする事は不可能なのでしょうか。 ちなみにタグは <HEAD> <STYLE> <!--BODY { background-image : url(back2.gif) ; background-repeat : no-repeat ; background-position : 90% 90% ; background-attachment : fixed ;} --> </STYLE> <STYLE> <!-- body{ filter:progid:DXImageTransform.Microsoft.Gradient (startcolorstr='#68b4ff',endcolorstr='#ffffff',gradienttype='1') } --> </STYLE> (省略) </HEAD>

  • htmlかcssで背景の白い枠をなくす方法

    お世話になっております。 個人でホームページ制作をしているのですが html、cssについての質問です。 現在制作中のホームページなのですが 背景をグリーンから白のグラデーションになるように設定したのですが白い枠ができてしまいました。 こちらを消す方法をどなたかご存知でしょうか? 背景のグラデーションはcssで以下のように設定しました。 .html { filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#e8ffd7,endColorStr=#ffffff); } 現在制作中のホームページ ​http://www14.ocn.ne.jp/~testpage/​

    • ベストアンサー
    • HTML
  • 背景グラデーションが、firefox、GoogleChromeなどで表示されません

    webページを作成しているのですが、 IEではきちんと表示される背景のグラデーションが、firefox、GoogleChromeなどでは表示がされません。 (白背景になります。その他の画像などの表示は正常です。) ソースはbody内で、下記を使用しております。 <div id="obj1" style="width:100%;height:100%;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#46B0E5,endColorstr=#3A6EB6)"> 原因は何でしょうか?よろしくお願い致します。

  • safari3のグラデーション

    css3のグラデーション設定をしています。 IE(7、8)と、safari(3x、4x、5x)に対応させるべく、 IE用 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#***, endColorstr=#***); safari用 background: -webkit-gradient(linear, left top, left bottom, from(#***), to(#***)); を設定しています。 IE7、8、safari4、5では再現されているのですが、 safari3xだけ、どうしても再現されません。 思い当たることはいろいろしてみたのですが…。 どなたかわかる方、ご教授いただければと思います。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • CSS グラデーションが反映されない

    DreamWeaverでサイトを制作しています。 下記のように書いてもブラウザ上にグラデーションが反映されないのですが、 どういった原因が考えられるのでしょうか? #header{ color:#fff; background-color:#F60;   moz-box-shadow: 0 0 .05em rgba(0,0,0,0.4); -webkit-box-shadow: 0 0 .05em rgba(0,0,0,0.4); /* For WebKit (Safari, Google Chrome etc) */  background:-webkit- gradient(linear, top, bottom, from(#f60), color-stop(0.3,#C30), to(#fff));  /* For Mozilla/Gecko (Firefox etc) */  background: -moz- linear-gradient(-45deg, #f60, #fff);  /* For Internet Explorer 5.5 - 7 */  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F06000, endColorstr=#FFFFFFFF);  /* For Internet Explorer 8 */  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#FF0000FF, endColorstr=#FFFFFFFF)"; } フォントについてやbox-shadow等は反映されるのですが、グラデーションだけが。。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • IE以外でのfilter

    filter: progid:dximagetransform.microsoft.gradient(startcolorstr=#000000, endcolorstr=#ffffff, gradienttype=1); ・・のようなIE独自のフィルター効果を他のブラウザで表示させるには「画像を使用する」以外に無いのでしょうか? Opacityなどは出来るようですが・・。

    • ベストアンサー
    • CSS
  • スタイルシ-トの色をPealの変数で変更できますか

    print <<"END_HERE"; <style type="text/css"> <!-- body{ filter:progid:DXImageTransform.Microsoft.Gradient (startcolorstr='NAVY',endcolorstr='RED',gradienttype='0') } --> </style> END_HERE 上記は背景をNAVYからREDにグランテイションするスタイルシ-トです 変数を使用してREDをランダムに他の色に変更したいのですができますか。 よろしくお願いします。

    • ベストアンサー
    • CGI

専門家に質問してみよう