なでしこさんで部品の配置を思い通りにしたい⁉️

　CSSのじゅもんを頑張って使い、なでしこさんで部品の配置を思い通りにする術を考えていきます。

# 発端
　最近掲示板に、部品の配置を思い通りに出来ないのですか？　という質問がありました。
 
　**それな！！！**

　なでしこ１でvnakoを使っていた方はだいたい、部品関係の仕様が大きく変わっていることに戸惑うことでしょう。
　なでしこ３はブラウザで動くので、部品もHTML5のinputその他のタグを利用して作られています。ブラウザであるが故の制限や不自由さもあって、なでしこ１のGUI部品と比べてイマイチ使い勝手が良くないというか初心者ライクではないという印象がありました。

　もっとも、個別に作成する命令が用意されているものだけでなく、**HTMLタグで作れるものは全て「[DOM部品作成](https://nadesi.com/v3/doc/index.php?plugin_browser%2FDOM%E9%83%A8%E5%93%81%E4%BD%9C%E6%88%90&show)」で作ることの出来るDOM部品**と言うことも出来るので、HTMLやCSSを知ればむしろ自由度はとても高いものになっているのですが、それが逆にむじゅかしさを醸し出してもいる。
　ちょっとこんなこと出来ないかな？　と思った時に、なでしこの命令では用が足りず、マニュアル見てもサッパリ分からず、HTMLやCSSやJavascriptでケンサクしたりプロパティだのメソッドだのを調べまくったりしなきゃならないのはツライ💧

　などと冒頭からぼやきましたが、実は最近DOM部品関係には結構手が入って使いやすさが向上してきています✨
　新機能をお試ししたり、ｖ１と比較したりしながら色々探っていきたいと思います。
　文法などもｖ１とはかなり違っておりますが、今回そこはチュートリアルなどで確認してみて下さい。マニュアルも徐々に内容が充実してきました✨
　
👉[**なでしこ3 チュートリアル > ブラウザ向け - 部品やイベントの扱いについて**](https://nadesi.com/v3/doc/index.php?%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB&show#hfc5213ba)

👉[**なでしこ3 マニュアル > plugin_browser/DOM部品操作**](https://nadesi.com/v3/doc/index.php?plugin_browser%2FDOM%E9%83%A8%E5%93%81%E6%93%8D%E4%BD%9C&show)

　ちょっと似ていて結構違うから混同してエラー祭りになりがちだけど、一回ｖ１のことを頭から追い出せば、そう難しい文法ではないですよね？

# 基本の配置
　部品の作り方が分かったところで部品の配置です。
　まずは、普通に部品を作っていった場合にどう並ぶかを、ｖ１と比較しながらやってみます。
### ｖ１の場合
　なでしこ１の場合は、位置の指定を行わずに部品を作っていけば、部品を作るごとに部品の作成される基本Yが自動的に「部品の高さ＋部品間隔(初期値は8px)」だけ下方へ移動していき、部品が縦に並ぶ仕組みになっています。この仕組みが無いと、部品がぜんぶ重なって表示されちゃうんですよね。

<blockquote><font color="black">説明ラベル</font><font color="#cc0000">とは</font><font color="black">ラベル</font>。<br><font color="#660099">そ</font><font color="#cc0000">の</font><font color="black">テキスト</font><font color="#cc0000">は</font><font color="maroon">「名前を入力して下さい」</font><br><font color="black">名前エディタ</font><font color="#cc0000">とは</font><font color="black">エディタ</font>。<br><font color="black">挨拶ボタン</font><font color="#cc0000">とは</font><font color="black">ボタン</font>。</blockquote>

![部品v1基本.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/561177/429e1836-d787-fd19-5ede-f98200459b8f.jpeg)

### ｖ３の場合
　一方なでしこ３の場合は、ブラウザにお任せです。
　なでしこ側の仕組みではなく各ブラウザの仕様によって、よきように配置されていきます。
　基本的には通常フローに沿ってテキストなどと同様左から右へ、そして右端で折り返されます。

<blockquote><font color="black">説明ラベル</font><font color="#cc0000">は</font><font color="maroon">「名前を入力して下さい」</font><font color="#cc0000">の</font><font color="#660099">ラベル作成</font>。<br><font color="black">名前エディタ</font><font color="#cc0000">は</font><font color="#660099">空</font><font color="#cc0000">の</font><font color="#660099">エディタ作成</font>。<br><font color="black">挨拶ボタン</font><font color="#cc0000">は</font><font color="maroon">「挨拶」</font><font color="#cc0000">の</font><font color="#660099">ボタン作成</font>。</blockquote>

![部品v3基本.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/561177/ce1351fc-606c-a2a5-b030-be8ecccc0ebf.jpeg)

　ｖ１のように縦に並べていきたい場合は部品作成ごとに自分で「[**改行作成**](https://nadesi.com/v3/doc/index.php?plugin_browser%2F%E6%94%B9%E8%A1%8C%E4%BD%9C%E6%88%90&show)」を入れていきます。
<blockquote><font color="black">説明ラベル</font><font color="#cc0000">は</font><font color="maroon">「名前を入力して下さい」</font><font color="#cc0000">の</font><font color="#660099">ラベル作成</font>。<br><font color="#660099">改行作成</font>。<br><font color="black">名前エディタ</font><font color="#cc0000">は</font><font color="#660099">空</font><font color="#cc0000">の</font><font color="#660099">エディタ作成</font>。<br><font color="#660099">改行作成</font>。<br><font color="black">挨拶ボタン</font><font color="#cc0000">は</font><font color="maroon">「挨拶」</font><font color="#cc0000">の</font><font color="#660099">ボタン作成</font>。</blockquote>

![部品v3改行.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/561177/776679ba-e880-3b08-62bd-b5e3f7b93ba9.jpeg)

　なお、全部縦に並べて良い場合は、`DOM部品オプション["自動改行"] = オン。`とすることで、部品を作成するたび自動的に改行が入るようにもできます。

👉[**なでしこ3 マニュアル > plugin_browser/DOM部品オプション**](https://www.nadesi.com/v3/doc/index.php?plugin_browser%2FDOM%E9%83%A8%E5%93%81%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3&show)

## 横に並べたい(折り返されたくない！)
　こんなふうに並べたい。
![部品v1右側.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/561177/a22b3a76-7169-581b-0d3f-0c0979abebbd.jpeg)

### ｖ１の場合
　ｖ１は基本縦に部品が並ぶのですが、「右側」、「下側」という便利なメンバ関数があり、

<blockquote><font color="black">挨拶ボタン</font><font color="#cc0000">の</font><font color="black">位置</font><font color="#cc0000">は</font><font color="black">名前エディタ</font><font color="#cc0000">の</font><font color="black">右側</font>。</blockquote>

　などとすれば、簡単に部品を横に並べることができます。
　「右側」は、引数で与えた部品（名前エディタ）の「左(X)＋幅＋部品間隔,上(Y)」を取得するもので、このようにｖ１では特に意識せずに部品を並べた場合でも、必ず(X,Y)の座標に部品が配置されています。
　ですから母艦の幅を狭くしたからって部品の位置がずれるようなことは無く、横スクロールバーが表示されますよ。

### ｖ３の場合
　ｖ３は基本横に部品が並ぶので、改行したい位置にだけ改行作成を入れてやれば、見た目上は同じように部品が並びます・・・が、しかし！
　ブラウザの幅を狭くしたら、折り返されてしまいます。

　実際ウェブブラウザの操作で横スクロールバーとか邪魔くさいことが多いですからね～。
　デスクトップアプリと違っていろんな環境が想定されるので、うまいこと画面内に収まるようにブラウザさんが取りはからって下さってるワケですが、余計なお世話じゃ～！　とにかくこのとーりに並べておきたいんじゃ～！！！　とゆう場合もあります。

![部品v3あいうえお.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/561177/a5162bbc-e58e-1d7d-3f12-e7067dc65b81.jpeg)

　ぎゃー💧
　まだ全然余裕で入るでしょ！　って思うんだけど、他の余白やマージンとかの関係でこうなる。
　広い画面上で部品のマージンを調整したりラベルで空白を入れたりして配置を整えていると、なおさら台無し感が出たりする。
　スマホで開いてみたらほんのちょこっと幅が足りんかったばかりに見た目が崩壊とか、ホント勘弁して欲しいですからね。
　そんな時の呪文がこちら。

<blockquote><font color="#660099">DOM親要素</font><font color="#cc0000">の</font><font color="maroon">「white-space」</font><font color="#cc0000">に</font><font color="maroon">「nowrap」</font><font color="#cc0000">を</font><font color="#660099">DOMスタイル設定</font>。</blockquote>

　部品に設定するのではなく、部品を作る親要素に設定します。

![部品v3横.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/561177/149f0635-2342-bed6-da04-8f80d6a92e88.jpeg)

　ブラウザの幅を狭くしてあふれても折り返されず、横スクロールバーが表示されました！
　雑な方法ですが、とにかく**簡単に**なでしこさんの部品を思い通りに配置したい！　という趣旨の話ですのでゆるして🙏

　ちなみにこれはテキストの折り返しを禁止する呪文で、その設定は子部品にも継承されますので、通常通りに折り返されたいテキストの入った要素があったら逆に、その要素の「white-space」に「normal」をDOMスタイル設定してあげる必要が出てきます。

#### 日本語で折り返し禁止設定したい・・・
　正直こんなアルファベットは綴りたくないのですが、これらはDOM和スタイルの登録がありません。
　でも、和スタイル名もむじゅかしい。
　ホワイトスペースって何よ？　ってなるし、説明をうだうだ読んでしまうと単純に折り返し禁止とかにも出来ない感？

　むしろ、こうかなぁｗ

<blockquote><strong><font color="#cc0099">●(domに)折り返し禁止設定</font></strong><br>　　<font color="black">dom</font><font color="#cc0000">の</font><font color="maroon">「white-space」</font><font color="#cc0000">に</font><font color="maroon">「nowrap」</font><font color="#cc0000">を</font><font color="#660099">DOMスタイル設定</font>。<br><font color="#cc0099">ここまで</font>。</blockquote>

　それか、オンオフで`nowrap`か`normal`かを付けられる感じの方がいいかなぁ？


# x,yで任意の位置に配置したい！
　というのが本来の内容でした。

### ｖ１の場合
　ｖ1では
<blockquote><font color="black">テストボタン</font><font color="#cc0000">とは</font><font color="black">ボタン</font>。<br><font color="black">テストボタン</font><font color="#cc0000">の</font><font color="black">左</font><font color="#cc0000">は</font><font color="#0000cc">200</font>。<br><font color="black">テストボタン</font><font color="#cc0000">の</font><font color="black">上</font><font color="#cc0000">は</font><font color="#0000cc">100</font>。</blockquote>

　などと、左,上、またはX,Yを指定して母艦上の好きな位置に部品を配置することが出来ます。
　そして、自分で指定した場合はもとより、自動的に配置された場合でも、X,Y、左,上のメンバ変数に、その位置情報が入っています。
 
　では、ｖ３は？

## 部品を絶対位置に配置出来るようにする
　スタイルのプロパティに`position`というのがあり、要素の配置方法を設定できます。
　既定値は`static`で、`top`と`left`や、`right`、`bottom`の位置指定も、`z-index`による重なり順の指定も効きません。
　そこで、まずはこれを`absolute`（絶対位置）に設定してやります。

<blockquote><font color="black">テストボタン</font><font color="#cc0099">＝</font>&nbsp;<font color="maroon">「テスト」</font><font color="#cc0000">の</font><font color="#660099">ボタン作成</font>。<br><font color="black">テストボタン</font><font color="#cc0000">の</font><font color="maroon">「position」</font><font color="#cc0000">に</font><font color="maroon">「absolute」</font><font color="#cc0000">を</font><font color="#660099">DOMスタイル設定</font>。</blockquote>

　そうすると、「top」や「left」などの位置を指定するプロパティが有効になります。

<blockquote><font color="black">テストボタン</font><font color="#cc0000">の</font><font color="maroon">「左」</font><font color="#cc0000">に</font><font color="maroon">「200px」</font><font color="#cc0000">を</font><font color="#660099">DOMスタイル設定</font>。<br><font color="black">テストボタン</font><font color="#cc0000">の</font><font color="maroon">「上」</font><font color="#cc0000">に</font><font color="maroon">「100px」</font><font color="#cc0000">を</font><font color="#660099">DOMスタイル設定</font>。</blockquote>

　などと位置を指定することが出来るようになりました！
　DOM和スタイルによりなでしこらしく「左」と「上」で設定できますが、X,Yではできません。そのまんま「left」と「top」です。
　また、ｖ１と違い単位が必要なのでご注意です。

### オブジェクトプロパティ構文

　最近導入されたオブジェクトプロパティ構文を使えば、このように書くことが出来ます。

<blockquote><font color="black">テストボタン</font><font color="#cc0099">.</font><font color="black">左</font><font color="#cc0099">＝</font><font color="#0000cc">200px</font>。<br><font color="black">テストボタン</font><font color="#cc0099">.</font><font color="black">上</font><font color="#cc0099">＝</font><font color="#0000cc">100px</font>。</blockquote>

　スッキリ♪　すばらしい。
　そして実は、ｖ１でも同じように書くことが出来るんですよ！（単位は要りません）

　英語イヤンな人からすると、おぶじぇくと？？　ぷ、ぷろぱてぃ？！　ってなりますが、ここではオブジェクトはDOM部品そのもの、プロパティはｖ１で言うところのメンバ変数みたいなことです。
　ただし、DOM部品のプロパティはｖ１のGIU部品のメンバ変数よりも構造が複雑で、「[**DOM属性設定**](https://www.nadesi.com/v3/doc/index.php?plugin_browser%2FDOM%E5%B1%9E%E6%80%A7%E8%A8%AD%E5%AE%9A&show)」「[**DOM属性取得**](https://www.nadesi.com/v3/doc/index.php?plugin_browser%2FDOM%E5%B1%9E%E6%80%A7%E5%8F%96%E5%BE%97&show)」で取得設定出来る通常のプロパティの中に`style`プロパティというのがあって、CSSによるスタイル設定を直接指定できることになっており、このスタイル属性の中に左や上や、幅や高さや背景色などといった我々が指定したいっぽいヤツがたくさん入っています。
　これらは「[**DOMスタイル設定**](https://www.nadesi.com/v3/doc/index.php?plugin_browser%2FDOM%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E8%A8%AD%E5%AE%9A&show)」「[**DOMスタイル取得**](https://www.nadesi.com/v3/doc/index.php?plugin_browser%2FDOM%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E5%8F%96%E5%BE%97&show)」で取得設定できます。
　ややこやしい💧　使い分けが分からん🤔　いや、分かっているけど書き間違う😅

　そこで、オブジェクトプロパティ構文では、なでしこの命令で作成した部品に関しては、本来であれば、

<blockquote><font color="black">テストボタン</font><font color="#cc0099">.</font><font color="black">style</font><font color="#cc0099">.</font><font color="black">left</font><font color="#cc0099">＝</font><font color="#0000cc">200px</font>。<br><font color="black">テストボタン</font><font color="#cc0099">.</font><font color="black">style</font><font color="#cc0099">.</font><font color="black">top</font><font color="#cc0099">＝</font><font color="#0000cc">100px</font>。</blockquote>

　であるところを、なでしこらしく日本語で、簡略化して、

<blockquote><font color="black">テストボタン</font><font color="#cc0099">.</font><font color="black">左</font><font color="#cc0099">＝</font><font color="#0000cc">200px</font>。<br><font color="black">テストボタン</font><font color="#cc0099">.</font><font color="black">上</font><font color="#cc0099">＝</font><font color="#0000cc">100px</font>。</blockquote>

　と記述出来るようになっているスグレモノです🎶

👉[**なでしこ3 マニュアル > 文法/オブジェクトプロパティ構文**](https://nadesi.com/v3/doc/index.php?%E6%96%87%E6%B3%95%2F%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3%E6%A7%8B%E6%96%87%E3%80%8C%24%E3%80%8D&show)

:::note info
[v3.6.38](https://github.com/kujirahand/nadesiko3/releases/tag/3.6.38)以降は、でしこの命令で作成した部品以外(HTML設定とか)でも、この記法が使えるようになっています！

```
「<button id="test">テスト</button>」をHTML設定。
テストボタン＝「test」のDOM要素ID取得。
テストボタン.色＝赤色
```
:::

#### 日本語で絶対位置配置の設定したい・・・
　でも、`position`や`absolute`は和スタイルが無いんだよね～。
　absoluteなんて、綴れませんよよよ～（この記事のアルファベットは全てコピペしながら書いてる人です）

　これもとりあえずこんな感じかなｗ
<blockquote><strong><font color="#cc0099">●(DOMを)絶対位置配置</font></strong><br>　　<font color="black">DOM</font><font color="#cc0000">の</font><font color="maroon">「position」</font><font color="#cc0000">に</font><font color="maroon">「absolute」</font><font color="#cc0000">を</font><font color="#660099">DOMスタイル設定</font>。<br><font color="#cc0099">ここまで</font>。</blockquote>

:::note info
その後考えた結果、DOMスキン設定が良さそう！

[**なでしこさんのDOM部品でトランプを作るよ > 最初にDOMスキン設定**](https://qiita.com/snowdrops89/items/dc6ce76471aa16c408a0#%E6%9C%80%E5%88%9D%E3%81%ABdom%E3%82%B9%E3%82%AD%E3%83%B3%E8%A8%AD%E5%AE%9A)
:::

## 基準の(0,0)はどこなの？

　ｖ１であれば、当然母艦の左上です。
　では、ｖ３は？

<blockquote><font color="black">テストボタン</font><font color="#cc0099">＝</font>&nbsp;<font color="maroon">「テスト」</font><font color="#cc0000">の</font><font color="#660099">ボタン作成</font>。<br><font color="black">テストボタン</font><font color="#cc0000">を</font><font color="black">絶対位置配置</font>。<br><font color="black">テストボタン</font><font color="#cc0099">.</font><font color="black">左</font><font color="#cc0099">＝</font><font color="#0000cc">200px</font>。<br><font color="black">テストボタン</font><font color="#cc0099">.</font><font color="black">上</font><font color="#cc0099">＝</font><font color="#0000cc">100px</font>。<br><br><strong><font color="#cc0099">●(DOMを)絶対位置配置</font></strong><br>　　<font color="black">DOM</font><font color="#cc0000">の</font><font color="maroon">「position」</font><font color="#cc0000">に</font><font color="maroon">「absolute」</font><font color="#cc0000">を</font><font color="#660099">DOMスタイル設定</font>。<br><font color="#cc0099">ここまで</font>。</blockquote>

　実は、先ほどのこれを貯蔵庫エディタで実行したらどうなるかといえば・・・

　あれ、ボタンどこー？
　となり、ぎゃー、こんなとこに出来てる⁉️⁉️⁉️

![テストボタン.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/561177/e3fca90c-f975-103d-6795-008fae93f657.jpeg)

　ということになります。

　`position: absolute`についての説明を見てみると、

> 要素は文書の通常のフローから除外され、ページレイアウト内にこの要素のための空間が作成されません。この要素に直近の位置指定されている祖先があればそれに対して、そうでなければ、初期の包含ブロックに対して相対配置されます。最終的な位置は top, right, bottom, left の値によって決定されます。

　となっています。チョット何言ってるか分かんない💧
　`初期の包含ブロック`とはルート要素(html)で、ブラウザの表示領域と考えて良いようです。
　つまり何もしていない状態だと、ブラウザの表示部分の左上が基準の(0,0)になるってことですね。

　この解決方法は次で書きますが、そもそも本来ウェブページでは、こんな風に何でもかんでも絶対位置指定で部品を配置するということは推奨されないと思います。
　いわゆる、れすぽんしぶ的な？
　そんなこともあって冒頭の質問には、（先に基本的には出来ない趣旨の丁寧な回答が付いたことから）とは言えやって出来ないことはないんだよ～くらいにちょこっとpositionの紹介しただけのモノスゴク雑な回答をしてしまいました🙏

　が！　ワタクシひらめきました。
　配布キットだったら別にいいんじゃないですか？

 👉[**なでしこ3 マニュアル > 配布キット**](https://nadesi.com/v3/doc/index.php?%E9%85%8D%E5%B8%83%E3%82%AD%E3%83%83%E3%83%88&show)

　ブラウザの機能を利用してはいても、PCで実行される前提のもので、ウィンドウのサイズも指定できるようになっています。
　ヘッダ部分を消してしまえば、他はなんの設定もしなくても、基準の0,0はウィンドウの左上になりますよ。
　ウィンドウを母艦と考えて、やりたい放題好きに部品を配置しても別に構わないんじゃ？
　なでしこ１の気分で部品を使いたい向きには最適な気が？？

　配布キットでヘッダ部分を消したりウィンドウサイズを変更したりについては、過去にこちらで書きました。

https://qiita.com/snowdrops89/items/580e3b8a6b3383d64311

## 貯蔵庫エディタでも絶対位置配置したい
　基準の(0,0)の位置は、普通に部品を作った時に、最初の部品が表示される位置じゃないと困りますよね。
　改めて説明を見ると、`この要素に直近の位置指定されている祖先があればそれに対して`相対配置されるとあります。
　`position`に`static`以外の値を指定した要素を親要素にすれば、その親要素の(0,0)が基準の(0,0)になるということのようです。

　しかも！
　`ページレイアウト内にこの要素のための空間が作成されません`とあります。
　通常だと部品を作っていけばそれにつれて親要素が広がり、部品の表示されるスペースが確保されますが、さっきのボタンで分かるとおり、absoluteの場合は元からある要素の上に重なっちゃいます。
　部品を表示するスペースをあらかじめ確保しておく必要があります。

　とりあえず、こんな感じ？
<blockquote><font color="black">親</font><font color="#cc0099">＝</font><font color="maroon">「div」</font><font color="#cc0000">の</font><font color="#660099">DOM部品作成</font>。<br><font color="black">親</font><font color="#cc0000">の</font><font color="maroon">「position」</font><font color="#cc0000">に</font><font color="maroon">「relative」</font><font color="#cc0000">を</font><font color="#660099">DOMスタイル設定</font>。<br><font color="black">親</font><font color="#cc0099">.</font><font color="black">幅</font><font color="#cc0099">＝</font><font color="#0000cc">400px</font><br><font color="black">親</font><font color="#cc0099">.</font><font color="black">高さ</font><font color="#cc0099">＝</font><font color="#0000cc">400px</font><br><font color="black">親</font><font color="#cc0099">.</font><font color="black">ボーダー</font><font color="#cc0099">＝</font><font color="maroon">「1px&nbsp;solid&nbsp;{銀色}」</font><br><font color="black">親</font><font color="#cc0000">に</font><font color="#660099">DOM親要素設定</font>。<br><br><font color="black">テストボタン</font><font color="#cc0099">＝</font><font color="maroon">「テスト」</font><font color="#cc0000">の</font><font color="#660099">ボタン作成</font>。<br><font color="black">テストボタン</font><font color="#cc0000">の</font><font color="maroon">「position」</font><font color="#cc0000">に</font><font color="maroon">「absolute」</font><font color="#cc0000">を</font><font color="#660099">DOMスタイル設定</font>。<br><font color="black">テストボタン</font><font color="#cc0099">.</font><font color="black">左</font><font color="#cc0099">＝</font><font color="#0000cc">200px</font>。<br><font color="black">テストボタン</font><font color="#cc0099">.</font><font color="black">上</font><font color="#cc0099">＝</font><font color="#0000cc">100px</font>。</blockquote>

　`position`に`relative`（相対位置）を設定したdiv要素を作って親要素に設定し、幅と高さを指定します。
　relativeに設定した要素は、自分が通常フローで配置される位置を基準の(0,0)として位置の指定が出来るんですが、何も指定しなければ普通に通常フローで配置されます。
　`static`以外の値を指定しているので、子部品の絶対位置の基準は、この親要素の(0,0)になり、普通に部品を作った時の位置を基準として位置の指定が出来るようになります。
　そして、relativeはabsoluteと違って要素の幅と高さ分のスペースが確保されるので、この中で自由に絶対位置指定で部品を配置出来るようになるって寸法です。
　ボーダーは分かりやすいように付けています。

![部品の絶対位置配置.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/561177/3c343f96-fcec-4aa5-ce8b-e801f9c83076.jpeg)


### 参考
https://developer.mozilla.org/ja/docs/Web/CSS/position

# おわります
　一応なでしこさんで部品をｖ１みたいな感覚で、x,yの概念で配置することが出来ました。
　ただし、使い所はよく考える必要があります。
　本当の意味で凝った配置のアプリを作ろうと考えるなら、ちゃんとウェブデザインを学ばないとダメな感？
　でも、絶対位置の配置は、DOMゲームとか作るのに使うんだよね～。
　何かゲームっぽいもの作りたいよね～。

　今回のこれを利用してちょっと何か作ってみたりと、うっすら続くかもですが、もっともらしい解説は終了です。
　何しろワタクシ、なでしこさんで何かするためだけに、色々調べたりなんだりした切り貼りの知識だもんで、こうゆうのムリなんですぅ～😭
　間違いなどありましたらご教授願います。