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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

Q&A

解決済

3回答

3257閲覧

背景を画像にして、レスポンシブでサイト制作をしたいです。

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

0グッド

1クリップ

投稿2015/09/19 16:34

下記サイトの会社情報のように、背景を画像にして、レスポンシブでサイト制作をしたいのですが、
ブラウザの縦横比が、変化してしまう状況で、どのようにして、内容(こちらのサイトなら、COMPANYから株主までの文字)を背景画像の真ん中にして、
内容の上下の余白も空きすぎないようにしているのでしょうか?

https://www.theport.jp/

恐らく、320、640の時の背景画像をそれぞれ別の比率で作り、バックグラウンドイメージを使ってブレイクポイントで、縦横比の違う画像を切り替えているのだと思うのですが、
それだとブレイクポイントでないブラウザサイズの時に、内容の上下の余白(こちらのサイトなら、COMPANYの上にある余白と株主情報の下にある余白)が、
空きすぎたり、短くなりすぎたりしない物でしょうか?

どのように常に適切な余白を確保しているかわかりますか?

私は問い合わせフォームを内容として使う予定です。

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

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

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

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

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

guest

回答3

0

縦横比が変わる親要素の中で、背景画像をうまいこと見せる方法ですよね?
トリミングとサイズの異なる画像をいくつも作るのは手間がかかりすぎるので、
PC向けの最も大きなサイズの背景画像を用意しておき、

CSS

1.bg { 2 background-image: url(img/bg_sample.jpg); 3 background-position: center top; 4 background-repeat: no-repeat; 5 -webkit-background-size: cover; 6 background-size: cover; 7}

としておけば、あとは勝手に親要素の縦横比に合わせて自動フィットしてくれますよ。
background-size: coverの場合は
親要素のアスペクト比に合わせて画像の長辺・短辺どちらかが親要素のwidth / heightの
サイズになるように自動的に拡大してくれます。(親要素全てを背景画像で覆い尽くす状態)
その際、用意している画像の縦横比は変えませんので、親要素のアスペクト比と背景画像の
アスペクト比が異なる場合には長辺・短辺のどちらかがトリミング(というか要素内に表示できず非表示に)されて見えなくなります。

基本的にはこの仕組を使ってレスポンシブ背景のほとんどは作られてます。
背景画像のどのあたりがトリミングされて見えなくなるかは状況によって変わるので、
あくまで装飾的に画像のどこかがカットされても大丈夫な素材を選ぶのがコツです。
あまりガチガチに「この比率の時にはこのトリミングとこの大きさで厳密に見せたい!」とか
欲張るとうまくいかないです。

そこをこだわりたいのであれば、それこそアスペクト比ごとに複数の背景画像を用意して、
ブレイクポイントで使用する背景画像を使い分けるしか今のところはないでしょうね。

あと、わりと同じような質問を何度もされていますが、
Chromeのデベロッパーツールなどで実際にどの要素にどんなCSSが適用されているのか
調べたりしてますか?
参考サイトを見つけることはできているのですから、そのサイトが実際に
どう作られているのかを研究するのも勉強になりますよ。

投稿2015/09/20 06:31

aKusano

総合スコア3763

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

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

退会済みユーザー

退会済みユーザー

2015/09/20 09:26

確かに下記のようになっていましたね。 #company { width: auto; position: relative; background: url(../images/bgCompany.jpg) no-repeat scroll center top; background-size: cover; padding: 140px 0 107px 0; } 今回は全く想像も出来なかったので、質問しました。 background-size: cover;を検索する手も確かにあったかもしれません。 background-size: cover;はアンドロイドの4系の初期で、部分サポートのようですね。 恐らく問題ない位は使えるのでしょうが。 こちらで対応できそうです。 ありがとうございます。
guest

0

ベストアンサー

細かい調整はいろいろできますが、

html

1<head> 2<style> 3body{ 4background-image:url(); 5background-size:wrap; 6} 7</style> 8</head> 9<body> 10</body>

という便利なコードをcssで使えば上下、左右に常に余白が無いように背景が表示されるようになります。
が、
古い端末ではかなりの確率で使用出来なかったりします。
*このページをよく見ています。http://allabout.co.jp/gm/gc/400630/
↑の方法でも古い端末ではかなりの確率で使用出来なかったりします。
どうしてもというときは、
javascriptで無理矢理再現してみたり、

html

1<script type="text/javascript" src="http://html5shim.googlecode.com/svn/trunk/html5.js">

これ使ってみてもよいと思います。

投稿2015/09/19 23:22

waritocomatta

総合スコア67

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

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

退会済みユーザー

退会済みユーザー

2015/09/20 05:01

例えば640PXをブレイクポイントとして、背景画像を作った場合、360PXに縮小した際に、画像の縦横比が、変わってしまいますよね。 すると画質が劣化したり、人間の画像なら超縦長の顔になってしまいませんか? そこは、さすがに仕事であっても、何十個も画像を作れないので、仕方がないとクライアントさんを納得させるのが、現場での一般的な考えでしょうか?
waritocomatta

2015/09/20 05:27

別にイチイチ画像用意しなくても問題ないと思いますが... 画質の劣化は拡大し過ぎないかぎりないだろうし、 画像の縦横の比率は維持されるものなので問題ないかと...
guest

0

細かい調整はいろいろできますが、

background-size:wrap;

という便利なコードをcssで使えば上下、左右に常に余白が内容に背景が表示されるようになります。

投稿2015/09/19 22:43

dshukertjr

総合スコア37

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

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

退会済みユーザー

退会済みユーザー

2015/09/20 05:01

例えば640PXをブレイクポイントとして、背景画像を作った場合、360PXに縮小した際に、画像の縦横比が、変わってしまいますよね。 すると画質が劣化したり、人間の画像なら超縦長の顔になってしまいませんか? そこは、さすがに仕事であっても、何十個も画像を作れないので、仕方がないとクライアントさんを納得させるのが、現場での一般的な考えでしょうか?
dshukertjr

2015/09/20 13:14

この便利なコードは縦横比を変えません。なので、縦長になることもありません。使ってみればわかります。
退会済みユーザー

退会済みユーザー

2015/09/20 16:05

縦横比率を代えないというのはビックリですね。 比率がおかしくなる場合、余白にすることで実現しているのですかね。
dshukertjr

2015/09/21 03:01 編集

いや、余白もできません。っていうか私のこの回答はあなたの選んだベストアンサーが同じだということに気づきませんか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問