[캔버스를 창사이즈에 맞추기] 질문.
893
작성한 질문수 6
sticky-elem-canvas (div container)의 위치를 top left 50% 50%으로 한 후에 canvas elemen에 translate3d(-50%,-50%,0)을 하면 센터정렬이 된다고 하셨는데요.
이 원리가 어떻게 되는지 궁금합니다.
정확히말하자면 div 50% 후에 translate3d에서의 -50%값들이 어떤식으로 계산되길래, 가운데로 딱 맞춰지는지 궁금합니다.
50% 말고, 10%&-10% 등 다른값들은 정확히 센터정렬이 안되더라구요.
-----------------------------------------
+) 마지막 섹션의 canvas는 센터정렬할때 flex로 하셨었죠.
첫번째 섹션의 canvas 센터정렬도 translate3d() + scale() 대신 flex로 센터정렬을 해도 괜찮을까요?
예를들어,
<div class="sticky-elem sticky-elem-canvas">
<div class="wrapper">
<canvas id="video-canvas-0" width="1920" height="1080"></canvas>
</div>
</div>
이런식으로 wrapper를 하나 추가하고,
.wrapper{
width:100%;
height:100%;
display:flex;
align-items: center;
justify-content: center;
}
.sticky-elem-canvas canvas {
/* position: absolute;
top: 50%;
left: 50%; */
}
.sticky-elem-canvas {
top: 0;
height: 100%;
}
이런식으로 wrapper에 height와 width를 배정한뒤에 flex로 center로 처리하니 canvas가 가운데로 오긴하더라구요.
이렇게 할경우에 따로 문제가 생길 수 있는게 있을까요?
답변 3
8
translate에서의 %는, 내 자신의 크기가 기준이 됩니다.
만약 폭 1000px 높이 1000px인 요소라면
translate(-50%, -50%)는 픽셀로 한다면 translate(-500px, -500px)이 되겠지요~
top: 50%, left: 50%는 요소의 왼쪽 위가 브라우저의 중앙에 오게되므로,
아래 그림처럼 됩니다.
이 상태에서 가운데에 오게 하려면
오렌지색 박스 폭의 절반, 높이의 절반만큼 땡겨주면 되므로,
여기서 translate에 -50%값을 이용하는거지요~
크기의 절반씩 마이너스 방향으로 해주면, 아래와 같이 되겠지요!
이런 원리로 position과 translate를 이용해서 정렬 하는 것이고요.
flex를 이용해서 하는 가운데 정렬도 자주 사용하는데,
position이 absolute나 fixed처럼
flex 레이아웃의 영향을 받지 않는 요소들에는 적용이 어려우므로
그런 경우에는 translate를 이용하는 것이 제일 간편하고요.
어느 경우에 뭘 써야하는지는 정해진건 없어서,
판단하셔서 더 사용하기 편한걸 쓰시면 됩니다^^
이미지 배경 문의
0
65
1
[크로스브라우징] safari에서 동영상 영역 미노출
0
106
1
항상 궁금했는데 크림슨 컬러 선택하셨을때 활용했던 사이트 좀 알려주세요~
0
109
2
vue강의는안하시나요?!
0
100
1
스크롤 속도에 따른 messageA_opacity_out
0
115
1
drawImage(objs.videoImages[sequence], 0, 0); error
0
88
1
선생님 캔버스 width 크기는 이미지 크기에맞게 해줘야하나요?
0
126
0
선생님 안녕하세요. 혹시 메인개발(?)분야가 뭔지 궁금합니다.
0
206
1
React에서 load 상태를 어떻게 감지할 수 있을까요?
0
678
1
[섹션7-3: 버그수정 2] tempYOffset 오류
0
194
1
스크롤할 때 캔버스로 하신 이유가 있으신가요? 그냥 성능 떄문에 캔버스로 하신건가요?
0
312
2
게속 오류떠서 글 작성해봐요....
0
505
2
Vanilla JavaScript로 SPA 만드는 자료 혹은 선택 기준을 추천해주실 수 있으신가요?
1
488
1
특정 타이밍 스크롤 애니메이션 적용하기 섹션 수강중입니다.
0
455
2
[#svg, #이미지프레임과 텍스트 싱크] 스크롤 값에 움직이는 svg path, 이미지프레임과 텍스트 싱크 맞추는 것, 2가지 질문이 있습니다.
0
451
2
페이지가 처음 로딩 되었을 때 애니메이션 처리가 되지 않는 느낌입니다
0
430
1
섹션2 번째, opacity=0 되지 않고 잔상이 남습니다.
0
533
1
원래 쿼리셀렉터에서는 띄워쓰기 하면안되나요?
0
593
2
라이브러리 질문
1
412
2
translateY대신 애플에서 사용한 것 처럼 matrix로 scale의 크기를 주려고 하는데
0
409
1
[스크롤 높이 세팅] scrollHeight값이 3990아닌 4645로만 나오는데 뭐가 문제일까요? ㅠㅠ
0
596
2
scrollLoop 함수 질문
0
475
2
도메인 웹호스팅시 이미지가 안 뜨는데 누가 좀 알려주세요ㅠㅜ
0
1233
2
load 이벤트시 첫 비디오 이미지가 뜨네요.
0
504
2





