CSSだけで、任意の要素に配置した画像を画面一杯に表示することは、基本的には出来ない。「img src」「背景画像」「div要素」何れの場合でも。可能なのは、特殊な要件が重なった場合だけ

CSS

要件

 状態:-  閲覧数:721  投稿日:2017-03-23  更新日:2017-03-23
1.ボタンクリック
・「img src」へ「hogeクラス」付与
・JavaScriptで実装済

2.「hogeクラス」付与した要素
・CSSで画面一杯に表示したい


検索してみた結果分かったこと


CSSだけで、「任意の要素に配置した画像」を画面一杯に表示することは、基本的には出来ない
・「img src」ではなく「背景画像」でも不可
・「div要素」でも無理

ネットに掲載されている情報は
・全て、特殊な条件を前提にしている

「background-size:cover」は、「htmlタグ」や「bodyタグ」で使用した場合のみ、画面一杯に表示することが出来る

 閲覧数:162 投稿日:2017-03-23 更新日:2017-03-23 

background-size:cover


ビューポート全体をカバーするが、使用場面は限られる
・「htmlタグ」や「bodyタグ」以外の要素で使用すると、画面一杯に表示することは出来ない
body {
 /* 画像ファイルの指定 */
 background-image: url(images/background-photo.jpg);
 
 /* 画像を常に天地左右の中央に配置 */
 background-position: center center;
 
 /* 画像をタイル状に繰り返し表示しない */
 background-repeat: no-repeat;
 
 /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
 background-attachment: fixed;
 
 /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
 background-size: cover;
 
 /* 背景画像が読み込まれる前に表示される背景のカラー */
 background-color: #464646;
}


「max-width:100%;」は原寸画像サイズ以上に拡大表示することは出来ない。「width:100%;」は配置要素サイズ以上に拡大することが出来ない

 閲覧数:141 投稿日:2017-03-23 更新日:2017-03-23 
「max-width:100%;」と「width : 100%;」の違い


「100vw;100vh;」は本当に親要素の影響を受けないの?

 閲覧数:170 投稿日:2017-03-23 更新日:2017-03-23 

ネットには間違ってはいないけれども、紛らわしい表記が溢れている


要素をフルスクリーン(全画面)サイズにするには、以下の指定でOK
.box {
 width: 100vw;
 height: 100vh;
}

実際に試してみると?
・全画面表示にならない


何が問題なの?


CSSでは親要素の高さを取得することは出来ない
・親要素がなかったり、親要素に適切な値が付与されていればよいが、そうではない場合には全く対応できない


分かりにくいCSS height のパーセント設定のまとめ

最終的には、jQueryでwindowサイズを取得して指定

 閲覧数:142 投稿日:2017-03-23 更新日:2017-03-23 

最終的に


jQueryでwindowサイズを取得して指定
・CSSへの指定はheightにではなくmin-heightに指定する
・そうすることでコンテンツ量が画面サイズより大きい場合、コンテンツの長さに応じた高さを表示してくれる
//画面の高さ取得
h = $(window).height();
$("#contents #main article").css("min-height", h + "px");


感想


ネットには間違ってはいないけれども、紛らわしい表記が溢れている
・ちょっと検索してみたら「簡単に出来る」と自信満々に謳っていたので、片っ端から試してみたが、結局全滅だった
・時間のムダだった
・最初からjQueryで実装すれば良かったよ



上下中央揃え。要素の「幅」や「高さ」指定不要 / div { height: 100%; display: flex; justify-content: center; align-items: center; }

Private リセットCSSテンプレ / CSS圧縮Link



類似度ページランキング
順位 ページタイトル抜粋
1 一つの要素に対して「id 属性値」を複数指定することは出来ない 34
2 デフォルトの「Google Chrome」ではURL欄にwwwが表示されないため、「Microsoft Edge」を使用する 34
3 要素。width と height 属性を指定しなかった場合、(内容のいかんに関わらず)幅 300 ピクセル、高さ 150 ピクセルで表示される 31
4 「レイアウト崩れ」がどうしても解決しない → Chrome「デベロッパーツール」で怪しいと思った要素を、正常表示されるまで削除し続けていく 30
5 Braveインストールしてみたけれども、全ての広告を必ず非表示に出来るわけではないみたい 29
6 Illustrator CS3では、[オブジェクト全体に合わせる]項目が存在しない。そのため「アートボードの大きさ」に自動で合わせることは出来ない 29
7 背景画像がどうしても表示されない → 「clear:both;」を挿入してみる 29
8 Google Chrome™ デベロッパーツールで表示できないスマホ画面を確認するためには、「mobile browser emulator」を使用 28
9 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない 27
10 拡張機能が Chrome によって無効にされました / この拡張機能は破損している可能性があります。 27
11 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある 26
12 Chromeブラウザは、ユーザーという単位で情報管理している(Cookieを使用する場面もあるが、必ずしもCookieだけに頼っているわけではない) 26
13 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない 26
14 Googleがハイフンって言ってるからハイフンって、そんな安直な考えで本当に良いの? CSS 「id」「class」名 に関する調査履歴 2 26
15 ページで使用されている「id名」「class名」をChromeで取得したい   26
16 「Google Chrome を起動後、100%の確率で3分以内に落ちる」場合は、アンインストール後インストールし直すしかない 26
17 box-sizingは危険なCSS / レイアウトや位置がどうしても意図した通り設定できない場合は、box-sizingを疑う 26
18 CSS の class名 と id名 を、全プロジェクトで意識的に統一しようかと 26
19 GIMPで「レイヤーとして開く」を選択した画像、の位置情報(x,y)を表示させる方法が分からない 26
20 作成した素材がどうしても見つからないときは、「png形式」を疑ってみる 25
2021/8/06 2:59 更新
週間人気ページランキング / 7-30 → 8-5
順位 ページタイトル抜粋 アクセス数
1 RGB ⇔ Lab | 色変換(色) 39
2 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 27
3 RGBの種類 / ビットカラー | RGB(色) 23
4 血の色 / #b30000 / #360800 / #ff0000 | 色 22
5 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 21
6 Design 0 17
7 HSLとHSVの違い | 色変換(色) 16
8 「属性」「プロパティ」「アトリビュート」の違い | CSS 13
9 HTML5では、「input 要素」「button 要素」を「フォームタグ」の外で直接記述しても良い | HTML5(HTML) 12
9 使用していないCSSをチェックする、標準的な方法を知りたい | CSS 12
9 コズミックブルーが何色か分からない | 色 12
10 「overflow」効果を打ち消すスタイルシートは、「overflow: auto;」 11
10 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 11
10 「bgcolor」「background-color」「background」の違い | CSS 11
10 アドベンチャーゲーム系の素材をどうやって用意するの? | イラスト素材(デザイン) 11
11 16進数カラーコード / 2進数 9
12 画面キャプチャ | Chrome 拡張機能(ブラウザ) 8
13 キャラクター無料作成ジェネレーター / FLASH / オンラインサービス | イラスト参考(デザイン) 7
13 「Bootstrapデザイン」✕「グラフ」 | 2系(Bootstrap) 7
13 「line-height」効果を打ち消すスタイルシートは、「line-height:normal; 7
2021/8/6 1:03 更新