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 フレックスボックス自動記入の書き方を詳しく解説

推薦する

myisamchk および mysqlcheck ツールを使用して破損した MySQL データベース ファイルを迅速に修復する方法

サーバーのデータベース ハード ディスク領域がいっぱいだったため、大量のデータの書き込みに失敗し、「...

MySQL テーブル構造を Excel にエクスポートする方法

要件は次のとおりですテーブル構造、フィールドコメント情報、テーブル名などをエクスポートします。これは...

Vue カスタム オプション時間カレンダー コンポーネント

この記事の例では、参考のためにvueカスタムオプションタイムカレンダーコンポーネントの具体的なコード...

Jsモジュールパッケージのエクスポートの使用法と違いにはインポートが必要

目次1. Commonjsのエクスポートとrequireの使用1.1 CommonJS エクスポート...

Dockerイメージストレージoverlayfsの使用

1. 概要Docker のイメージはレイヤーで設計されています。各レイヤーは「レイヤー」と呼ばれます...

Windows での自動展開に Jenkins を使用するチュートリアル図

今日は、Jenkins + powershell スクリプトを使用して、.NET CORE スクリプ...

JSはストップウォッチタイマーを実装します

この記事の例では、ストップウォッチタイマーを実装するためのJSの具体的なコードを参考までに共有してい...

Linux の Makefile とは何ですか? どのように機能しますか?

この便利なツールでプログラムをより効率的に実行およびコンパイルしますMakefile は自動コンパイ...

uniapp は日付と時刻の選択機能を実装します

この記事の例では、日付と時刻の選択を実装するための uniapp の具体的なコードを参考までに共有し...

JavaScriptは両端キューを実装する

この記事の例では、両端キューを実装するためのJavaScriptの具体的なコードを参考までに共有して...

Linux でバックグラウンド タスクを実行するために nohup と screen を使用する例と違いの簡単な分析

SSH ターミナル (putty、xshell など) を使用して Linux サーバーに接続し、時...

Vueにログイン認証傍受機能を設置するアイデアを詳しく解説

目次1. 解決策2. サーバーから返されたトークンをブラウザに保存する3. リクエストにアクセス権限...

Vue 値転送の 12 の方法の概要

目次1. 父から息子へ2. 息子から父へ3. ブラザーコンポーネント通信(バス) 4. ref/re...

MYSQL ストアドプロシージャと関数の簡単な記述

ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...

ネットワークセグメント内の IP アドレスに対する Nginx の接続制限設定の詳細な説明

Nginx におけるいわゆる接続制限は、実際には TCP 接続、つまり 3 ウェイ ハンドシェイク後...