웹/웹 이론 정리

[웹 개발] 레이아웃

2021. 1. 12. 21:36
반응형

display 속성

요소의 렌더링 박스 유형을 결정하는 속성입니다.

    기본 값 : - (요소마다 다름)

 

< 속성 값 >

none

요소가 렌더링 되지 않음

inline

inline level 요소처럼 렌더링

block

block level 요소처럼 렌더링

inline-block

inline level 요소처럼 렌더링(배치)되지만 block level의 성질을 가짐

* height 나 width 등과 같은 박스모델 속성을 적용할 수 있다

  • 그외에 list-item, flex, inline-flex, table, table-cell 등 다양한 속성 값 존재

 

  • inline level 요소 사이의 공백과 개행 처리 inline 요소의 경우 공백과 개행에 대해서 하나의 여백으로 받아들입니다. 따라서 inline와 inline-block의 경우 태그 사이의 공백이나 개행이 있을 경우 약 4px의 여백을 가지게 됩니다.

 

display와 box model의 관계

display

 width 

 height 

 margin 

 padding 

    border    

block

ㅇ

ㅇ

ㅇ

ㅇ

ㅇ

inline

X

X

좌/우

ㅇ(설명)

ㅇ(설명)

inline-block

ㅇ

ㅇ

ㅇ

ㅇ

ㅇ

 

inline 요소의 padding/border 속성이 좌/우 만 적용 된다고 표시한 이유 추가 설명

실제로 inline 요소의 padding/border는 좌/우뿐만 아니라 상/하에도 적용이 됩니다. 

parent 는 <div>, child 는 <span>하지만 상/하 padding/border는 line-box에는 영향을 주지 못하기 때문에 위와 같이 부모 요소의 박스에 반영되지 않습니다.

parent 는 <div>, child 는 <span>
또한 인접한 다른 line-box 에도 반영되지않습니다. 즉 콘텐츠가 겹칠 수 있기 때문에 실무에서는 잘 사용하지 않습니다.

 

 

 visibility 속성

요소의 화면 표시 여부를 지정하는 속성입니다.

    기본 값 : visible 

 

< 속성 값 >

visible

화면에 표시

hidden

화면에 표시되지 않음(공간은 차지함)

collapse

셀 간의 경계를 무시하고 숨김(테이블 관련 요소에만 적용 가능)

 

display: none과 차이점

  • display: none: 요소가 렌더링 되지 않음(DOM에 존재하지 않음)
  • visibility: hidden: 요소가 보이지는 않지만 렌더링 되며 화면에 공간을 가지고 있음(DOM에 존재함)

 

 

float 속성

요소를 float(요소를 보통의 흐름에서 벗어나게 함) 시킬지 지정하는 속성입니다.

    기본 값 : none

 

< 속성 값 >

none

float 시키지 않음(기본값)

left

좌측으로 float 시킴

right

우측으로 float 시킴

 

  • 요소를 보통의 흐름에서 벗어나 띄어지게 함

      주변 텍스트나 인라인 요소가 주위를 감싸는 특징이 있음

대부분 요소의 display 값을 block으로 변경함 (display 값 변경 예외: inline-table, flex 등)

 

 

clear 속성

요소를 floating 된 요소의 영향에서 벗어나게 하는 속성입니다.

     기본 값 : none

 

< 속성 값 >

none

양쪽으로 floating 요소를 허용(기본값)

left

왼쪽으로 floating 요소를 허용하지 않음

right

오른쪽으로 floating 요소를 허용하지 않음

both

양쪽으로 floating 요소를 허용하지 않음

 

  • block-level 요소만 적용 가능

 

position 속성

요소의 위치를 정하는 방법을 지정하는 속성입니다.

기본 값 : static

 

< 속성 값 >

static

Normal-flow 에 따라 배치되며 offset 값이 적용되지 않는다. (기본값)

absolute

  • 부모 요소의 위치를 기준으로 offset 에 따라 배치된다.
    부모가 position 값(static 제외)을 가지면 offset 값의 시작점이 된다.
    * 부모의 position 값이 static 인 경우 조상의 position 값이 static이
        아닐 때까지 거슬러 올라가 기준으로 삼습니다.
  • Normal-flow의 흐름에서 벗어난다.

fixed

  • 뷰포트(브라우저의 창)를 기준으로 offset 에 따라 배치된다.
    즉, 화면 스크롤에 관계없이 항상 화면의 정해진 위치에 정보가 나타난다.
  • 부모의 위치에 영향을 받지 않는다.

