HTMLにおけるbackground-image属性の設定の詳細な説明

HTMLにおけるbackground-image属性の設定の詳細な説明

写真といえば、まず背景画像が思い浮かびます。私たちの装飾の多くは背景画像を使用して実現されているからです。この場合は、背景画像を制御する CSS から始めましょう。

定義と使用法

background-image プロパティは、要素の背景画像を設定します。

要素の背景は、パディングと境界線を含み、余白を除く要素全体のサイズを占めます。

デフォルトでは、背景画像は要素の左上隅に配置され、水平方向と垂直方向に繰り返されます。

1.CSSは背景画像を制御します。

ウェブページのデザインを始めるとき、背景画像が何であるかについてはあまり考えないかもしれません。なぜなら、ほとんどの場合、背景色をデザインするだけでよいからです。その理由は非常に単純で、フォアグラウンド ミュージックと同様に、背景はウェブページを開く速度に一定の影響を与えるからです。しかし、一般的な個人サイトや個人ブログでは、自分の個性を表現するために欠かせないものとなっています。もちろん、完璧すぎるものはありません。長所と短所があります。つまり、画像が利用できないが CSS が利用できる場合は、代替コンテンツが表示されません。したがって、ナビゲーション ボタンのテキストなどで CSS 背景画像を使用することはお勧めしません。
背景画像を制御するための CSS プロパティは多数あり、そのほとんどは画像に関連するものであれば使用できます。

(1)背景画像のインポート:

もちろん、誰もが最もよく知っているのは、background と background-image です。
Web ページの背景画像をデザインするためのコードは次のとおりです。

本文 {background:url("d:\images\04.jpg")}

または

本文 {背景画像:url("d:\images\04.jpg")}
このようにして、背景として使用したい画像を Web ページにインポートできます。

(2)背景画像の表示方法:
もちろん、上記のコードだけを使用しても、望む効果を表現することはできません。なぜなら、画像が小さいとタイル状に表示され、大きいとスクロールバーが表示されて表示されてしまうからです。そのため、background-repeat を使用するなど、さらに表示制御を行う必要があります。

次の値を取ります:

repeat : デフォルト値。縦方向と横方向の両方向の背景画像タイル
no-repeat : 背景画像はタイル表示されません
repeat-x : 背景画像は水平方向にのみ並べられます
repeat-y : 背景画像は垂直方向にのみ並べられます

コードについては、CSS について少しでも知っている人なら、次のようになると思います。
本文 {background:url("d:\images\04.jpg");background-repeat:no-repeat}
この場合は元の画像サイズで表示されます。

(3)背景画像サイズの制御:

しかし、問題は、画像が大きすぎる場合はどうなるかということです。良いウェブページを作るには、大きすぎる画像を使用しないことがベストです。理由は上で述べたとおりで、ウェブページを開く速度に影響します。 PS または FireWorks を使用して処理したほうがよいでしょう。しかし、そういえば、画像のサイズを制御するのに CSS を使用するのもいいかもしれません。
多くの人が自然に次のコードを使用すると思います。


コードをコピー
コードは次のとおりです。

<スタイル タイプ="text/css">
本文{背景画像:url("d:\images\04.jpg");幅:350px;高さ:350px;}
</スタイル>

それは良いアイデアですが、ブラウザはそれをサポートしていますか? IE や FF は間違いなく見て見ぬふりをすると思います。フォーラム スタイルを設計したとき、それが実現可能だったのかと疑問に思うかもしれません。上記のコードだけだと、BODYのサイズを制御するだけなので、画像を制御するのは不可能だと思います。もちろん、これは制御不能です。他のIDタグであれば、タグのサイズを制御できると思います。ハハ、もちろん画像のサイズではありません。
正直に言うと、この問題はあなたを悩ませているだけでなく、私も悩ませています。それは単なるプロパティ値であり、実際のオブジェクトではないからです。 CSS を使用して制御することをお考えの場合は、忘れずにお知らせください。

補足: W3C は 9 月 10 日に「CSS 背景と境界モジュール レベル 3」というタイトルの記事を公開しました。この記事では、CSS 背景にこれまで見たことのないいくつかのプロパティが追加されました。

背景クリップ:
背景の起源:
background-size : 背景サイズ。
背景ブレーク:

これらの属性は存在しますが、現在それらをサポートするブラウザはありません。とても悲しいです。

(4)背景画像の位置制御:

背景画像をインポートしましたが、その位置がまったく受け入れられません。デフォルトでは左上揃えになっているためです。しかし、このように配置したくないので、どうすればよいでしょうか?心配しないでください。エキサイティングな瞬間がもうすぐやって来ます。では、background-position、background-position-x、background-position-y について学んでいきましょう。

a. 基本的な構文:

背景位置: 長さ || 長さ
背景位置: 位置 || 位置
背景位置x: 長さ | 左 | 中央 | 右
background-position-y : 長さ | 上 | 中央 | 下

b. 構文値:

長さ: パーセンテージ | 浮動小数点数と単位識別子で構成される長さの値。
位置: 上 | 中央 | 下 | 左 | 中央 | 右

c. 例:

