REPOP WEBツール倉庫

ブラウザだけで完結する便利なWEBツール、WEBアプリが沢山あります

桜が舞うアニメーション ジェネレーター

桜が舞うアニメーション ジェネレーター

CSSとJavaScriptで、画面上部から風に吹かれながら優雅に舞い散る桜の花びらのアニメーションコードを生成します。

プレビュー

※ 最低限のアニメーションに数秒かかるため、指定時間通りに消えるわけではありません。

<!-- 桜が舞い散るコンテナエリアとトリガーボタン -->
<div class="sakura-container">
	<button type="button" class="sakura-trigger">桜を降らせる</button>
</div>
/* 桜を包含するエリアのスタイル設定 */
.sakura-container {
	position: relative;
	width: 100%;
	min-height: 400px;
	background-color: #0f0f1a;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden; /* 花びらが枠外に出ないように設定 */
}

/* トリガーボタンの基本スタイル */
.sakura-trigger {
	padding: 12px 24px;
	font-size: 16px;
	color: #fff;
	background-color: #ff69b4;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	z-index: 10; /* 花びらより前面に表示させる */
	transition: background-color 0.2s;
}
.sakura-trigger:hover {
	background-color: #ff1493;
}

/* 動的追加される花びらの基本クラス */
.sakura-piece {
	position: absolute;
	top: -50px;
	pointer-events: none; /* マウスクリックを透過させる設定 */
	background-color: #ffb7c5; /* 桜色のベースカラー */
	border-radius: 100% 0 100% 100%; /* 花びら特有の非対称なカーブ */
	transform-origin: left top;
	animation: sakura-fall linear forwards;
}

/* 落下と風による左右の揺れ、ひらひら回る3D回転を表現するアニメーション */
@keyframes sakura-fall {
	0% {
		transform: translateY(0) rotate(var(--start-deg, 0deg)) rotateY(0deg);
		opacity: 0;
	}
	10% {
		opacity: 1;
	}
	90% {
		opacity: 0.9;
	}
	100% {
		transform: translateY(450px) translateX(var(--drift-px, {{wind_strength}}px)) rotate(var(--end-deg, 360deg)) rotateY(1440deg);
		opacity: 0;
	}
}
(() => {
	// トリガーとなるボタンと包含コンテナを取得
	const container = document.querySelector('.sakura-container');
	const trigger = document.querySelector('.sakura-trigger');
	if (!container || !trigger) return;

	const spawnBatch = () => {
		const count = {{sakura_count}};

		for (let i = 0; i < count; i++) {
			const petal = document.createElement('div');
			petal.classList.add('sakura-piece');

			// ランダムなサイズ算出(最小サイズ〜最大サイズ)
			const min = {{min_size}};
			const max = {{max_size}};
			const size = Math.floor(Math.random() * (max - min + 1)) + min;
			petal.style.width = `${size}px`;
			petal.style.height = `${size * 0.75}px`; /* 横長の花びら形状に調整 */

			// 横方向の初期位置と落下ディレイの設定
			petal.style.left = `${Math.random() * 100}%`;
			const delayRange = {{delay_range}};
			const delay = Math.random() * delayRange; /* 設定された間隔の範囲内でランダムに遅延させる */
			petal.style.animationDelay = `${delay}s`;

			// 基準の落下速度にランダムな揺らぎを加える(±1.5秒のランダム幅)
			const baseDuration = {{duration}};
			const randomDuration = baseDuration + (Math.random() * 3.0 - 1.5);
			petal.style.animationDuration = `${randomDuration}s`;

			// 角度のランダム設定(初期角度: 0〜360度、回転終了角度: 360〜720度)
			const startDeg = Math.floor(Math.random() * 360);
			const endDeg = startDeg + 360 + Math.floor(Math.random() * 360);
			petal.style.setProperty('--start-deg', `${startDeg}deg`);
			petal.style.setProperty('--end-deg', `${endDeg}deg`);

			// 落下方向・風の影響のランダム設定(設定した風の強さを最大値として、左右にランダムに散らす)
			const maxWind = {{wind_strength}};
			const drift = (Math.random() * 2 - 1) * maxWind; // -maxWind 〜 +maxWind の範囲でランダム
			petal.style.setProperty('--drift-px', `${drift}px`);

			// 要素をコンテナに追加
			container.appendChild(petal);

			// アニメーション完了後にDOMから自動削除
			setTimeout(() => {
				petal.remove();
			}, (delay + randomDuration) * 1000);
		}
	};

	// ボタンクリック時にバッチを開始し、以降は delay_range 秒ごとに繰り返す(無限ループ)
	trigger.addEventListener('click', () => {
		spawnBatch();
		setInterval(spawnBatch, {{delay_range}} * 1000);
	});
})();

機能、使い方

コードの説明

border-radius:100% 0 100% 100%;を適用することで、一般的な矩形や真円ではなく、片方の角が尖った非対称の美しい桜の花びら形状をCSSのみで定義しています。

rotateY()rotate()を同時にアニメーションさせることで、2次元平面の落下にとどまらず、空中で裏返りながら舞い落ちる3次元的なひらひら感を再現しています。

setInterval()を用いて指定された間隔ごとに一定数の花びらを追加生成することで、持続的な舞い散りを実現しています。

pointer-events:none;を設定することで、手前を落下する花びらがボタンなどのクリック操作を一切邪魔しないように制御しています。

