画面いっぱいに横長の写真を左にスライドさせるアニメーションを作っています。
現在以下のようにCSSで設定し、読み込み時5秒待ってから写真を左にスライドさせるアニメーションが表示されています。ただ、5秒まってからアニメーション開始の際、開始する写真の位置が移動してから動き始めています。
.banner {
background: url(../images/banner.jpg) no-repeat center;
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
-ms-background-size: cover;
position: relative;
background-repeat: repeat-x;
animation: slideleft 20000s 5s infinite linear;
-webkit-animation: slideleft 20000s 5s infinite linear;
z-index: 0;
}
これを読み込み時の写真の位置から自然にアニメーションを開始させたいのですが、どのように設定したらよいでしょうか。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんばんは
質問者様は十分な情報を提示したつもりなのでしょうけれど、どのような仕組みにしているのかほとんどわかりません。
まぁ、1サイクル5時間以上もかかるようなアニメーションに、そもそも意味があるのかどうかも疑問ですけれど・・・
>にしたら最初に左端から表示されそのまま
>アニメーションを始めることができました。
ということは、説明の図と実際の内容が違っているのではないでしょうか。
あるいは、keyframeのスタートで最初の設定とは異なる設定を行っているとか。
以下は、まったくの推測ですけれど、(多分)translateで移動しているのではないと思いますので、アニメーションの方法ををtranslateに変えれば初期表示の状態からアニメーションを開始できるのではないでしょうか?
※ サイズ指定等はテキトーです。
※ 繰り返しになっているけれど、不連続部分をどうしたいのかも不明なので、そのままスタートへJUMPします。
※ ほとんど情報がないので、全体的に当たるも八卦ですけれど・・・
<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<style>
#banner_wrap {
width: 200px; height:200px;
overflow: hidden;
border : 2px solid red;
}
.banner {
width: 400px; height: 100px;
margin-top : 50px; margin-left: -25%;
background: url(../images/banner.jpg) no-repeat center;
background-size: cover;
animation: slideleft 20000s 5s infinite linear;
}
@keyframes slideleft {
from { transform: translateX(0%); }
to { transform: translateX(-25%); }
}
</style>
</head>
<body>
<div id="banner_wrap">
<div class="banner"></div>
</div>
</body>
</html>
以下のように動かしていました。
おっしゃる通り、「background: url(../images/banner.jpg) no-repeat left;」にすると、図で表した問題が解消され、左からスムーズにアニメーションが始まったのでその方法で進めたいと思います。
細やかにご対応頂きありがとうございました。
@keyframes slideleft {
from {
background-position: 0%;
}
to {
background-position: 90000%;
}
}
@-webkit-keyframes slideleft {
from {
background-position: 0%;
}
to {
background-position: 90000%;
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- HTML・CSS CSSでサイトの背景に画像を組み込みたいのですが反映されません 2 2022/11/22 16:21
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript 画面に表示したらアニメーションを開始したい 3 2023/01/13 15:38
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS スマホ表示用のwebページ、style.cssでは表の中の文字 font-size は指定できない? 1 2023/03/27 18:57
- HTML・CSS HTMLで特定の文字だけ色を変えたいのですが、指定した色と違う色が反映してしまいます。 下記、「前」 5 2023/06/27 12:08
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
CSSで3分割した背景画像を配置...
-
スクロールボックスを中央に配...
-
ネガティブマージン
-
画像イメージの上下左右、欲し...
-
ul/liタグでのリスト表示におけ...
-
スクロールボックスに内側の線...
-
<div>と<div>の間の10px程の...
-
footer を横幅いっぱいに広げる...
-
表示倍率を変えるとレイアウト...
-
ボタンの配置がうまくいきません
-
CSS(0の単位)について
-
インラインフレーム内の表示位...
-
CSSで指定した背景画像にリンク...
-
CSSがなぜかfont-sizeだけ効か...
-
4枚の画像を均等間隔で一列に...
-
form input テキストを上下中央...
-
ホームページのメニュー
-
Firefoxでの型崩れについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
css初心者 フレックスボックス...
-
form input テキストを上下中央...
-
W3Cのソースコードの検証サービ...
-
CSS、width100%でもできる余白
-
定義リストに下線をつけたいと...
-
余分な縦スクロールバーが出て...
-
CSSがなぜかfont-sizeだけ効か...
-
divで囲まれたpaddingの指定を...
-
<div>と<div>の間の10px程の...
-
【CSS】ヘッダーの高さが不明の...
-
CSSのposition値の上書き(打消...
-
CSSで背景画像を一番下にもって...
-
スクロールボックスを中央に配...
-
背景が下まで表示されないんです。
-
CSSでボックスのheightが0になる
-
HTMLのiframeの入れ子について
-
CSS:animation開始位置の設定
おすすめ情報
background: url(../images/banner.jpg) no-repeat center;
を
background: url(../images/banner.jpg) no-repeat left;
にしたら最初に左端から表示されそのままアニメーションを始めることができました。
こちらでいいかなと思いますが、念の為少しだけアニメーション開始をcenterからできるか待てたらと思います。どうぞよろしくお願いいたします。