質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

10230閲覧

背景画像の上に画像を中央表示するには。

sekayama

総合スコア25

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2015/12/11 02:14

編集2015/12/11 02:32

背景画像として、repeat-xで1px画像を横幅いっぱい表示しております。
背景の上に画像を中央表示したのですが、どう書いていいかわかりません。
ご教示ください。

補足いたします。
背景の上の画像ですが、左右上下中央表示にしたいです。
また、画面サイズの変更があっても常に上の画像については左右上下表示で見える状態にしたいです。
画面サイズの変更で切れるのは背景画像が左右から狭まるイメージになります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aKusano

2015/12/11 02:18

単に背景の上に画像を中央表示といっても、様々なケースが考えられます。 左右だけ中央になればいいのか、上下も中央にしたいのか、固定レイアウトなのか、可変レイアウトなのかetc。 もう少し具体的なデザイン仕様(条件)を提示してください。
guest

回答1

0

ベストアンサー

背景画像を表示する領域の中には画像が1つだけ

という条件であれば、
0. paddingで調整
0. position:absolute
0. 仮想テーブルレイアウト

などの方法が考えられます。
とりあえず以下のHTML構造に対して画像を中央に配置するサンプルを書いておきます。

HTML

1<div class="bg"> 2<img src="hoge.jpg" width="100" height="100" alt=""> 3</div>

###paddingで調整する場合
左右中央はtext-align:center、上下中央は上下均等のpaddingで画像を真ん中に配置します。

CSS

1.bg { 2 width: 800px; /*任意の幅*/ 3 padding: 100px 0; /*上下paddingに同じ値を入れてコンテンツを上下中央配置に見せる*/ 4 text-align: center; /*中身を左右中央揃えにする*/ 5}

###position:absoluteの場合
position:absolute;とmargin:autoの組み合わせで上下左右中央に配置します。

CSS

1.bg { 2 position:relative; 3 width: 800px; /*任意の幅*/ 4 height: 300px; /*任意の高さ*/ 5} 6.bg img { 7 position: absolute; 8 left: 0; 9 right: 0; 10 top: 0; 11 bottom: 0; 12 margin: auto; 13}

###仮想テーブルの場合
.bgをtd要素相当の表示属性に変更し、その中でtext-align/vertical-alignで真ん中に配置します。

CSS

1.bg { 2 width: 800px; /*任意の幅*/ 3 height: 300px; /*任意の高さ*/ 4 display: table-cell; 5 text-algin: center; 6 vertical-align: middle; /*セル内で上下中央揃えにする*/ 7}

※上記はいずれも原則固定サイズ前提の最も簡易な設定なので、可変レイアウトの場合には更に一工夫が必要になるものもあります。

投稿2015/12/11 02:56

aKusano

総合スコア3763

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問