検索
ホームページウェブフロントエンドCSSチュートリアル扇形のアニメーションメニューのCSS3実装例

このエフェクトの実装については以前の記事で紹介しましたが、実装コードが面倒なので、以下に簡易版の実装方法を共有しますので、必要な方は参考にしてください。

元の記事はここをクリックしてください

簡易版の完全な例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>CSS3扇形动画菜单</title>
		<style>
			*{padding: 0; margin: 0;}
			body{background:#b1b1b1;margin:0px;padding:0px;font-size:14px;color:#000;}
			.menuHolder {width:100px; height:100px; margin:0 0 250px 0; position:relative;z-index:100;}
			.menuHolder ul {padding:0px; margin:0; list-style:none; position:absolute; left:0; top:0; width:0; height:0;}
			/*.menuHolder ul li {border-radius:0 0 300px 0; width:0; height:0;}*/
			.menuHolder ul li a {color:#000; text-decoration:none; font:bold 13px/30px arial, sans-serif; text-align:center; 
									box-shadow:-5px 5px 5px rgba(0,0,0,0.4);transform-origin:0 0;}
			.menuHolder ul.p1 li {position:absolute; left:0; top:0;}
			.menuHolder ul.p2 {z-index:-1;}
			.menuHolder ul.p3 {z-index:-1;}
			/*画第一个圆圈*/
			.menuHolder li.s1 > a {position:absolute; display:block; width:100px; height:100px; background:#c8c8c8; border-radius:0 0 100px 0;}
			/*画第二个圆圈*/
			.menuHolder li.s2 > a {position:absolute; display:block; width:100px; padding-left:100px; height:200px; background:#ddd; border-radius:0 0 200px 0;}
			/*画第三个圆圈*/
			.menuHolder ul.p3 li a {position:absolute; display:block; width:100px; padding-left:200px; height:300px; background:#999; border-radius:0 0 300px 0;}
			/*把第二第三个圆隐藏到角落里去,让视角看不到*/
			.menuHolder ul ul {transform-origin:0 0;transform:rotate(90deg);transition:1s;}
			/*绘制第二层的菜单*/
			.menuHolder li.s2:nth-of-type(6) > a {background:#888;
			transform:rotate(75deg);
			}
			.menuHolder li.s2:nth-of-type(5) > a {background:#999;
			transform:rotate(60deg);
			}
			.menuHolder li.s2:nth-of-type(4) > a {background:#aaa;
			transform:rotate(45deg);
			}
			.menuHolder li.s2:nth-of-type(3) > a {background:#bbb;
			transform:rotate(30deg);
			}
			.menuHolder li.s2:nth-of-type(2) > a {background:#ccc;
			transform:rotate(15deg);
			}
			/*绘制联系的子菜单*/
			.menuHolder .a6 li:nth-of-type(6) > a {background:#444;
			transform:rotate(75deg);
			}
			.menuHolder .a6 li:nth-of-type(5) > a {background:#555;
			transform:rotate(60deg);
			}
			.menuHolder .a6 li:nth-of-type(4) > a {background:#666;
			transform:rotate(45deg);
			}
			.menuHolder .a6 li:nth-of-type(3) > a {background:#777;
			transform:rotate(30deg);
			}
			.menuHolder .a6 li:nth-of-type(2) > a {background:#888;
			transform:rotate(15deg);
			}
			/*绘制销量的子菜单*/
			.menuHolder .a5 li:nth-of-type(5) > a {background:#555;
			transform:rotate(72deg);
			}
			.menuHolder .a5 li:nth-of-type(4) > a {background:#666;
			transform:rotate(54deg);
			}
			.menuHolder .a5 li:nth-of-type(3) > a {background:#777;
			transform:rotate(36deg);
			}
			.menuHolder .a5 li:nth-of-type(2) > a {background:#888;
			transform:rotate(18deg);
			}
			/*绘制服务、商店、联系我们的子菜单*/
			.menuHolder .a3 li:nth-of-type(3) > a {background:#777;
			transform:rotate(60deg);
			}
			.menuHolder .a3 li:nth-of-type(2) > a {background:#888;
			transform:rotate(30deg);
			}
			/*鼠标滑过第一层菜单展开第二层菜单*/
			.menuHolder li.s1:hover ul.p2 {
			transform:rotate(0deg);
			}
			/*鼠标滑过第二层菜单展开第三层菜单*/
			.menuHolder li.s2:hover ul.p3 {
			transform:rotate(0deg);
			}
			/*鼠标滑过改变背景颜色和文字颜色*/
			.menuHolder ul li:hover > a {background:#f00; color:#fff;}
			.menuHolder li.s2:hover > a {background:#d00; color:#fff;}
			.menuHolder .a6 li:hover > a {background:#b00; color:#fff;}
			.menuHolder .a5 li:hover > a {background:#b00; color:#fff;}
			.menuHolder .a3 li:hover > a {background:#b00; color:#fff;}
		</style>
	</head>
	<body>
		<p class="menuHolder">
			<p class="menuWindow">
				<ul class="p1">
					<li class="s1"><a href="#url">导航菜单</a>
						<ul class="p2">
							<li class="s2"><a href="#"><span>首页</span></a></li>
							<li class="s2"><a href="#url"><span>服务</span></a>
								<ul class="p3 a3">
									<li><a href="#">打印</a></li>
									<li><a href="#">编辑</a></li>
									<li><a href="#">保管</a></li>
								</ul>
							</li>
							<li class="s2"><a href="#url"><span>联系</span></a>
								<ul class="p3 a6">
									<li><a href="#">支持</a></li>
									<li><a href="#">销售</a></li>
									<li><a href="#">购买</a></li>
									<li><a href="#">摄影师</a></li>
									<li><a href="#">零售商</a></li>
									<li><a href="#">常规</a></li>
								</ul>
							</li>
							<li class="s2"><a href="#url"><span>商店</span></a>
								<ul class="p3 a3">
									<li><a href="#">南区</a></li>
									<li><a href="#">北区</a></li>
									<li><a href="#">中心区</a></li>
								</ul>
							</li>
							<li class="s2"><a href="#url"><span>联系我们</span></a>
								<ul class="p3 a3">
									<li><a href="#">邮箱</a></li>
									<li><a href="#">邮递</a></li>
									<li><a href="#">电话</a></li>
								</ul>
							</li>
							<li class="s2 b6"><a href="#url"><span>销量</span></a>
								<ul class="p3 a5">
									<li><a href="#">数码单反机身</a></li>
									<li><a href="#">镜头</a></li>
									<li><a href="#">闪光枪</a></li>
									<li><a href="#">三角架</a></li>
									<li><a href="#">过滤器</a></li>
								</ul>
							</li>
						</ul>
					</li>
				</ul>
			</p>
		</p>
	</body>
</html>

レンダリングは次のとおりです:

扇形のアニメーションメニューのCSS3実装例

扇形のアニメーションメニューのCSS3実装例

この記事はここまでですの内容全体が CSS3 の学習または使用に役立つことを願っています。質問がある場合は、メッセージを残して連絡してください。

扇形のアニメーション メニューの例の CSS3 実装に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
毎週のプラットフォームニュース:遅い接続でUXの改善、ALTテキストを書くためのヒント、HTMLロード属性のポリフィル毎週のプラットフォームニュース:遅い接続でUXの改善、ALTテキストを書くためのヒント、HTMLロード属性のポリフィルApr 17, 2025 am 11:09 AM

今週のラウンドアップ、ゆっくりとした接続の決定方法、画像のためにALTテキストに入れるもの、およびHTMLロード属性の新しいポリフィル、

少しポップを追加するための再利用可能なポップオーバー少しポップを追加するための再利用可能なポップオーバーApr 17, 2025 am 11:02 AM

ポップオーバーは、ユーザーがコントロールボタンまたは定義された領域内でクリックすると、画面上のコンテンツの上に表示される一時的なビューです。例えば、

実際のアンダーラインとのスタイリングリンク実際のアンダーラインとのスタイリングリンクApr 17, 2025 am 10:57 AM

アンダーラインのスタイル方法に来る前に、質問に答える必要があります。アンダーラインする必要がありますか?

毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動Apr 17, 2025 am 10:55 AM

今週のプラットフォームニュースのラウンドアップで、Chromeは、Web開発者のロード、アクセシビリティ仕様、およびBBCの動きのための新しい属性を導入します

GraphQlを使用したマルチプレイヤーTic Tac ToeGraphQlを使用したマルチプレイヤーTic Tac ToeApr 17, 2025 am 10:54 AM

GraphQLは、フロントエンド開発者にとって非常に力を与えているAPIのクエリ言語です。 GraphQLサイトが説明しているように、あなたはあなたのデータを説明し、何を尋ねます

CSS変数を使用した論理操作CSS変数を使用した論理操作Apr 17, 2025 am 10:44 AM

非常に頻繁に、スイッチ変数(0または1のいずれかの変数を使用している間、この投稿でより詳細に説明した概念)を使用してください。

怠zyなロード埋め込みYouTubeビデオ怠zyなロード埋め込みYouTubeビデオApr 17, 2025 am 10:40 AM

これは、アーサー・コレンザンを介した非常に賢いアイデアです。デフォルトのYouTube埋め込みを使用するのではなく、ユーザーが再生するかどうかをページにリソースのがらくたを追加します

CSSでカーソルを回転できますか?CSSでカーソルを回転できますか?Apr 17, 2025 am 10:28 AM

ちょっと!それを行う簡単な方法や標準的な方法はありませんが、可能です。 CSSを使用して、カーソルをさまざまな内蔵ネイティブバージョンに変更できます

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター