미디어 쿼리 없이 자스만으로 반응형 웹 만들어보기 정보
미디어 쿼리 없이 자스만으로 반응형 웹 만들어보기
본문
팁이라기엔 허접해서 걍 자게에 올려봅니다.
각종 기능 추가 테스트 중이어서 불안정할 수 있습니다...
http://kimjiwoon.kr/test.php
지운이녀석 사진 올릴 홈페이지 리뉴얼 좀 생각해보다가 미디어 쿼리 없이 jquery 만으로 반응형을 구축해야 겠단 생각이 들었습니다. 우선 전제조건이 있는데, 테스트 URL 처럼 단순한 구조의 레이아웃이어야 합니다.
다 읽어보시면 의문이 생기시겠지만 걍 css 에서 wrapper 넓이만 잘 잡아주면 되잖아?도 싶으실텐데, 사진 크기가 유동적일 수 있어서 넓이 잡는게 쉽지가 않습니다. 제 머리로는... ㄷㄷㄷ
작동원리는 간단합니다.
문서의 넓이를 구해서, 사진의 크기로 나눈 다음 (php 로 문서 시작지점에 설정, 나중에 관리까지 고려해서)
문서의 넓이에서 나머지값을 뺀 값으로 사진이 나올 부분(#wrapper)의 넓이를 지정합니다.
예를 들어 현재창의 넓이가 1,000 이고 사진은 150 by 150 이라면 나머지는 6 이 되는 거죠. 소숫점은 어떻게 처리되는지 잘 이해를 못했습니다. 구현부터 해보느라...
나머지값을 2 로 나누면 body 의 상하단 여백값이 나와서 (지금 예를 든 경우는 3이 되겠죠) wrapper 의 양여백과 body 의 상하단 여백이 거의 비슷한 값을 갖게 됩니다. 소숫점 처리에 대해 이해를 확실하게 안해서 아마도 거의...
만약 320px 을 최소 크기로 잡는다면 document 넓이 검사 후 320 이면 여백 등에 대해 다른 처리를 해주면 되겠죠.
대충 생각한 아이디어가 구현도 어렵지 않아서 바로 구현해보고 한번 올려봅니다.
허접하지만 필요하신 분 있으시면 한번 참고해보세요.
테스트 링크는 구현 완료 후 삭제할 생각입니다.
현재 가장 큰 난제는 사진 넓이와 높이에서 정 가운데 로고가 나오게 하는 것입니다. ㅠㅠㅠ
대충 아이디어는 떠올랐는데 실구현이 가능한 건지는 모르겠네요... 이래서 경험이...
덧.
최근 html5 게임 제작에 흥미가 생겼는데 그러려면 js 를 알아야겠더라구요.
이번 주말에 js 공부 좀 해보려고 사무실 서 책 챙겨왔는데 뜻하지 않은 가족여행으로 한 장도 못 본게 함정... ㅠ
각종 기능 추가 테스트 중이어서 불안정할 수 있습니다...
http://kimjiwoon.kr/test.php
지운이녀석 사진 올릴 홈페이지 리뉴얼 좀 생각해보다가 미디어 쿼리 없이 jquery 만으로 반응형을 구축해야 겠단 생각이 들었습니다. 우선 전제조건이 있는데, 테스트 URL 처럼 단순한 구조의 레이아웃이어야 합니다.
다 읽어보시면 의문이 생기시겠지만 걍 css 에서 wrapper 넓이만 잘 잡아주면 되잖아?도 싶으실텐데, 사진 크기가 유동적일 수 있어서 넓이 잡는게 쉽지가 않습니다. 제 머리로는... ㄷㄷㄷ
작동원리는 간단합니다.
문서의 넓이를 구해서, 사진의 크기로 나눈 다음 (php 로 문서 시작지점에 설정, 나중에 관리까지 고려해서)
문서의 넓이에서 나머지값을 뺀 값으로 사진이 나올 부분(#wrapper)의 넓이를 지정합니다.
예를 들어 현재창의 넓이가 1,000 이고 사진은 150 by 150 이라면 나머지는 6 이 되는 거죠. 소숫점은 어떻게 처리되는지 잘 이해를 못했습니다. 구현부터 해보느라...
나머지값을 2 로 나누면 body 의 상하단 여백값이 나와서 (지금 예를 든 경우는 3이 되겠죠) wrapper 의 양여백과 body 의 상하단 여백이 거의 비슷한 값을 갖게 됩니다. 소숫점 처리에 대해 이해를 확실하게 안해서 아마도 거의...
만약 320px 을 최소 크기로 잡는다면 document 넓이 검사 후 320 이면 여백 등에 대해 다른 처리를 해주면 되겠죠.
대충 생각한 아이디어가 구현도 어렵지 않아서 바로 구현해보고 한번 올려봅니다.
허접하지만 필요하신 분 있으시면 한번 참고해보세요.
테스트 링크는 구현 완료 후 삭제할 생각입니다.
현재 가장 큰 난제는 사진 넓이와 높이에서 정 가운데 로고가 나오게 하는 것입니다. ㅠㅠㅠ
대충 아이디어는 떠올랐는데 실구현이 가능한 건지는 모르겠네요... 이래서 경험이...
덧.
최근 html5 게임 제작에 흥미가 생겼는데 그러려면 js 를 알아야겠더라구요.
이번 주말에 js 공부 좀 해보려고 사무실 서 책 챙겨왔는데 뜻하지 않은 가족여행으로 한 장도 못 본게 함정... ㅠ
추천
0
0
댓글 16개
자스까지 갈꺼 없이 %만으로 해결이 가능하지 않나요?
소수점에 대한 부분은 em 혹은 %로 커버 가능할것 같구용
- 수정
앗 아니네요! 이런 난독증
소수점에 대한 부분은 em 혹은 %로 커버 가능할것 같구용
- 수정
앗 아니네요! 이런 난독증

#1
문서 넓이 1,000px
여백 5%
사진 150px
body 상하, wrapper 좌우여백 50px
wrapper 900px
한 줄당 사진 6개
wrapper 남는 공간 0
#2
문서 넓이 1100px
여백 5%
사진 150px
body 상하, wrapper 좌우여백 55px
wrapper 990px
한 줄당 사진 6개
wrapper 남는 공간 90px
이렇게 되면 오른쪽 여백은 145px 이 되는데, wrapper 남는 공간을 어떻게 처리해야 할까요.
아이고 답글 다는 도중 수정하셨네요. ^^;;
다른 분들의 이해를 돕기 위해 남겨두겠습니다.
문서 넓이 1,000px
여백 5%
사진 150px
body 상하, wrapper 좌우여백 50px
wrapper 900px
한 줄당 사진 6개
wrapper 남는 공간 0
#2
문서 넓이 1100px
여백 5%
사진 150px
body 상하, wrapper 좌우여백 55px
wrapper 990px
한 줄당 사진 6개
wrapper 남는 공간 90px
이렇게 되면 오른쪽 여백은 145px 이 되는데, wrapper 남는 공간을 어떻게 처리해야 할까요.
아이고 답글 다는 도중 수정하셨네요. ^^;;
다른 분들의 이해를 돕기 위해 남겨두겠습니다.

반응형....저도 공부삼아. http://comicpang.kr 지금 해보고있는데 최신글 스킨에 크기 변동에서 귀차니즘이..

휴일에 수고하시네요
썸네일을 쓴다면 css만으로 가능할것같습니다.
사진 중앙에 로고넣는것은
#picture background: url(사진);
#picture:after background: url(로고) no-repeat center center;
이렇게 하면 되지 않나요? 너무 쉬운방법이라 제가 잘못이해한것같은 느낌이 듭니다..
ㅋㅋㅋㅋ 1000을 150으로 나누면 몫이 6 나머지가 100이 됩니다. 저는 다 이해 해요 지운아빠님 ㅜㅜ
사진 중앙에 로고넣는것은
#picture background: url(사진);
#picture:after background: url(로고) no-repeat center center;
이렇게 하면 되지 않나요? 너무 쉬운방법이라 제가 잘못이해한것같은 느낌이 듭니다..
ㅋㅋㅋㅋ 1000을 150으로 나누면 몫이 6 나머지가 100이 됩니다. 저는 다 이해 해요 지운아빠님 ㅜㅜ

썸네일을 쓰긴 해야 합니다. 저가형 호스팅을 쓰니 일단 용량/트래픽도 신중하게 고려를 해야 되니까요. 물론 서비스 범위가 굉장히 한정되어 있어서 걱정은 덜 되지만요. ^^;;
자고 일어나서 짜보니 자바스크립트 없이는 안될것같네요.
http://helloworld.gameview.so/test.php 우측 여백이 문제네요

넵, 로고 얘기는 가로행 세로열 딱 중간지점에 사진 대신 로고가 나오는 거였어요.
근데 이게 가로열이나 세로열이 짝수일 때 처리가 어렵네요. ^^;;
근데 이게 가로열이나 세로열이 짝수일 때 처리가 어렵네요. ^^;;
아하 그말이었군요
absolute로 고정하고 top left를 자바스크립트로 제어하는방법이 가능할까요?
제 링크는 삭제부탁드립니다 ~o~
absolute로 고정하고 top left를 자바스크립트로 제어하는방법이 가능할까요?
제 링크는 삭제부탁드립니다 ~o~

제가 관리 권한이 없어서 링크 삭제는... ㅠㅠ;;

끄으응....
모든 브라우져는 (물론 IE 빼고) 미디어퀘리 (미디어 퀴어리) 를 지원합니다.
미디어퀘리가 필요한 이유는 아이폰, 갤럭시, 아이패드, 등등 각종 모바일 기기들 때문입니다.
아이폰에서 IE8 쓰는 사람이 있습니까?
그런데 native 기능이라서 비교도 안될정도로 가벼운 미디어 퀘리를 놔두고 무거운 jQuery 를 쓴다?
모든 브라우져는 (물론 IE 빼고) 미디어퀘리 (미디어 퀴어리) 를 지원합니다.
미디어퀘리가 필요한 이유는 아이폰, 갤럭시, 아이패드, 등등 각종 모바일 기기들 때문입니다.
아이폰에서 IE8 쓰는 사람이 있습니까?
그런데 native 기능이라서 비교도 안될정도로 가벼운 미디어 퀘리를 놔두고 무거운 jQuery 를 쓴다?

하하 혹시 jquery도 제이퀴어리로 읽으시나요

넹? 제가 한국어가 조금 서툴거든요. 2세라서요... jQuery 를 어떻게 읽다니요?
jQuery 를 어떻게 한글로 표시하느냐 이 질문이신가요?
jQuery 를 어떻게 한글로 표시하느냐 이 질문이신가요?
아 그렇군요. 쿼리를 퀘리로 쓰는분을 처음봐서요 ㅎㅎ 발음이 퀘리에 가까운가보죠?

솔직히 발음대로 표기한다면, 퀴어뤼 나, 퀘어뤼 라고 쓰겠죠.
그렇지만, 한국외래어 표기법에 의거한다면 틀린거죠.
matrix = 메이트릭스 아니고 메트릭스
Keanu Reeves = 키아노 뤼브 아니고 키아누 리브스
radio = 뢰이디오 아니고 라디오 (라지오)
rock & roll = 롹캔롤 아니고 로크앤드 롤 (로크앤도 로루)
이렇게 한글 외래어 표기법은 카타카나 규칙을 따라야 되더라구요.
white = 와잇 아니고 화이트 (화이토) 이런식으로
그렇지만, 한국외래어 표기법에 의거한다면 틀린거죠.
matrix = 메이트릭스 아니고 메트릭스
Keanu Reeves = 키아노 뤼브 아니고 키아누 리브스
radio = 뢰이디오 아니고 라디오 (라지오)
rock & roll = 롹캔롤 아니고 로크앤드 롤 (로크앤도 로루)
이렇게 한글 외래어 표기법은 카타카나 규칙을 따라야 되더라구요.
white = 와잇 아니고 화이트 (화이토) 이런식으로