本文 { 背景画像: url("d:\images\04.jpg"); 背景位置: 50% 50%; 背景繰り返し: 繰り返しなし; }
本文 { 背景画像: url("d:\images\04.jpg"); 背景位置x: 50%; 背景繰り返し: 繰り返しなし; }
本文 { 背景画像: url("d:\images\04.jpg"); 背景位置 y: 50%; 背景繰り返し: 繰り返しなし; }

length | top | center | bottom の値については、以下の 3 つの例のみを記述します。

本文 { 背景画像: url("d:\images\04.jpg"); 背景位置: 右上; 背景繰り返し: 繰り返しなし; }
本文 { 背景画像: url("d:\images\04.jpg"); 背景位置: 50% 中央; 背景繰り返し: 繰り返しなし; }
本文 { 背景画像: url("d:\images\04.jpg"); 背景位置: 60px 中央; 背景繰り返し: 繰り返しなし; }

たくさんの例を挙げていただいたので、ポジショニングについてはある程度理解していただけたと思います。

(5)背景画像の透明度設定:

場合によっては、画像を常に透明に設定したいことがあります。

(6)複数の背景画像を設定する:

「Beyond CSS: The Essence of Web Design Art」で複数の背景画像の設定を見ました。しかし、残念なことに、現在タブ内で複数の背景画像をサポートしているブラウザは非常に少なく、私が知っているのは Apple Safari だけです。どうしてこんなことが可能なのかと疑問に思うかもしれません。この例を見終わった後、あなたは「ああ、CSS3 以前は、各要素に 1 つの画像しか使用できなかったのに」と驚くと思います。それを研究したい場合は、すぐに SAFARI ブラウザをインストールしてください。私にとって、これが前進への道だと信じています。一言で言えば、CSS を解釈する能力が強い人が開発のトレンドとなり、完璧な WEB 標準を持つ人が明日のブラウザのスターとなるでしょう。

コードは次のとおりです。

コードをコピー
コードは次のとおりです。

体 {
背景画像:
url("d:\mypic\001.png"),
url("d:\mypic\002.png");
url("d:\mypic\003.png");
url("d:\mypic\004.png");
背景繰り返し:
繰り返しなし、
繰り返しなし、
繰り返しなし、
繰り返しなし、
繰り返し-x、
繰り返しますが、
繰り返し-x、
繰り返しますが、
背景位置:
左上、
右上、
右下、
左下、
左上、
右上、
右下、
左下;}

<<:  MySQL はどのようにしてデータベースの削除と暴走を効果的に防ぐことができますか?

>>:  CSS3 フレックスボックス自動記入の書き方を詳しく解説

推薦する

フィールドの文字セットの違いによる MySQL のインデックス失敗の解決策

インデックスとは何ですか?なぜインデックスを作成するのですか?インデックスは、列に特定の値を持つ行を...

MySQLデータベースのnullに関する知識ポイントのまとめ

MySQL データベースでは、null は一般的な状況です。MySQL での null に関する注意...

IIS 7.5はURL書き換えモジュールを使用してWebページのリダイレクトを実現します。

Apache では構成ファイルで Web ページまたは Web サイトの書き換えを簡単に設定できる...

Linux 名前空間ユーザーの詳細な説明

ユーザー名前空間は Linux 3.8 で追加された新しい名前空間で、ユーザー ID やグループ I...

Vueソースコード解析における仮想DOMの詳しい説明

なぜ仮想DOMが必要なのでしょうか?仮想 DOM はブラウザのパフォーマンス問題を解決するために設計...

アバターと国旗の統合を実現する1行のCSSコード

今日は建国記念日で、誰もが祖国の誕生日をお祝いしようとしています。毎年この時期になると、WeChat...

html+vue+element-ui のスムーズさを 1 分で体験

テクノロジーファンHTMLウェブページ、知っておくべきYouyou が開発した vue フロントエン...

システムメンテナンスページにリダイレクトするように nginx を設定する

先週末、兄弟プロジェクトはより良いサービスを提供するためにサーバーを拡張する準備をしていました。兄弟...

Vue3 における非親子コンポーネントの値転送の詳細な説明

目次アプリ.vueサブ1.vueサブ2.vue要約する vue2 における非親子コンポーネントの値の...

React + Threejs + Swiper パノラマ効果を実現するための完全なコード

パノラマビュー効果を見てみましょう: 住所を表示スクリーンショット: 体験してみると、周囲の環境がぐ...

カラフルな時計効果を実現する JavaScript キャンバス

キャンバスを使ってカラフルな時計を書いてみよう! 1. タイトル(1)時計のケースが与えられ、ページ...

ウェブページ経由で jar パッケージを Nexus にアップロードする方法

Maven を使用してプロジェクトを管理する場合、jar パッケージをプライベート ウェアハウスにア...

MySQL で重複レコードを見つけて削除する方法

みなさんこんにちは。私は技術の話ばかりして髪を切らない先生のトニーです。何らかの歴史的な理由や誤操作...

ファイル操作のためのLinuxシステムコール

目次1. ファイルを開くパラメータの紹介2. ファイルの読み取り3. ファイルを書き込む4. 閉じる...

固定サイドバーを実現するためのJavaScript

固定サイドバーを実装するにはJavaScriptを使用します。参考までに、具体的な内容は次のとおりで...