質問編集履歴
2
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -110,9 +110,11 @@
|
|
110
110
|
|
111
111
|
実際には、トップバーやサイドバー等をGridを用いてレイアウトし、グリッドの内部にFlexboxで各要素をレイアウトしたのですが、バーに対してborderやmarginを設定したいと思ったのがきっかけです。
|
112
112
|
|
113
|
-
質問用に
|
113
|
+
質問用に似たような状況になるコードを書いたのですが、簡単すぎて最初からスペースを指定する意味がないものになってしまいました。
|
114
114
|
|
115
115
|
長いコードをそのまま乗せるわけにもいかないですし難しいですね・・・。
|
116
|
+
|
117
|
+
少なくともGridで作成するのは明らかにおかしいと言われるようなレイアウトではないと思います。
|
116
118
|
|
117
119
|
### 要素の数がパフォーマンスに与える影響について
|
118
120
|
|
1
回答に対して追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -93,3 +93,51 @@
|
|
93
93
|
```
|
94
94
|
|
95
95
|
![イメージ説明](cd344da2f8a5605caf51b7086ac8d7e4.png)
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
---
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
**s8_chuさんの回答に対して追記**
|
106
|
+
|
107
|
+
### Flexboxを使った方が良いという点について
|
108
|
+
|
109
|
+
今回のような例ではFlexboxを使ったほうが良いというのは重々承知です。
|
110
|
+
|
111
|
+
実際には、トップバーやサイドバー等をGridを用いてレイアウトし、グリッドの内部にFlexboxで各要素をレイアウトしたのですが、バーに対してborderやmarginを設定したいと思ったのがきっかけです。
|
112
|
+
|
113
|
+
質問用に簡単なコードを書いたのですが、簡単すぎて最初からスペースを指定する意味がないものになってしまいました。
|
114
|
+
|
115
|
+
長いコードをそのまま乗せるわけにもいかないですし難しいですね・・・。
|
116
|
+
|
117
|
+
### 要素の数がパフォーマンスに与える影響について
|
118
|
+
|
119
|
+
Javascriptで動的に要素を変化させようと考えているのですが、操作のレスポンスに少しでも影響がないようにと思い、要素の増加によるパフォーマンスの影響を懸念しました。
|
120
|
+
|
121
|
+
他言語的に考えると、DOM要素の移動等の操作を行う際、オブジェクト(要素)をコピーして移動させるか、あるいは参照先を付け替えるだけかと思うのですが、これに関する記述を見つけられませんでした。
|
122
|
+
|
123
|
+
もし前者なら、多くの要素を持つコンテナの作成・操作を行うと、大量にコピーが発生するのではと考えました。
|
124
|
+
|
125
|
+
「かなり大量に」と表現されているので、10~20程度の要素を内包するコンテナを50~100程度表示させることになると思いますが、この程度なら問題ないと考えてよいでしょうか。
|
126
|
+
|
127
|
+
もしDOM操作の仕組みについてもご存知でしたら教えていただけると嬉しいです。
|
128
|
+
|
129
|
+
### 回答のコードについて
|
130
|
+
|
131
|
+
3つも紹介していただいてありがとうございます。
|
132
|
+
|
133
|
+
いくつか方法はあるのですね。
|
134
|
+
|
135
|
+
確かにこの中なら疑似要素を用いたものが使いやすそうです。
|
136
|
+
|
137
|
+
直感的にも分かりやすくてありがたいです。
|
138
|
+
|
139
|
+
仮にs8_chuさんが同様の操作を行いたい場合、コンテナの作成も含めてどのように実現されますか?
|
140
|
+
|
141
|
+
ソースがないので難しいとは思いますが、HTMLやレイアウトを変えても問題ありません。
|
142
|
+
|
143
|
+
(上に書いたように2次元的な配置なのでGridが向いていると考えましたが、Gridのセルの代わりにコンテナを作成すれば、Flexboxで敷き詰めても無理なくレイアウトできる程度です。)
|