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

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

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

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

1388閲覧

ページの読み込みについて

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/05/04 00:37

編集2020/05/04 04:59

トップページのメインビジュアルの読み込みがおかしい。

トップページはフルスクリーンです。animationで4枚の画像が順番に浮き出るような
仕掛けに設定しています。そのうちの1枚目は背景画像です。
やっと完成したと思ったのですが、検索してそのページをクリックすると、1秒ほどですが
background: #00ABEB;だけが映し出され、その後に設定した画像のアニメーションが始まってしまいます。
画像の重さが原因ではないかと圧縮し直してみたり、アニメーションの時間を変えてみたり
してみたのですが、改善しないままになっています。
何か良案はありませんでしょうか。よろしくお願い致します。

html

1<header> 2 <h1 id="logo"><img></h1> 3<div class="catchcopy"><p>キャッチコピー</p></div> 4<aside class="object-fit" id="mainimg"> 5 <img class="slide1"><img class="slide2"><img class="slide3"></aside></header> 6 7 8 9

css

1header { 2 height: 70px; 3 background: #00ABEB;(他ページで必要なため) 4 position: relative; 5} 6 7 8.catchcopy { 9 z-index: 1; 10 position: absolute; 11 top: 50%; 12 left: 50%; 13 transform: translateY(-50%) translateX(-50%); 14 -webkit- transform: translateY(-50%) translateX(-50%); 15 16} 17 18#mainimg { 19 clear: both; 20 position: fixed; /*スクロールしても固定表示させる指定*/ 21 top: 0px; 22 width: 100%; 23 background: url("../images/img.jpg") no-repeat center center/cover; 24 /*最初の1枚目(土台画像)*/ 25 26} 27 28/*3枚画像の共通設定*/ 29.slide1,.slide2,.slide3 { 30 animation-duration: 30s; /*実行する時間。「s」は秒の事。*/ 31 animation-iteration-count:infinite; /*実行する回数。「infinite」は無限に繰り返す意味。*/ 32 position: absolute;left:0px;top:0px;width: 100%;height: 100%; 33 animation-fill-mode: both; 34 animation-timing-function: linear; 35 animation-delay: 3s; 36} 37/*1枚目*/ 38.slide1 { 39 animation-name: slide1; /*上で設定しているキーフレーム(keyframes)の名前*/ 40} 41/*2枚目*/ 42.slide2 { 43 animation-name: slide2; /*上で設定しているキーフレーム(keyframes)の名前*/ 44} 45 46.slide3 { 47 animation-name: slide3; /*上で設定しているキーフレーム(keyframes)の名前*/ 48} 49/*1枚目*/ 50@keyframes slide1 { 51 0% {opacity: 0; transform: scale(1);} 52 10% {opacity: 1;} 53 40% {transform: scale(1.1);} 54 50% {opacity: 1;} 55 60% {opacity: 0;} 56 100% {opacity: 0;} 57} 58/*2枚目*/ 59@keyframes slide2 { 60 0% {opacity: 0;} 61 25% {opacity: 0; transform: scale(1);} 62 35% {opacity: 1;} 63 65% {transform: scale(1.1);} 64 75% {opacity: 1;} 65 85% {opacity: 0;} 66 100% {opacity: 0;} 67} 68/*3枚目*/ 69@keyframes slide3 { 70 0% {opacity: 0;} 71 50% {opacity: 0; transform: scale(1);} 72 60% {opacity: 1;} 73 80% {opacity: 1;} 74 90% {opacity: 0; transform: scale(1.1);} 75 100% {opacity: 0;} 76} 77

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/05/04 00:45

すいません。調べてやってみます。。。時間がかかるかもしれませんがよろしくお願い致します。
m.ts10806

2020/05/04 00:48

提示したリンクは「マークダウンのcodeの対応の仕方」が回答として書かれたものですので、ほぼそのまま参照できると思います。 質問編集画面にいければすぐではないかなと。(当該質問を提示してできなかった人は今のところいないので)
kei344

2020/05/04 02:19

「animation」とありますが、それらしき記述がありません。書かれている状況が再現するコード(HTML/CSS/JavaScriptなど)を質問文に追記されたほうが回答を得やすいと思います。
mari.rinn

2020/05/04 06:30

>background: #00ABEB;(他ページで必要なため) とありますが、このページ自体には必要ないなら、このページのheaderだけclassでもidでも良いのですが、それをつけてそれ用の、backgroundなしのCSSを書く というのではダメなのですか?
退会済みユーザー

退会済みユーザー

2020/05/08 12:10

backgroundなしにしても、タイムラグがある事には変わらず、メインビジュアルが反映するまでの1,2秒 間、白い画面が映し出されることには変わりがないのです。 ただ、classやidでトップページに区別をつけるという発想がなかったので勉強になりました。 ありがとうございました!
guest

回答1

0

ベストアンサー

何か良案はありませんでしょうか

Google検索 画像 プリロード に打開策があると思います。

Google検索 ブラウザの読み込み順 も調べてみると、納得できるのではないでしょうか。


追記)

CSS3に変わってくる中で「1つのセレクタに複数の背景画像(background-image)を指定できる」ようになりましたが、「この手法で背景画像をプリロード指定しておく。」という手法が定番でした(DOMContentLoaded発生以前から読み込みを開始するのが理由)

上に案内した検索先で HTML5またはcssまたはJavaScript(jQuery未使用)で画像の先読み(プリロード)を行う の1つめの方法になります。

ただし、この方法も限界があります
高解像な画像の場合、ファイルサイズが大きくなってしまうため、background-imageを適用できず、background-color 単色が表示されてしまいます。
(ブラウザは、「取り敢えず、background-color を表示し、読み込みが完了した background-image を後から描画する」という特徴があるため)。

このため、**読み込みの早い(ファイルサイズの小さな)画像をbackground-size: cover;などを用いて、モザイク状態から徐々に鮮明な画像に切り替える「フェイク」**も検討しなければなりません。

※色々と試されたとは思いますが、質問欄は編集できますので、意図した効果を得られなかった内容(実験結果)を明らかにしてゆくことで、より効果的な回答を得られると思います。

投稿2020/05/04 06:50

編集2020/05/10 08:51
AkitoshiManabe

総合スコア5432

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

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

退会済みユーザー

退会済みユーザー

2020/05/10 02:42

lazyも試してみましたが、なかなかうまくいきませんね。。。
AkitoshiManabe

2020/05/18 12:38 編集

lazyLoad (遅延読み込み)は、プリロードとは逆です。ページの下方にあって直ぐに表示させなくても良い画像をあとから読む。ローディング画像で誤魔化す。ユーザの体感速度を早く感じさせるフェイク技術です。 img 要素ではなく、background:url() で読むのがプリロードになります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問