Normal Flow

  • CSS Rendering 1ํšŒ์ฐจ


CSS 2.1 Visual Formatting Model

  • positioning schemes & normal flow

Visual formatting model

Position

  • geometry ์˜์—ญ์— ์ถ”์ƒ์ ์ธ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ

  • static, relative, absolute, fixed, inherit

  • position์ด static, relative์ผ ๊ฒฝ์šฐ์—๋งŒ normal flow์— ๋“ค์–ด๊ฐ„๋‹ค.

  • html ๋ชจ๋“  ๊ฐ’์€ position์ด ๊ธฐ๋ณธ์ ์œผ๋กœ static์ด๋‹ค.

Normal Flow

  • block formatting context (BFC)

  • inline formatting context (IFC)

  • relative formatting context

    • normal flow์˜ ์ผ๋ถ€์ด์ง€๋งŒ, position์—์„œ ์ •์˜ํ•˜๊ณ  ์žˆ์Œ.

BFC

  • block : ๋ถ€๋ชจ ๋งŒํผ ๊ฐ€๋กœ ๊ธธ์ด๋ฅผ ๋‹ค ์ฐจ์ง€ํ•˜๋Š” ๊ฒƒ.

    • ์ž์‹์˜ x ๊ฐ’์€ ํ•ญ์ƒ 0, width๋Š” ๋ถ€๋ชจ์˜ width, y ๊ฐ’์€ ์ƒ์œ„ ์ž์‹(๋“ค)์˜ height์˜ ํ•ฉ

    • ์ž์‹์˜ height์˜ ํ•ฉ์ด ๋ถ€๋ชจ์˜ height

IFC

  • ๋‚˜์˜ contents ๊ธธ์ด๋งŒํผ์ด ๊ฐ€๋กœ ๊ธธ์ด

  • ๋‹ค์Œ๋ฒˆ ์š”์†Œ์˜ x๋Š” ์ด์ „ ์š”์†Œ(๋“ค)์˜ width

  • inline ์š”์†Œ์˜ width์˜ ํ•ฉ์ด ๋ถ€๋ชจ์˜ width๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด, ๋‹ค์Œ์ค„๋กœ ๋„˜์–ด๊ฐ„๋‹ค.

  • ๋‹ค์Œ์ค„ ์ฒซ๋ฒˆ์งธ ์š”์†Œ์˜ x๋Š” 0. y๋Š” ์œ—์ค„์˜ ์š”์†Œ๋“ค ์ค‘ ๊ฐ€์žฅ height๊ฐ€ ํฐ ๊ฐ’.

์˜ˆ์ œ

  • width๊ฐ€ 500์ด๋ผ๋Š” ๊ฒƒ์€ fragment๊ฐ€ 500์ธ ๊ฒƒ์ด๊ณ , ์‹ค์ œ๋กœ๋Š” ๊ฐ€๋กœ ์ „์ฒด๋ฅผ ์ฐจ์ง€.

  • ๋”ฐ๋ผ์„œ ํŒŒ๋ž€ ์˜์—ญ์€ ๋ถ€๋ชจ์˜ ๊ฐ€๋กœ ๊ธธ์ด๋ฅผ ๋ฐ›์•„์„œ ๊ฐ€๋กœ ์ „์ฒด๊ฐ€ ์ฑ„์›Œ์ง.

  • ๋ Œ๋”๋ง ์‹œ์Šคํ…œ๊ณผ DOM์˜ ๊ตฌ์กฐ๋Š” ๋ฌด๊ด€ํ•˜๋‹ค.

  • DOM์˜ ํฌํ•จ๊ด€๊ณ„์™€๋Š” ๋ฌด๊ด€ํ•˜๊ฒŒ, ๋ Œ๋”๋ง ์‹œ์Šคํ…œ์—๊ฒŒ๋Š” BFC, IFC๋กœ๋งŒ ๋ณด์ด๊ฒŒ ๋œ๋‹ค.

  • normal flow๋กœ staticํ•˜๊ฒŒ ๊ทธ๋ฆฐ ๋‹ค์Œ, relative๋กœ 50px์„ ๋‚ด๋ ค์„œ WORLD, div๊ฐ€ ์œ„์น˜ํ•จ.

  • static๊ณผ relative๊ฐ€ ๊ฐ™์ด ์žˆ์œผ๋ฉด, relative๊ฐ€ static ์œ„๋กœ ๋œจ๊ฒŒ ๋œ๋‹ค.

  • static์œผ๋กœ geometry๋ฅผ ๊ทธ๋ฆฌ๊ณ , ๊ทธ๋ฆผ๋งŒ relativeํ•˜๊ฒŒ ๊ทธ๋ฆฌ๋ฏ€๋กœ, relative๊ฐ€ geometry๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค.

Last updated