検索

ハッピーハロウィーン。不気味な季節の雰囲気を味わうために、この 100% CSS かぼちゃを最近作りました。どうやって作ったのか知りたい人もいるでしょう。

ペンを参照
100% CSS のパンプキン by micfun123 (@micfun123)
CodePen で。

それでは、それがどのように機能するかを説明しましょう。コードだけが必要で、プロセスを見たくない人のために、ここに CodePen があります。

私はこれまでこのようなことをしたことがなかったので、最初の目標は 3 つのオレンジ色の楕円形でした。

そこで、HTML から始めました。



    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS Pumpkin</title>
    <link rel="stylesheet" href="pumpkin.css">


    <div>



<p>The HTML does not really change anything now but it also don't show anything yet. Time for the CSS.<br>
</p>

<pre class="brush:php;toolbar:false">body {
display: flex;
justify-content: center; 
align-items: center;
height: 100vh;
}
.pumpkin {
position: relative;
display: flex;
align-items: center;
}  
.left{
width: 110px;
height: 160px;
background: rgb(255, 117, 24);
border-radius: 50%;
}
.right{
width: 110px;
height: 160px;
background: rgb(255, 117, 24);
border-radius: 50%;
}  
.center{
width: 110px;
height: 160px;
background: rgb(255, 117, 24);
border-radius: 50%;
}

これにより、3 つの完璧なオレンジ色の楕円形が並べて出力されます。 ここで何が起こっているのでしょうか? まず、body タグを使用して、pumpkin div をページの中央に配置します。最初の 3 行でこれを実行します。次に、高さを使用します: 100vh; body タグが画面の 100% を占めていることをコードに伝えます。これがないと、body タグはコンテンツと同じ大きさしかなくなり、楕円形がページの上部の中央に配置されることになります。 これが次のようなものです。

How I made a Pure CSS Pumpkin.
次に、円を重ねたいと思います。これは、左右の楕円に負のマージンを与えることで非常に簡単に行うことができます。

.left{
width: 110px;
height: 160px;
background: rgb(255, 117, 24);
border-radius: 50%;
margin-right: -45px;
}
.right{
width: 110px;
height: 160px;
background: rgb(255, 117, 24);
border-radius: 50%;
margin-left: -45px;
}

ここでは、右のオベルを左に 45 ピクセル移動し、左のオベルを右に 45 ピクセル移動します。 (写真の保存方法がまだ決まっていないので、この段階の写真は追加しません)

ここからは難しい部分です (Google がかなり使用されました)

.stem {
position: absolute;
top: -30px;
left: 50%;
transform: translateX(-50%); /* Center the stem horizontally with in the contanter */
width: 30px;
height: 60px;
background-color: brown;
border-radius: 3px;
z-index: -1;
}
.curve{
position: absolute;
top: -47px;
left: 43%;
transform: translateX(-50%); /* Center the stem horizontally with in the contanter */
transform: rotate(-15deg);
width: 30px;
height: 30px;
background-color: brown;
border-radius: 3px;
z-index: -1;
}

つまり、 width 、 height 、 border-radius 、 background-color は一目瞭然です。 だから私はそれをスキップするつもりです。 位置から開始: 絶対。 これは、Web サイトのフローから div を削除することを意味します。代わりに、最も近いアンカー ポイントに基づきます。 位置: 絶対; 任意の要素の上に配置できます。次に、Stem を水平方向に中央に配置するには、left: 50% とtransform: translationX(-50%); を使用します。考えてみれば当然のことですが、左から開始することを考える必要があります。 50% カボチャの div 内のステムの左端を中央に配置します。ヘタの中心がカボチャの中心に来るようにします。変換: 変換X(-50%);ステムをステム サイズの半分だけ左側に戻します。上: -47px;ほぼ期待どおりの結果をもたらします。上端を 47 ピクセル上に移動します。 z-index は私が最近見つけたもので、基本的には要素の高さです。 Z インデックスをカボチャの後ろに配置したいので、カボチャのデフォルトのインデックスが 0 であるのに対し、Z インデックスを -1 に設定します。これは次のようになります。

How I made a Pure CSS Pumpkin.

最後に目、口、背景です。まずは目から始めましょう



    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS Pumpkin</title>
    <link rel="stylesheet" href="pumpkin.css">


    <div>



<p>The HTML does not really change anything now but it also don't show anything yet. Time for the CSS.<br>
</p>

<pre class="brush:php;toolbar:false">body {
display: flex;
justify-content: center; 
align-items: center;
height: 100vh;
}
.pumpkin {
position: relative;
display: flex;
align-items: center;
}  
.left{
width: 110px;
height: 160px;
background: rgb(255, 117, 24);
border-radius: 50%;
}
.right{
width: 110px;
height: 160px;
background: rgb(255, 117, 24);
border-radius: 50%;
}  
.center{
width: 110px;
height: 160px;
background: rgb(255, 117, 24);
border-radius: 50%;
}

