Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Flores amarillas

2025年09月13日に「Dev.to」が公開したITニュース「Flores amarillas」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Web開発者が「Flores amarillas(黄色い花)」と題したWebプログラミング作品を公開した。HTMLやCSS、JavaScriptなどで作られたコードがブラウザ上でどう動くか確認できるデモだ。

出典: Flores amarillas | Dev.to公開日:

ITニュース解説

この記事は、CodePenというWeb開発者がコードを共有・実行できるプラットフォームで公開された、「Flores amarillas(黄色い花)」というデモについて解説する。システムエンジニアを目指す皆さんにとって、Webページがどのように作られているのか、その基本的な技術要素がどのように連携しているのかを理解する良い教材となるだろう。

Webページの作成には、主にHTML、CSS、JavaScriptという3つの技術が使われる。この記事のデモも、この三つの要素技術を巧みに組み合わせて、動的な「黄色い花」を描き出している。

まず、HTML(HyperText Markup Language)は、Webページの構造や内容を定義する役割を担う。ちょうど建物の骨格を設計するようなものだと考えると分かりやすい。このデモでは、花を構成する要素をHTMLのdivタグで表現している。例えば、花全体を囲むdivにはflowerというIDが与えられ、その中に花びらを表す複数のpetalクラスのdiv要素、茎を表すstemクラスのdiv要素、葉を表すleafクラスのdiv要素、そして花の中心を表すcenterクラスのdiv要素が配置されている。これらの要素が、後述するCSSやJavaScriptによって見た目や動きを与えられる基盤となる。HTMLだけではただのテキストの羅列に過ぎないが、役割ごとに要素を定義することで、Webページに意味のある構造を与えるのだ。

次に、CSS(Cascading Style Sheets)は、HTMLで定義された要素の見た目を装飾する役割を担う。建物の外壁の色を塗ったり、窓の形を決めたりする作業に相当する。このデモでは、各div要素に対して、色、形、大きさ、配置などのスタイルが詳細に定義されている。例えば、petalクラスのdivは黄色の背景色を持ち、border-radius: 50%;というスタイルで角を丸くし、楕円形の花びらの形を作り出している。position: absolute;プロパティは、要素を親要素に対して絶対的な位置に配置するために使われ、これにより花びらや茎、葉が正確な位置に配置される。特に注目すべきは、transformプロパティだ。transform: rotate(...)を使うことで、花びらを回転させて円形に配置したり、葉を傾けたりしている。花びらの回転には--iというCSSカスタムプロパティ(変数)が使われており、これによってJavaScriptから各花びらの回転角度を動的に指定できるようになっている。また、背景に広がる波紋のようなアニメーションは、@keyframesルールを使って定義されている。これは、要素の見た目を時間とともに変化させるためのもので、円が拡大しながら透明度を失っていく(transform: scale(...)opacity)動きを表現している。

そして、JavaScriptは、Webページに動きやインタラクティブな要素を追加する役割を担う。これは、建物に自動ドアを設置したり、照明を自動で点灯させたりするような、機能的な部分を作り出す作業に近い。このデモでは、JavaScriptが非常に重要な役割を果たしている。まず、HTMLでは一つしか定義されていない花びらのdiv要素を、JavaScriptのforループを使って10個動的に生成している。document.createElement('div')で新しいdiv要素を作り、petal.classList.add('petal')でCSSで定義したpetalクラスを付与している。さらに、petal.style.setProperty('--i', i);という記述によって、先述のCSSカスタムプロパティ--iにループカウンタの値(i)を設定している。これにより、CSS側ではcalc(var(--i) * 36deg)という計算式で、各花びらが36度ずつずれて配置されるように制御されている。同様に、背景の波紋となるcircle要素もJavaScriptで10個生成され、それぞれcircle.style.animationDelay = ${i * 0.2}s;という記述でアニメーションの開始時間をずらしている。この時間差があることで、複数の円が順番に広がる波紋のエフェクトが生まれるのだ。最終的に、これらの動的に生成された要素はflower.appendChild(petal);document.body.appendChild(circle);によってWebページに追加される。

このように、この「Flores amarillas」のデモは、HTMLで構造を定義し、CSSで見た目を整え、JavaScriptで動きと動的な要素の生成を制御するという、Web開発の基本的な流れと各技術の役割、そしてそれらが密接に連携し合う様子を具体的に示している。特に、JavaScriptからCSSのスタイルを操作したり、CSSカスタムプロパティを介して両者が連携する様子は、より高度なWebアプリケーション開発においても頻繁に利用されるテクニックだ。

システムエンジニアを目指す皆さんにとって、Webアプリケーションの開発は非常に重要なスキルの一つとなる。このようなデモを通じて、HTML、CSS、JavaScriptという三つの基本技術がそれぞれどのような役割を持ち、どのように協力し合って一つの魅力的なWebコンテンツを作り上げているのかを理解することは、今後の学習の大きな助けになるだろう。実際にコードを読み解き、自分で手を動かして少しずつ改造してみることで、より深い理解と実践的なスキルが身につくはずだ。このデモは、Web技術の奥深さと楽しさを教えてくれる良い出発点となる。

関連コンテンツ

【ITニュース解説】Flores amarillas | いっしー@Webエンジニア