CSS3で背景色にグラデーションをつける

CSS

 状態:-  閲覧数:6,610  投稿日:2012-02-08  更新日:2013-04-03
CSS3で背景色にグラデーションをつける時は、IE用に背景を個別指定

メニュー背景にグラデーションを適用しているはずなのに、IEだとうまく適用されないことがある。
保険の意味で(IEで背景グラデーションが表示されない場合のことも考慮して)、cssで固定色も設定しておけばよいかも、と思ったのでメモ

Googleが提供しているHTML5.jsは、CSS3グラデーションとは無関係
CSS3はブラウザ依存。ブラウザがCSS3プロパティに対応していればHTML側はHTML4でもHTML5でもXHTML1.0でも可
IE9は、CSS3グラデーションに対応していない
「IE9」… SVG拡張子ファイル作成し、CSSで普通に指定 background-image: url("/○○.svg");
「IE6/7/8」… PIE.htc利用

導入時メモ

 閲覧数:811 投稿日:2012-02-08 更新日:2013-04-03

IEでは背景グラデーションが効かない


以前もやってしまったが、今回もミスっていたのでメモ。
それは、「IEでは背景グラデーションが効かない」、ということ。

<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

とか、
 <!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

とかで、IEにも適用されるかと思ったけど、それは別の話。


HTML5.jsって何?




「HTML5」と「CSS3」の違い

 閲覧数:859 投稿日:2012-02-08 更新日:2013-04-03
違いが分からないので、調べる。

HTML4でCSS3は利用可能ですか?

調べるまでは、「CSS3」って、「HTML5」じゃなきゃ使えない、と思い込んでいたので、ちょっとショックだった。ブラウザ依存なのか…。

というわけで、本題に戻ると、
背景グラデーションを利用するには、CSS3利用が必須。
しかし、IE8まで(?)はCSS3非対応。
IE9は、CSS3一部対応。

そのため、IEにCSS3を対応させるためのハック情報がネットに溢れている。

ここで勘違いしたのが、IE8対応ハックを利用すれば、当然、IE9にも対応されるだろう、という自分勝手な(?)思い込み。


■CSS3 PIE(PIE.htc)
デザクロ技術メモ(HP・CSS・SEO): CSS3 PIE(PIE.htc)が上手く動作しない際の注意点|デザインクロス〔山形県鶴岡市=庄内のホームページ制作会社|通称デザクロ〕
全部試すもIE9で反映されず。後で気付いたが、「Internet Explorer(6・7・8)」とは書かれていても、IE9とは一言も書かれていない。当然いけるでしょ? とこちらで勝手に思い込んでしまった…。

このサイトを見て、ようやく気が付いたよ。IE9はまた別なのか……
[CSS3]今から出来るIE対策 「影とグラデーション編」 | CreaMo!-クリーモ!-クリエイティブをMotto!集めるブログ


何故かIE9が出来ない!
私だけかもしれませんが、IE9だけグラデーションが効きません




■SVG拡張子ファイルを作成
【CSS3】IE9にCSS3のグラデーションを適用する | r-tgw.net:WEBの備忘録 – ブログ -
IE9用の背景グラデーション画像を自動生成する | r-tgw.net:WEBの備忘録 – ブログ -
半角スペースとかの関係でうまくいかなかったので、コピペは、下記SVGソースを利用
【レビュー】IE9でグラデーションを実現する方法 | エンタープライズ | マイナビニュース

出来た!

※うまくいかない時は、ブラウザで、.SVGファイルへ直接アクセスしてみればよいと思われ。うまくいっているときは、画像(?)が表示される

一応、SVGファイルについて調べる。
Scalable Vector Graphics - Wikipedia

ちなみに、作成したSVGファイルは、普通の画像閲覧ソフトでは、開けないみたい。


後は、グラデーション微調整を行い、終了。

出来たわ。
面倒くさいから、IEは固定色でいこうかと思ったけど、
いざ仕上げてみると、やっぱグラデーションはいいかも、と思ったので、これから利用することにしよう。

難しくはない。
ただただ、メンドクサイだけ。

だけど、一度出来てしまえば、次からは意外に簡単かもしれない……


divタグがdisplay:block;とかしても、ブロック要素にならないときは、

max-width: 100%の効果を打ち消すには、max-width: none;



週間人気ページランキング / 4-1 → 4-7
順位 ページタイトル抜粋 アクセス数
1 Design 0 28
2 Chromeシークレットモードで、ウインドウ幅をリサイズしようとすると、下限制限を受ける | Google Chrome(ブラウザ) 22
3 拡張機能が Chrome によって無効にされました / この拡張機能は破損している可能性があります。 | Chrome 拡張機能 16
4 Material Design 2014 年 | Material Design(色) 12
5 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 11
6 RGB → 色相H … 最小値基準 × 図形 の考え方 | 色変換(色) 8
7 ログイン 6
7 空間的 / 可逆な JPEG ファイルの読み込みは実行されません | Photoshop CS3(Photoshop) 6
7 Adobe Camera Raw 4.0 | Photoshop 6
8 RGBの種類 / ビットカラー | RGB(色) 5
8 「東京都」のカラーコード取得は難しい | カラーコード(色) 5
9 色モデルイメージ図 | 色変換(色) 4
9 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 4
9 画像縦横比の問題 | 画像 4
9 「属性」「プロパティ」「アトリビュート」の違い | CSS 4
9 カラーコード / 色コード | カラーコード(色) 4
9 漫画 カテゴリー 4
9 16進数カラーコード / 2進数 4
9 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 4
10 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 3
2026/4/8 5:05 更新