公開日 :
アニメーション付きハンバーガーメニュー ジェネレーター

アニメーション付きハンバーガーメニュー ジェネレーター

CSSとJavaScriptで、クリック時に3本線からバツ印へ変化するハンバーガーボタンと、画面外からスライドインするサイドメニューを自由にカスタマイズしてコード生成します。

万華鏡ジェネレーター

万華鏡ジェネレーター

CSSとJavaScriptで、Canvasを使用し幾何学模様が中心から対称に広がり色鮮やかに変化する万華鏡のような背景アニメーションを生成します。

3Dエンドロール ジェネレーター

3Dエンドロール ジェネレーター

CSSとJavaScriptで、映画のオープニングやエンディングのように画面の奥へ向かって流れる立体的な3Dテキストのスクロール演出を生成します。

モーダルウィンドウ ジェネレーター

モーダルウィンドウ ジェネレーター

CSSとJavaScriptで、表示位置、サイズ、開閉アニメーション、暗転オーバーレイの有無などを細かくカスタマイズできるモーダルウィンドウを生成します。

マトリックス風デジタルレイン ジェネレーター

マトリックス風デジタルレイン ジェネレーター

CSSとJavaScriptで、映画「マトリックス」のように上から下へとグリーンのコード文字が流れ落ちるデジタルレイン背景エフェクトを生成します。

紙吹雪が舞うアニメーション ジェネレーター

紙吹雪が舞うアニメーション ジェネレーター

CSSとJavaScriptで、指定したボタンをクリックした際などに画面内に色とりどりの紙吹雪がランダムに舞い落ちる演出を生成します。

波紋アニメーション ジェネレーター

波紋アニメーション ジェネレーター

CSSとJavaScriptで、クリックやタップした位置を中心に、同心円状の波紋が広がりながら消えていくインタラクティブなUIエフェクトを生成します。

スポットライトUI ジェネレーター

スポットライトUI ジェネレーター

CSSとJavaScriptで、マウスカーソルの動きに合わせて指定範囲をスポットライトのように明るく照らし、周囲を暗くマスクするインタラクティブなUIを生成します。

画像比較スライダー

画像比較スライダー

2枚の画像を重ねて、スライダーのドラッグ操作で左右に切り替えてビフォーアフターを比較できるインタラクティブな画像比較UIツールです。HTML/CSS/JSコードを取得できます。

3Dに傾く透過カードのCSSジェネレーター

3Dに傾く透過カードのCSSジェネレーター

マウスの動きに合わせて傾き、表面に光が反射したような効果を持つ透過カードのデザインを生成します。

もっと見る

もっと見る

JavaScript関連ツール一覧

JSONXMLJavaScriptHTMLCSSSVGPHPPython画像処理色、カラーコードテキスト
ファイルの文字化け解消ツール

ファイルの文字化け解消ツール

文字化けしてしまうテキストファイル(Shift_JISやEUC-JPなど)の文字コードを自動判定してからUTF-8にデコードし、汎用的に使えるファイルを作成します。

JSONとXMLの相互変換ツール

JSONとXMLの相互変換ツール

JSONデータとXMLデータを相互に変換します。リアルタイムでの変換や、ルート要素・子要素名の指定に対応。

水玉模様のCSSジェネレーター

水玉模様のCSSジェネレーター

背景色、ドットの色、ドットのサイズや間隔、配置パターン(格子状・千鳥状)を調整し、水玉模様(ドット背景)のCSSコードを生成します。

clamp()シュミレーター

clamp()シュミレーター

画面幅に応じて最小サイズから最大サイズまでフォントサイズを滑らかに自動スケーリングさせるCSSのclamp()コードを生成・シミュレートします。

傾いて落ちるボタンのCSSジェネレーター

傾いて落ちるボタンのCSSジェネレーター

ホバーするとぐらっと傾き、クリックすると画面外へと落下するボタン用のアニメーションCSSを生成します。

画像のフチぼかし(透過グラデーションマスク)のCSSジェネレーター

画像のフチぼかし(透過グラデーションマスク)のCSSジェネレーター

画像の端を透過グラデーションでぼかし、背景と滑らかに馴染ませるエフェクトを生成します。mask-imageを使用し、上下左右や円形など複数の方向にフェードアウト可能です。

文字の中に画像(マスクテキスト)のCSSジェネレーター

文字の中に画像(マスクテキスト)のCSSジェネレーター

指定した画像を文字の形に切り抜き、インパクトのあるテキストエフェクトを生成します。グラフィカルな見出しやタイトルの作成に適しています。

フリッカー・ネオン(点滅ネオン)のCSSジェネレーター

フリッカー・ネオン(点滅ネオン)のCSSジェネレーター

不規則な点滅を繰り返す、リアリティのあるネオンサイン文字のエフェクトを生成します。多重シャドウによる発光と透明度の変化で、レトロな雰囲気を演出します。

虹色に輝く枠線(レインボー・ローテート)のCSSジェネレーター

虹色に輝く枠線(レインボー・ローテート)のCSSジェネレーター

枠線が虹色に変化しながら回転し続ける視覚効果を生成します。conic-gradientを活用し、画像不要で軽量な実装が可能です。

ぷかぷか浮遊(フローティング演出)のCSSジェネレーター

ぷかぷか浮遊(フローティング演出)のCSSジェネレーター

要素が空中を漂うような、浮遊アニメーションを生成するツールです。

もっと見る

もっと見る

仕事、作業関連ツール一覧