[반응형] 가변(반응형) 공식

2023. 12. 28. 00:40·Mark Up & StyleSheet/반응형
목차
  1. 🍎 가변 그리드 공식
  2. 🍎 가변 마진 & 가변 패딩
  3. 🍎 가변 폰트
  4. rem & em
  5. vw(viewport width) 단위
  6. vh(viewport height) 단위
  7. vmin 단위
  8. vmax 단위

CSS의 grid와 flex를 사용하면 크게 사용하지 않는 편인 것 같다.

하지만 크로스브라우징을 해야할 수도 있으니까... 알아두는 것도 좋을 것 같다.

(flex와 grid를 사용못할 수 있기 때문에... 거의 그 경우는 없지만 ㅎㅎ, can I use 에서 확인해보면됨! )

근데 주로 사파리, 사파리 mobile, 갤럭시 브라우저에서 말썽이 많이 나는 듯

(아마 내 기억에 사파리 ios14?인가에서 flex gap을 못사용했다. 근데 grid gap은 또 사용가능 ㅎㅎ)


🍎 가변 그리드 공식

(박스의 가로 너비) ➗ (박스를 감싸고 있는 부모박스의 너비) ✖️ 100 = 가변크기의 % 값

 

작업 할 때 부모 박스를 잘 사용해야하는 것 같다. (부모 박스를 적재적소에 잘 사용하는 눈은 경력 차인듯...ㅎ)

 

최상위의 박스는 너비값을 주로 잘 지정하는 편이다. (가변그리드를 사용할 수 없기 때문에) 

최상위 박스는 주로 "이 정도 크기로 보였으면 좋겠다"의 기준이 되는 박스이다. (각 홈페이지 특성에 따라 다 다름)

 

부모박스는 주로 wrap, wrapper, container, box 등의 class 이름으로 지정해주는 편인 것 같다. (내 기준!)

📌 wrapper VS container 클래스 네이밍의 차이는? (내 기준)
참고 사이트
container는 하나 이상의 요소를 포함하고 있을 때 (.container > div + div + section)
wrapper는 하나의 요소를 포함하고 있을 때 (.table-wrapper > table)

🍎 가변 마진 & 가변 패딩

(박스의 마진/패딩 값) ➗ (박스를 감싸고 있는 부모박스의 너비) ✖️ 100 = 가변마진/패딩의 % 값
📌 마진과 패딩의 차이
마진 : 여백, 간격, 빈 공간, 박스와 박스 사이의 간격, 떨어진 정도
패딩 : 두께, 속, 충전재

박스와 박스를 떨어뜨리고 싶을 땐 마진
박스 내부의 내용과 박스wrapper와의 가독성을 위해 간격을 주고 싶을 땐 패딩

가변마진과 가변 패딩은 브라우저의 비율에 따라 마진 패딩도 줄어듬

고정 마진과 패딩을 위해서는 calc 함수를 사용해야함. CSS 기능이다.

.item {
	width: calc(100% - 100px);
	margin: 50px;
}

🍎 가변 폰트

반응형 웹에서 가변폰트가 젤 핵심인 것 같다. 

가변 그리드는 flex와 grid로 대체가능하고, 가변 마진은 calc함수, flex와 grid의 gap으로 거의 대체 가능하다.

패딩은 가변 패딩을 쓰는 경우는 거의 없었던 것 같다.

(가변 폰트를 적용할 글자 크깃값) ➗ (적용할 요소를 감싸고 있는 요소의 글자 크깃값) = 가변 폰트값

rem & em

기본 브라우저의 폰트 사이즈는 16px이다.

em과 rem의 차이는 어디부터 상속을 하는가의 차이다.

rem은 최상위, 즉 html의 font-size를 상속(상속문제가 발생하지 않음)한다.

하지만 em은 바로 나의 위 부모의 font-size를 1em으로 잡는다.

em은 거의 사용 안하는 것 같다.

위에 간단하게 설명을 해봤는데 직접 계산하지 말고 그냥 변환기 쓰자 ㅎㅎ (참고사이트)

 

rem의 경우도 html에 font-size: 62.5% 부여해서 주로 사용한다.

62.5%를 폰트사이즈로 정할 경우 기준이 10px이 된다. 

html {
	/* 16px * 0.625 = 10px */
	font-size: 62.5%;
}

body {
	font-size: 1rem;
}

 

왜 font-size에 간단하게 10px을 적용하지 않는 이유는?

크롬 설정에 모양에서 글꼴 크기를 바꿔봤을 때 확인할 수 있다. 

여기서 확대 /축소가 아니다. 모양에서 수정해봐야지 확인 가능하다!!!

 

하지만 rem을 써보면 글자가 브라우저의 비율에 따라 줄어들거나 늘어나지는 않는 것을 볼 수 있음