relative

  • 자신이 원래 있어야 할 위치를 기준으로 offset 에 따라 배치된다.
    부모의 position 속성에 영향을 받지 않는다.
  • Normal -flow의 흐름에 따른다.
  • 주변 요소에 영향을 주지 않으면서 offset 값으로 이동한다

 

  • Normal-flow 란? 일반적인 상황에서 각의 요소들의 성질에 따라 배치 되는 순서(흐름)를 뜻합니다. 예를 들면, block 레벨 요소들은 상하로 배치되고, inline 레벨 요소들은 좌우로 배치되는 것을 말합니다.

 

offset(top/left/bottom/right)

 

  • offset의 %단위 사용 이전에 padding과 margin에서 % 값을 적용할 때, 상하좌우 방향에 관계없이  가로 사이즈를 기준으로 %값을 계산된다고 배웠습니다. 그러나 offset은 top, bottom (상하) 는 기준이 되는 요소의 height 값 left, right (좌우) 는 width값에 대하여 계산되어집니다.

z-index 속성

기본 값 : auto

요소가 겹치는 순서(쌓임 순서 또는 stack order)를 지정하는 속성입니다.

 

< 속성 값 >

auto

쌓임 순서를 부모와 동일하게 설정(기본값)

number

해당 수치로 쌓임 순서를 설정(음수 허용)

 

  • position 값이 static이 아닌 경우 지정가능
  • 순서 값이 없을 경우 생성순서(코드상 순서)에 따라 쌓임
  • 부모가 z-index 값이 있을 경우 부모 안에서만 의미있음
  • 큰 값이 가장 위쪽(음수 사용 가능)
반응형

'웹 > 웹 이론 정리' 카테고리의 다른 글

[웹 개발] 미디어쿼리  (0) 2021.01.12
[웹 개발] 폰트, 텍스트 (2)  (0) 2021.01.12
[웹 개발] 폰트, 텍스트 (1)  (0) 2021.01.12
[웹 개발] 단위, 배경, 박스 모델 (3)  (0) 2021.01.12
[웹 개발] 단위, 배경, 박스모델 (2)  (0) 2021.01.12
'웹/웹 이론 정리' 카테고리의 다른 글
  • [웹 개발] 미디어쿼리
  • [웹 개발] 폰트, 텍스트 (2)
  • [웹 개발] 폰트, 텍스트 (1)
  • [웹 개발] 단위, 배경, 박스 모델 (3)
지나가던 개발자
지나가던 개발자
지나가던 개발자
나의 발전을 위한 공간
지나가던 개발자
전체
오늘
어제
  • 분류 전체보기 (221)
    • 언어 (86)
      • C++ (43)
      • JAVA (43)
    • 게임 개발 (4)
      • 간단한 RPG 게임 만들기 (4)
      • 게임 개발 이슈 해결 (0)
    • 백준 문제풀이 (36)
      • PLATINUM (0)
      • GOLD (13)
      • SILVER (21)
      • BRONZE (2)
    • 프로그래머스 문제풀이 (32)
      • LEVEL 5 (0)
      • LEVEL 4 (0)
      • LEVEL 3 (7)
      • LEVEL 2 (19)
      • LEVEL 1 (6)
    • SQL 문제풀이 (15)
      • 프로그래머스 (4)
      • 해커랭크 (11)
    • 디자인 패턴 (1)
    • 웹 (17)
      • 웹 이론 정리 (17)
    • CS 지식 (28)
      • 알고리즘 (0)
      • 데이터베이스 (11)
      • 자료구조 (0)
      • 네트워크 (7)
      • 그래픽스 (0)
      • 운영체제 (9)
      • 기타 (1)
    • Git (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 깃 허브

공지사항

인기 글

태그

  • 해커랭크
  • level 1
  • mysql
  • BOJ
  • 객체 지향 설계
  • 상속
  • 백준
  • c++
  • Silver 3
  • 프로그래머스
  • 클래스와 인터페이스
  • 소멸자 및 대입 연산자
  • Gold 5
  • 설계 및 선언
  • 객체 생성과 파괴
  • java
  • Chapter 4
  • 열거 타입과 애너테이션
  • Level 2
  • Chapter 6

최근 댓글

최근 글

hELLO · Designed By 정상우.
지나가던 개발자
[웹 개발] 레이아웃
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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