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

CSS

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

導入時メモ

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

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



週間人気ページランキング / 9-28 → 10-4
順位 ページタイトル抜粋 アクセス数
1 RGB ⇔ Lab | 色変換(色) 19
2 鉄道会社毎のカラーコード | カラーコード(色) 18
3 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 13
4 「東京都」のカラーコード取得は難しい | カラーコード(色) 9
5 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 7
6 「overflow」効果を打ち消すスタイルシートは、「overflow: auto;」 6
6 RGBの種類 / ビットカラー | RGB(色) 6
6 FontAwesomeでアイコンが□(四角)になって表示されない Forbidden  | Font Awesome(フォント) 6
7 max-width: 100%の効果を打ち消すには、max-width: none; | CSS 5
7 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 5
7 「bgcolor」「background-color」「background」の違い | CSS 5
8 黒体 / 色温度 / D65(6500K)/ D50(5000K)/ K | 色 4
8 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 4
9 「コズミックブルー」は、くすんだ青系全般の色を指す用語だと思います。 | カラーコード(色) 3
9 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 3
9 aタグで複数のブロック要素を囲むやり方 | CSS 3
9 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 3
10 HTML5では「ブロックレベル要素」「インライン要素」で分類しない | HTML5(HTML) 2
10 「Google Chrome」の文字が突然ギザギザで表示されるようになったら、「chrome://flags/#top-chrome-md」へアクセス後、右上の「Reset all」ボタンをクリックします。 | Google Chrome(ブラウザ) 2
10 Design 0 2
2024/10/5 1:01 更新