回答編集履歴
6
書式の改善
answer
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
ざっと、質問者さんの質問を読んだところ、
|
2
2
|
BoxBをBoxAに対して上下左右中央揃えにしたいのですよね?
|
3
|
+
それであれば、2つの方法があります。
|
4
|
+
1つ目にmidway.jsという便利な物を利用することで出来ます。
|
3
|
-
|
5
|
+
[参考](http://coliss.com/articles/build-websites/operation/javascript/js-midway.html)
|
4
6
|
jquery.jsもいるので、忘れずに。
|
5
|
-
|
6
7
|
BoxBは、position absolute
|
7
8
|
height autoのままで構いませんが、
|
8
9
|
widthを指定するべきかと思います、
|
@@ -10,7 +11,8 @@
|
|
10
11
|
top 50%
|
11
12
|
right 50%とすると
|
12
13
|
BoxBから上に50%、右に50%となるので、BoxBが中央より右下に表示されます。(説明下手ですいません)
|
14
|
+
|
13
|
-
|
15
|
+
2つ目の方法としては、htmlに直接javascriptで記述することで出来ます。
|
14
16
|
```JavaScript
|
15
17
|
<script>
|
16
18
|
$(function(){
|
5
変更
answer
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
ざっと、質問者さんの質問を読んだところ、
|
2
2
|
BoxBをBoxAに対して上下左右中央揃えにしたいのですよね?
|
3
|
-
それであれば、midway.jsという
|
3
|
+
それであれば、midway.jsという便利な物があります。[参考](http://coliss.com/articles/build-websites/operation/javascript/js-midway.html)
|
4
4
|
jquery.jsもいるので、忘れずに。
|
5
5
|
|
6
6
|
BoxBは、position absolute
|
7
|
-
height autoで構いません
|
7
|
+
height autoのままで構いませんが、
|
8
|
+
widthを指定するべきかと思います、
|
8
9
|
よくある間違いとしては、
|
9
10
|
top 50%
|
10
11
|
right 50%とすると
|
4
みす
answer
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
top 50%
|
10
10
|
right 50%とすると
|
11
11
|
BoxBから上に50%、右に50%となるので、BoxBが中央より右下に表示されます。(説明下手ですいません)
|
12
|
-
なので、理想としてはBoxAの
|
12
|
+
なので、理想としてはBoxAのheight50%-BoxBのheight50%の値をtopに指定すれば良いのですが、cssだけではわかりにくいのですので、midway.jsかhtmlに直接javascriptで記述する必要があります。
|
13
13
|
```JavaScript
|
14
14
|
<script>
|
15
15
|
$(function(){
|
3
変更
answer
CHANGED
@@ -9,4 +9,21 @@
|
|
9
9
|
top 50%
|
10
10
|
right 50%とすると
|
11
11
|
BoxBから上に50%、右に50%となるので、BoxBが中央より右下に表示されます。(説明下手ですいません)
|
12
|
-
なので、理想としてはBoxAのtop50%-BoxBのheight50%の値を指定すれば良いのですが、cssだけではわかりにくいのですので、midway.jsかhtmlに直接javascriptで記述する必要があります。
|
12
|
+
なので、理想としてはBoxAのtop50%-BoxBのheight50%の値を指定すれば良いのですが、cssだけではわかりにくいのですので、midway.jsかhtmlに直接javascriptで記述する必要があります。
|
13
|
+
```JavaScript
|
14
|
+
<script>
|
15
|
+
$(function(){
|
16
|
+
var right = Math.floor(($("#BoxA").width() - $("#BoxB").width()) / 2);
|
17
|
+
var top = Math.floor(($("#BoxA").height() - $("#BoxB").height()) / 2);
|
18
|
+
//質問者さんの質問を見る限りBoxAはページ全体にかかっていると思うので別のやり方を記載します
|
19
|
+
// var right = Math.floor(($(window).width() - $("#BoxB").width()) / 2);
|
20
|
+
// var top = Math.floor(($(window).height() - $("#BoxB").height()) / 2);
|
21
|
+
$("#BoxB")
|
22
|
+
.css({
|
23
|
+
"top": top,
|
24
|
+
"right": right
|
25
|
+
})
|
26
|
+
});
|
27
|
+
</script>
|
28
|
+
```
|
29
|
+
こちらの方がmidway.jsを使うより直感的で分かりやすいのではないかと思います
|
2
変更
answer
CHANGED
@@ -9,4 +9,4 @@
|
|
9
9
|
top 50%
|
10
10
|
right 50%とすると
|
11
11
|
BoxBから上に50%、右に50%となるので、BoxBが中央より右下に表示されます。(説明下手ですいません)
|
12
|
-
なので、理想としてはBoxAのtop50%-BoxBのheight50%の値を指定すれば良いのですが、cssだけでは
|
12
|
+
なので、理想としてはBoxAのtop50%-BoxBのheight50%の値を指定すれば良いのですが、cssだけではわかりにくいのですので、midway.jsかhtmlに直接javascriptで記述する必要があります。
|
1
追加変更
answer
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
ざっと、質問者さんの質問を読んだところ、
|
2
2
|
BoxBをBoxAに対して上下左右中央揃えにしたいのですよね?
|
3
|
-
それであれば、midway.jsというの便利な物があります。参考http://coliss.com/articles/build-websites/operation/javascript/js-midway.html
|
3
|
+
それであれば、midway.jsというの便利な物があります。[参考](http://coliss.com/articles/build-websites/operation/javascript/js-midway.html)
|
4
4
|
jquery.jsもいるので、忘れずに。
|
5
5
|
|
6
6
|
BoxBは、position absolute
|
7
|
-
height autoで構いません。
|
7
|
+
height autoで構いません。
|
8
|
+
よくある間違いとしては、
|
9
|
+
top 50%
|
10
|
+
right 50%とすると
|
11
|
+
BoxBから上に50%、右に50%となるので、BoxBが中央より右下に表示されます。(説明下手ですいません)
|
12
|
+
なので、理想としてはBoxAのtop50%-BoxBのheight50%の値を指定すれば良いのですが、cssだけでは無理ですので、midway.jsかhtmlに直接javascriptで記述する必要があります。
|