メインコンテンツへスキップ
Niquelao Webアクセシビリティとスペイン語のフロントエンド開発:WCAG基準、アクセシブルなウィジェット、Firefox拡張機能を実際のコードで解説。

このサイトの一部のリンクはアフィリエイトリンクです。リンク経由で購入されても、お客様に追加費用はかからず、当サイトが手数料を得る場合があります。これは当サイトのおすすめ内容には一切影響しません。詳細はアフィリエイト開示をご覧ください。 アフィリエイト開示.

ニケラオ » ウェブログアーカイブ » CSS3で複数の背景画像

» ウェブログアーカイブ » CSS 3で複数の背景画像 Niquelao 複数の背景画像をCSS 3で 2009年11月25日、Rumorosoによる CSS 3が導入する新機能の一つ(そして私にとっては歓迎すべきもの)は、同じ要素に対して複数の背景画像を含めることができる点です( http://www.w3.org/TR/css3-background/#layering )。これまでは、複数の画像を背景として組み合わせたい場合、ページ内にある要素のいずれかを使用し、それぞれに背景を適用して望む結果を得るしかありませんでした。時には、純粋にプレゼンテーション目的のマークアップを追加することで、ウェブの品質を低下させることもありました。しかし、今や状況は変わります… CSS 3のおかげで、2つ以上の背景画像を使用したい場合、background-image: プロパティにそれぞれのパスをカンマで区切って追加できるようになりました。例えば: background-image: url(‘fondo1.png’), url(‘fondo2.png’) これほど簡単なことで、適用する要素に2つの画像を背景として持たせるために必要な宣言ができます。もちろん、ここから新たな疑問が生じます… それらは重なり合うのか? 異なる位置に配置できるのか? 一方をある軸で繰り返し、もう一方を繰り返さないようにできるのか? … …そして、そのすべてに対する答えは「はい」です。 重なりについて、最初に宣言された画像がユーザーに最も近い位置に配置されます。次に、その背後に次の画像が配置され(画面に垂直な軸で)、さらに次へと続き、最後の画像がすべての背後に位置します。まるで各画像が層に配置されるかのようです。さらに背景色を宣言した場合、それは使用されたすべての画像の背後に配置されます。 その他の疑問については、一般的な回答ができます。なぜなら、それらはすべて、通常使用するプロパティ、つまり背景画像の位置( background-position )、スクロール時の動作( background-attachment )、繰り返し( background-repeat )を考えたときに生じたものだからです。各画像に特定の値を持たせたい場合、それらを連続してカンマで区切って宣言するだけです(画像自体を宣言したときと同じように)。例えば: background-image: url(‘fondo1.png’), url(‘fondo2.png’), url(‘fondo3.png’); background-position: 0 0, 150px 200px, left center; background-repeat: no-repeat, repeat-x, no-repeat; これで3つの画像を背景として宣言し、最初のものは左上に配置され、2番目は右に150px、下に200px移動し、3番目も左に配置され垂直方向に中央揃えになります。繰り返しについては、最初と最後は繰り返されず、2番目は水平軸で繰り返されます。 しかし、話はここで終わりません。コードを最適化するのが好きな人々(私たち全員であるべきです)のために、いくつかの宣言を短縮できます: background-position: 0 0, 150px 200px, left center; は次になります: background-position: 0 0, 150px 200px, left; center という単語が削除されます。ご存知の通り(または知っているべきですが)、背景の位置値の1つが宣言されていない場合、デフォルトで取るのは中央揃え( center )で、この場合は垂直方向です。 background-repeat: no-repeat, repeat-x, no-repeat; は次になります: background-repeat: no-repeat, repeat-x; 3番目の値は削除できます。理由は、値が不足している場合、すでに宣言された値のリストが画像ごとに1つになるまで繰り返されるからです(したがって、値の関係が再び始まる場合、最初は no-repeat になります)。 しかし、さらに最適化できます。shorthandプロパティ background: を利用して: background: url(‘fondo1.png’) 0 0 no-repeat, url(‘fondo2.png’) 150px 200px repeat-x, url(‘fondo3.png’) left no-repeat; ご覧の通り、これらすべてがデザインの可能性を広げます。一部のブラウザは、現在のバージョンで複数の背景画像のサポートを開始しています。それらの中には、Firefox(バージョン3.6以降)、Chrome 、Safari 、Konqueror があります。これらのいずれかを使用している場合、私が用意した例 で結果を確認できます。残念ながら、Internet Explorer(将来のバージョン9で含まれるかどうかは不明)やOperaではまだサポートされていません。 以下に、サポートがある場合に例で表示される内容のスクリーンショットを含めます(サポートのないブラウザでアクセスすると、点線の境界線のみが表示されます): 言及した以外にも、CSS 3にはいくつかの前述のプロパティに新しい値が含まれ、さらにデザインに大きな柔軟性をもたらす新しいプロパティもあります。次の記事で詳細に扱います。予告として background-size を挙げます… はい、あなたが考えている通りです! 注:記事の技術的な内容以外に、最も魅力的なのは写真のケーキだと思います。少し羨ましがらせるために言うと、写真は私が撮ったもので、Doloresが用意してくれたフルーツケーキです… 彼女もプレゼンテーションを制御するテーマをマスターしているのは明らかですが、さらにコンテンツ管理もマスターしていることを保証します。なぜなら、それは美味しかったからです… 複数の背景画像をCSS 3で カテゴリ:CSS —> 4コメント 複数の背景画像をCSS 3で 2009年11月26日 […] 今や状況は変わります… 複数の背景画像をCSS 3で […] Niquelao » ウェブログアーカイブ » 複数の背景画像をCSS3で に言及したツイート — Topsy.com 2009年11月27日 […] この投稿はJorge Rumoroso、Juanjo FernándezによってTwitterで言及されました。Juanjo Fernándezは言いました:RT @rumoroso: #niquelao 複数の背景画像をCSS 3で http://bit.ly/4YqcJ2 #CSS3 […] Niquelao » ウェブログアーカイブ » CSS 3:背景プロパティ 2009年12月2日 […] 最新バージョンのブラウザでのサポート(「複数の背景画像をCSS 3で」というタイトルの記事で既に言及したように)、場合によっては実験的に含まれています(例えばFirefoxではプレフィックスを使用して […] Niquelao » ウェブログアーカイブ » CSS 3についてさらに:background-originとbackground-clip 2009年12月13日 […] 別の記事で説明したように、CSS 3では複数の背景画像を含めることができます。background-originとbackground-clipプロパティはそれぞれに値を含めることを許可します […] コメントのフォローはRSS 2.0フィードで行えます。また、あなたのサイトからトラックバックを送ることもできます。 前の記事:CSSコースのもう一つのスタイルのタッチ 次の記事:CSS 3:背景プロパティ —> —> —> この作品はCreative Commonsライセンスの下にあります。

P.S. A few readers have asked which superposición de accesibilidad (overlay) we actually reach for — it's accessiBe; if you want the current details.


¿Cumplir WCAG sin tocar el código?

Superposición de IA que promete cumplimiento WCAG en 48 horas