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

CSS

 状態:-  閲覧数:5,917  投稿日: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利用

導入時メモ

 閲覧数:592 投稿日: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」の違い

 閲覧数:623 投稿日: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;



週間人気ページランキング / 11-19 → 11-25
順位 ページタイトル抜粋 アクセス数
1 鉄道会社毎のカラーコード | カラーコード(色) 13
2 FontAwesomeでアイコンが□(四角)になって表示されない Forbidden  | Font Awesome(フォント) 11
3 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 10
4 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 7
5 Design 0 6
6 「東京都」のカラーコード取得は難しい | カラーコード(色) 5
6 Fireworks で背景画像透明化 | Fireworks CS3(Fireworks) 5
7 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 4
7 RGB ⇔ Lab | 色変換(色) 4
7 「Google Chrome」の文字が突然ギザギザで表示されるようになったら、「chrome://flags/#top-chrome-md」へアクセス後、右上の「Reset all」ボタンをクリックします。 | Google Chrome(ブラウザ) 4
8 個人的によく見返すエントリーへのLinkなど | その他 3
8 「:after擬似要素」は、Chromeの「要素を検証」で確認できない | 擬似(CSS) 3
8 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 3
8 色モデルイメージ図 | 色変換(色) 3
8 ICCプロファイル | カラーマネージメント(色) 3
9 RGB ⇔ XYZ / CIE RGB / sRGB(D65) / sRGB(C) / Adobe RGB / NTSC RGB 2
9 max-width: 100%の効果を打ち消すには、max-width: none; | CSS 2
9 要素毎に順番で背景色変更 | 擬似(CSS) 2
9 「bgcolor」「background-color」「background」の違い | CSS 2
9 GIMPで「レイヤーとして開く」を選択した画像、の位置情報(x,y)を表示させる方法が分からない | GIMP 系(ソフトウェア) 2
2024/11/26 1:01 更新