REPOP WEBツール集

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

animation-play-state(再生・一時停止)のCSS動作テストツール

animation-play-state(再生・一時停止)のCSS動作テストツール

CSSのanimation-play-stateプロパティ(再生・一時停止)の挙動をテストするツールです。合わせてanimation-directionでの逆再生もテストしています。

プレビュー

<div class="test-container">
	<div class="animation-box"></div>

	<div class="controls">
		<!-- 再生 -->
		<input type="radio" name="state" id="anim-play">
		<label for="anim-play" class="btn">再生</label>

		<!-- 逆再生 -->
		<input type="radio" name="state" id="anim-reverse">
		<label for="anim-reverse" class="btn">逆再生</label>
		
		<!-- 一時停止 -->
		<input type="radio" name="state" id="anim-pause">
		<label for="anim-pause" class="btn">一時停止</label>
	</div>
</div>
/* コンテナ */
.test-container {
	padding: 20px;
	text-align: center;
}

/* アニメーションする要素 */
.test-container .animation-box {
	display: inline-block;
	width: 100px;
	height: 100px;
	margin-bottom: 30px;
	background: #0091EA;
	border-radius: 10px;
	/* 初期状態は一時停止にしておく */
	animation: rotateAnim 2s linear infinite paused;
}

/* アニメーション定義 */
@keyframes rotateAnim {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* --- ボタンレイアウト --- */
.test-container .controls {
	display: flex;
	justify-content: center;
	gap: 10px;
}

/* ラジオボタンは非表示 */
.test-container input[type="radio"] {
	display: none;
}

/* ボタンの見た目 */
.test-container .btn {
	padding: 8px 16px;
	border: 2px solid #0091EA;
	border-radius: 20px;
	cursor: pointer;
	transition: 0.3s;
	font-size: 14px;
	user-select: none;
	background: #fff;
	color: #0091EA;
}

/* 選択中のボタンスタイル */
.test-container input:checked + .btn {
	background: #0091EA; 
	color: white;
}

/* --- 状態制御 --- */
/* 再生: running */
.test-container:has(#anim-play:checked) .animation-box {
	animation-play-state: running;
}

/* 一時停止: paused */
.test-container:has(#anim-pause:checked) .animation-box {
	animation-play-state: paused;
}

/* 逆再生: reverse + running */
.test-container:has(#anim-reverse:checked) .animation-box {
	animation-direction: reverse;
	animation-play-state: running;
}

機能・使い方

:has()の指定方法、コードの読み方について

このCSSでは、:has() を使うことで、JavaScriptを使わずにラジオボタンのON/OFFに合わせてアニメーションを操作しています。
一見複雑に見えるコードですが、3つの部分に区切って読むと仕組みがよく分かります。

/* 例:再生ボタン(#anim-play)が選ばれている時の指定 */
.test-container:has(#anim-play:checked) .animation-box {
	animation-play-state: running;
}

コードの読み解き方(3ステップ)

この指定は、「条件を満たす親要素を探し、その中にある別の要素を操作する」 という書き方になっています。

1. どこを見る?(親要素)
.test-container:has(...)
まず、外側の枠である .test-container に注目します。
:has(...) は「(...)を持っているか?」という条件チェックです。
2. どんな条件?(中身のチェック)
#anim-play:checked
これが条件です。「IDが anim-play の要素(再生ボタン)」に「チェックが入っている(:checked)」かどうかを見ています。
つまり、「再生ボタンが押されている状態のコンテナ」 を探しています。
3. 何を変える?(操作対象)
.animation-box
条件を満たしたコンテナの中にある .animation-box(回転する箱)に対して、animation-play-state: running(再生)というスタイルを適用します。

まとめると、「親(コンテナ)が、子(ボタン)の状態を見張っていて、ボタンが押されたら、別の兄弟(箱)に命令を出す」 という連携プレイをCSSだけで実現しています。

カラーピッカーツール

カラーピッカーツール

美しいカラーパレットから色を選んでコピー。HEX, RGB, RGBA、カラーネームに対応。

透過グラデーションテキストのCSS作成ツール

透過グラデーションテキストのCSS作成ツール

テキストに透明になるグラデーションを作成できるCSSジェネレーターです。方向や間隔も調整可能。

テキストグラデーションのCSS作成ツール

テキストグラデーションのCSS作成ツール

テキストに2色または3色の美しいグラデーションをかけるCSSを簡単に作成できるCSSジェネレーターです。

二重縁取りテキストのCSS作成ツール

二重縁取りテキストのCSS作成ツール

CSSのtext-strokeと擬似要素を使って、文字に二重の縁取り(ボーダー)を作成するCSSジェネレーターです。

ネオン文字のCSS作成ツール

ネオン文字のCSS作成ツール

CSSのtext-shadowを使って、ネオンのように発光する文字を作成するCSSジェネレーターです。

白抜き文字(袋文字)のCSS作成ツール

白抜き文字(袋文字)のCSS作成ツール

文字の中を透明にしたり、指定色で塗りつぶした縁取り文字(アウトラインテキスト)を作成するCSSジェネレーターです。

マウスホバーで下線が広がるCSS作成ツール

マウスホバーで下線が広がるCSS作成ツール

リンクにマウスを乗せた際、中央から左右にアニメーションしながら下線が広がるCSSジェネレーターです。

テキスト選択時のスタイルを指定するCSS作成ツール

テキスト選択時のスタイルを指定するCSS作成ツール

テキストを選択(ドラッグ)した際の背景色や文字色をカスタマイズするCSSジェネレーターです。

spanなしで文字ごとに色を変えるCSS作成ツール

spanなしで文字ごとに色を変えるCSS作成ツール

spanタグを使わずに、CSSのグラデーション機能で文字ごとに色を変えるスタイルを作成します。

フェードアウトする下線付きテキストのCSS作成ツール

フェードアウトする下線付きテキストのCSS作成ツール

見出しテキストの下線が途中からグラデーションで透明に消えていくスタイルを作成するCSSジェネレーターです。

» もっと見る
デザインJSONJavaScriptHTMLCSSPHPPython画像処理色、カラーコード
PNG/JPG to WebP

PNG/JPG to WebP

高品質を維持したまま、PNG/JPGをWebPに変換し圧縮します。

SVG to PNG/JPG/WebP

SVG to PNG/JPG/WebP

SVG画像をPNG, JPG, WebPに変換。解像度を指定してラスタライズできます。

JSONとPHP配列の相互変換ツール

JSONとPHP配列の相互変換ツール

JSONコードとPHP配列コードを相互変換

JSONとPython辞書の相互変換ツール

JSONとPython辞書の相互変換ツール

JSONコードとPythonの辞書型(dict)コードを相互変換します。

JSONとJSオブジェクトの相互変換ツール

JSONとJSオブジェクトの相互変換ツール

JSONコードとJavaScriptのオブジェクト(Object)コードを相互変換します。

HTMLタグ除去・抽出ツール

HTMLタグ除去・抽出ツール

HTMLコードからタグを除去し、テキストデータのみを抽出します。実体参照のデコードや空白処理も可能です。

HTMLエスケープツール

HTMLエスケープツール

HTMLの特殊文字(<, >, &, " 等)を実体参照に変換(エスケープ)、または元に戻す(アンエスケープ)ツールです。

HTMLテーブル1行目をヘッダーセクションに変換

HTMLテーブル1行目をヘッダーセクションに変換

テーブルの1行目をthead要素、最後の行をtfoot要素に変換します。WordPressのヘッダーセクションに対応。ExcelやWebからコピーした表もOK。スタイル属性やタブ・改行の一括削除機能付き。

JSONとCSVの相互変換ツール

JSONとCSVの相互変換ツール

JSON配列とCSVデータを相互に変換します。ヘッダーの有無も切り替え可能です。

WebP to PNG/JPG 変換ツール

WebP to PNG/JPG 変換ツール

WebP画像をPNGまたはJPG形式に変換します。JPEG画質の調整も可能です。

» もっと見る