브라우저 비율에 따라 글자 크기가 늘어나거나 줄어드려면 CSS3의 새 가변단위인

vw, vh, vmin, vmax를 사용해야한다

 

vw(viewport width) 단위

: 웹 브라우저의 너비를 100 기준으로 하여 크기를 결정하는 단위 (100vw를 많이 사용함)

(vw 단위를 적용할 글자 크깃값 ✖️ 브라우저의 너비값) ➗ 100 = 크깃값

vw를 폰트사이즈로 정할 때는 모바일 반응형에서 주로 사용한다. 

왜냐하면 최근에 갤럭시 폴더 때문에 너비로 최소 320px까지 대응해야하는데 반응형을 320px도 잡고 360px도 잡아서 CSS의 미디어쿼리를 적용할 수 없기 때문이다.

해당 사이트에서 계산을 하면된다.

내가 이미지에 표시한 부분만 값을 넣어서 계산하기 버튼을 클릭하면 가변 vw폰트가 나온다. 

html을 62.5%로 부여하면 기본 폰트 사이즈가 10px이라서 10px을 넣었다.

360px이하 부터 너비 비율에 따라 rem 폰트사이즈도 같이 줄어든다.

@media (min-width: 0px) and (max-width:359px) {
    html {
        font-size:2.7777777778vw
    }
}

 

vh(viewport height) 단위

: 웹 브라우저의 높이를 100을 기준으로 하여 크기를 결정하는 단위 (100vh를 주로 사용함)

100vh를 풀페이지를 만들 때 주로 사용하는데 100vh를 사용해도 스크롤이 생기는 이슈가 있다.

 

height 100vh인데 왜 스크롤이 생기는거지?

모바일 상하단의 주소창도 있고, 각 OS의 Nav바도 있다 그것 때문에 여백이 생겨 스크롤이 생기는 것이다.

그 외 해결방법은 구글링~~!! GO!

 

vmin 단위

: 웹 브라우저의 너비와 높이 중 짧은 쪽을 기준으로 하여 크기를 결정하는 단위

 

vmax 단위

: 웹 브라우저의 너비와 높이 중 큰 쪽을 기준으로 하여 크기를 결정하는 단위

 

반응형
저작자표시 (새창열림)

'Mark Up & StyleSheet > 반응형' 카테고리의 다른 글

[반응형] 반응형 웹을 위한 기술  (0) 2023.12.27
[반응형] 반응형 웹에 대해서  (0) 2023.12.27
[반응형] font size converter (px, em, vw...) 사이트  (0) 2023.12.18
[반응형] Break Point (화면에 대한 분기점)  (1) 2023.05.15
[반응형] Media Query 사용하기  (0) 2023.05.15
  1. 🍎 가변 그리드 공식
  2. 🍎 가변 마진 & 가변 패딩
  3. 🍎 가변 폰트
  4. rem & em
  5. vw(viewport width) 단위
  6. vh(viewport height) 단위
  7. vmin 단위
  8. vmax 단위
'Mark Up & StyleSheet/반응형' 카테고리의 다른 글
  • [반응형] 반응형 웹을 위한 기술
  • [반응형] 반응형 웹에 대해서
  • [반응형] font size converter (px, em, vw...) 사이트
  • [반응형] Break Point (화면에 대한 분기점)
전예방
전예방
  • 전예방
    예방이의 개발일기
    전예방
  • 전체
    오늘
    어제
    • All (125)
      • Info & Tip (2)
      • 유용한 사이트들 (5)
      • Mark Up & StyleSheet (23)
        • HTML (6)
        • CSS & SCSS (10)
        • 반응형 (6)
      • Frontend (66)
        • 전체 (10)
        • JavaScript & Jquery (18)
        • TypeScript (0)
        • React (26)
        • Next.js (3)
        • 성능최적화 (2)
        • 웹접근성 (2)
      • Backend (13)
        • Python (1)
        • JAVA (2)
        • node.js (0)
        • PHP (7)
        • 패키지매니저 (3)
      • Markdown (0)
      • SCM (1)
        • Git&Github (1)
        • SVN (0)
      • IDE (4)
        • VSCode (2)
        • IntelliJ (1)
        • Ecplise (1)
      • 취미생활 (3)
      • 정보처리기사 (2)
      • 코딩자율학습단 (5)
        • 12기 (파이썬) (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

    • velog
    • github
  • 공지사항

  • 인기 글

  • 태그

    리액트
    코딩자율학습단
    NPM
    CSS
    php
    회원가입
    react
    파이썬
    나도코딩
    코딩자율학습
    Python
    반응형
    Chart.js
    swiper.js
    frontend
    Admin
    관리자 페이지
    React Swiper
    yarn berry
    TypeScript
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
전예방
[반응형] 가변(반응형) 공식

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.