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