これは、border-width: 0 50px 41px 30px; よりも怖く見えます。ここで正方形の各辺の長さを設定します。上から始まり時計回りに進みます。したがって、正方形の上部の長さは 0 になります。これは、三角形には 3 つの辺があるためです。このトリックを使用すると、三角形を構成する辺の 1 つを削除できます。次に、右側の長さは 50 ピクセル、下側は長さ 50 ピクセル、左側は長さ 30 ピクセルになります。右目の場合は、左右の値を反転して、別の方向を指すようにします。 境界線の色: 透明 透明 #000000 透明; それでは、なぜ透明なものがこんなにたくさんあるのか疑問に思うかもしれません。ここには実際には 3 つの三角形があることがわかります (そのうちの 1 つは幅が 0 であるため存在しません)。一番下の三角形に色を付けたいだけなので、他の 3 つは透明に設定します。 ボーダースタイル: ソリッド;三角形を塗りつぶしたいので、スタイルを Solid に設定する必要があります。三角形を実際に塗りつぶしていない代わりに、非常に大きな境界線があるので、塗りつぶされているように見えます。これらすべてを経て、私たちは目を手に入れました。

How I made a Pure CSS Pumpkin.

最後のステップは笑顔です。

.left{
width: 110px;
height: 160px;
background: rgb(255, 117, 24);
border-radius: 50%;
margin-right: -45px;
}
.right{
width: 110px;
height: 160px;
background: rgb(255, 117, 24);
border-radius: 50%;
margin-left: -45px;
}

border-top-left-radius: 110px;そして border-top-right-radius: 110px;上隅の丸みをどの程度にするかを定義します。これは半円を作るビットですが、これにより曲線が上部に配置されます。これを修正するために、変換を追加しました。中心から少しずれるようにします。 最終結果は次のとおりです。

ペンを参照
100% CSS のパンプキン by micfun123 (@micfun123)
CodePen で。

これが最も美しいソリューションや最も効率的なソリューションではないことは認めますが、CSS で何かを描画しようとしたのは初めてで、かなり満足しています。いつものように、お気軽に Discord または reddit にフィードバックを残してください。

以上がPure CSS Pumpkin の作り方。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
これは発生することは想定されていません。不可能をトラブルシューティングしますこれは発生することは想定されていません。不可能をトラブルシューティングしますMay 15, 2025 am 10:32 AM

あなたが考えたことのない他の何かであることが判明したそれらの不可能な問題の1つをトラブルシューティングすることがどのように見えるか。

@KeyFrames対CSSトランジション:違いは何ですか?@KeyFrames対CSSトランジション:違いは何ですか?May 14, 2025 am 12:01 AM

@keyframesandcsstransitionsdifferincomplexity:@keyframesallowsfordeTailedAnimationのシーケンス、whilecsstransitionshandlesimplestatechanges.usecsstransitionsは、ButtonColorChanges、および@keyframesforintricateanimationslikerotatingingspinnnersを使用します。

静的サイトコンテンツ管理にページCMSを使用します静的サイトコンテンツ管理にページCMSを使用しますMay 13, 2025 am 09:24 AM

私は知っています、私は知っています:たくさんのコンテンツ管理システムオプションが利用可能であり、私はいくつかテストしましたが、実際にはY&#039;知っているものはありませんでしたか?奇妙な価格設定モデル、困難なカスタマイズ、一部は全体になることさえあります&

HTMLのCSSファイルをリンクするための究極のガイドHTMLのCSSファイルをリンクするための究極のガイドMay 13, 2025 am 12:02 AM

CSSファイルをHTMLにリンクすることは、HTMLの一部で要素を使用することで実現できます。 1)タグを使用して、ローカルCSSファイルをリンクします。 2)複数のタグを追加することにより、複数のCSSファイルを実装できます。 3)外部CSSファイルは、そのような絶対URLリンクを使用します。 4)ファイルパスとCSSファイルの読み込み順序の正しい使用を確認し、パフォーマンスを最適化すると、CSSプリプロセッサを使用してファイルをマージできます。

CSS Flexbox vsグリッド:包括的なレビューCSS Flexbox vsグリッド:包括的なレビューMay 12, 2025 am 12:01 AM

FlexBoxまたはグリッドの選択は、レイアウト要件によって異なります。1)FlexBoxは、ナビゲーションバーなどの1次元レイアウトに適しています。 2)グリッドは、雑誌のレイアウトなどの2次元レイアウトに適しています。この2つは、レイアウト効果を改善するためにプロジェクトで使用できます。

CSSファイルを含める方法:メソッドとベストプラクティスCSSファイルを含める方法:メソッドとベストプラクティスMay 11, 2025 am 12:02 AM

CSSファイルを含める最良の方法は、タグを使用してHTMLパーツに外部CSSファイルを導入することです。 1.タグを使用して、外部CSSファイルを導入します。 2。小さな調整のために、インラインCSSを使用できますが、注意して使用する必要があります。 3.大規模プロジェクトでは、@Importを介して他のCSSファイルをインポートするために、SASS以下などのCSSプリプロセッサを使用できます。 4。パフォーマンスのために、CSSファイルをマージし、CDNを使用し、CSSNANOなどのツールを使用して圧縮する必要があります。

FlexBox対グリッド:両方を学ぶべきですか?FlexBox対グリッド:両方を学ぶべきですか?May 10, 2025 am 12:01 AM

はい、Youはrelearnbothlexboxandgrid.1)FlexBoxisidealforone-Dimensional、FlexiblleayoutslikenavigationMenus.2)Gridexcelsintwo-digsignssuchasmagazinelayouts.3)Bothenhanceslaysutibulivedibulisunivedivition、floctonsulururを

軌道力学(またはCSSキーフレームアニメーションの最適化方法)軌道力学(またはCSSキーフレームアニメーションの最適化方法)May 09, 2025 am 09:57 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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

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

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

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

SublimeText3 中国語版

SublimeText3 中国語版

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

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)