Front-end/CSS

[CSS3]BOX (Block,Inline,Inline Block)

์œค๋ฏผ_ 2022. 3. 13. 19:46

๐Ÿค”BOX๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

Box๋Š” Box Model๋งŒ์„ ์ดํ•ดํ•œ๋‹ค๊ณ ํ•ด์„œ ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์–ด๋– ํ•œ BOX Type์„ ์“ฐ๋Š๋ƒ์— ๋”ฐ๋ผ Box Model์€ ๋‹ฌ๋ผ์ง„๋‹ค.

์šฐ๋ฆฌ์—๊ฒŒ ์ค‘์š”ํ•œ Box type์€ 4๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

Block / Inline / Iline Block / Flex

 

๐Ÿ“ขBoxModel

Box Model๋Š” 4๊ฐ€์ง€ ์˜์—ญ์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

1. Content

content๋Š” content๊ฐ€ ๋“ค์–ด๊ฐ€์žˆ๋Š” ์ƒ์ž๋กœ ๊ฐ€๋กœ๋Š” width, ์„ธ๋กœ๋Š” height๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

2. Padding

์•ˆ์ชฝ ์—ฌ๋ฐฑ, ์ฆ‰ content์™€ border ์‚ฌ์ด์˜ ๊ณต๊ฐ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์„ padding์ด๋ผ ํ•œ๋‹ค.

3. Border

ํ…Œ๋‘๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” border, ์‚ฌ์šฉ๋ฒ•์ด ๋‹ค๋ฅธ BOX๋“ค๊ณผ ๋‹ค๋ฅด๋‹ค.

/*border: ๊ตต๊ธฐ ์Šคํƒ€์ผ ์ƒ‰์ƒ*/

์ƒ๋‹จ์˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด ์‚ฌ์šฉ์ดํ•œ๋‹ค.

4. Margin

๋ฐ”๊นฅ ์—ฌ๋ฐฑ. ์ฆ‰ ์š”์†Œ์™€ ์š”์†Œ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ์„ ๋‚˜ํƒ€๋‚ผ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

์†๊ธฐํ˜• ํ‘œํ˜„๋ฒ•

.box{
/*padding: top right bottom left*/
padding: 20px 10px 20px 10px
/*margin: top right bottom left*/
margin: 20px 10px 20px 10px
/*์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ์ˆœ์„œ๊ฐ€ ๋Œ์•„๊ฐ„๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์™ธ์šฐ๊ธฐ ์‰ฝ๋‹ค!*/
    }

๐Ÿ“ขBox sizing


๐Ÿ“ขBox Type 

โ— block

๐ŸงKeywords: ๊ธธ๋ง‰

block์€ (์ง€๋‚˜๊ฐ€์ง€ ๋ชปํ•˜๊ฒŒ) ๋ง‰๋‹ค ์ฐจ๋‹จํ•˜๋‹ค๋ผ๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ tag๊ฐ€ ์˜จ๋‹ค๋ฉด ์ง€๋‚˜๊ฐ€์ง€ ๋ชปํ•˜๊ฒŒ ๊ธธ์„ ๋ง‰๋Š” ์„ฑ์งˆ์„ ์ง€๋‹Œ๋‹ค.

 

โ—block์˜ ํŠน์ง•

โ–ซ width

์ž๋…€ ํƒœ๊ทธ์— ๋”ฐ๋กœ width๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, width = ๋ถ€๋ชจ์˜ content-box์˜ 100%๋กœ ๋Š˜์–ด๋‚œ๋‹ค.

ํ•˜์ง€๋งŒ ์ž๋…€ ํƒœ๊ทธ์— ๋”ฐ๋กœ width๋ฅผ ์„ ์–ธํ•œ ๊ฒฝ์šฐ, ๋‚จ์€ ๊ณต๊ฐ„์€ margin์œผ๋กœ ์ž๋™์ ์œผ๋กœ ์ฑ„์›Œ์ง„๋‹ค.

โ–ซ height

๋ถ€๋ชจ ํƒœ๊ทธ์— height๋ฅผ ์„ ์–ธํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ์ž์‹์š”์†Œ์˜ height์˜ ํ•ฉ = ๋ถ€๋ชจ์˜ height์ด๋‹ค.

ex) ์ž์‹ ํƒœ๊ทธ 2๊ฐœ์˜ height๊ฐ€ ๊ฐ 140px์ผ ๋•Œ, ๋ถ€๋ชจ ํƒœ๊ทธ๋Š” 280px์„ ๊ฐ€์ง€๊ฒŒ๋œ๋‹ค.

 

โ— Inline

๐ŸงKeywords: ํ๋ฆ„

in + line: ์ฆ‰, line ์•ˆ์— ์†ํ•ด ์žˆ๋Š”๋‹ค.

๊ทธ๋ž˜์„œ in line์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜†์œผ๋กœ ๋Š˜์–ด์„œ ํ๋ฅด๋Š” ์„ฑ์งˆ์„ ์ง€๋‹Œ๋‹ค.

 

โ—inline์˜ ํŠน์ง• 

๋ถ€๋ชจ ํƒœ๊ทธ์˜ width๋ฒ”์œ„๊ฐ€ ๋„˜์–ด๊ฐ€๋Š” ์ž๋…€ ํƒœ๊ทธ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ž๋…€ํƒœ๊ทธ๋Š” ์ค„๋ฐ”๊ฟˆ์„ ํ•œ๋‹ค.

๊ธ€์„ ์ž‘์„ฑํ• ๋•Œ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•˜๋ฉด ๋‹ค์Œ ์ค„๋กœ ์ค„๋ฐ”๊ฟˆ๋˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์›๋ฆฌ์ด๋‹ค.

 

Inline์˜ ๊ฒฝ์šฐ Box model์˜ property์ค‘

width, height, padding-(top,bottom),border-(top,bottom),margin-(top,bottom)์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์—†๋‹ค.

๊ทธ ์ด์œ ๋Š” inline ์ค„๊ฐ„๊ฒฉ์— ๋งž์ถฐ ํ๋ฅด๋ ค๋Š” ์„ฑ์งˆ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ์ƒ๋‹จ์˜ ์ฝ”๋“œ๋Š” ๊ทธ ํ๋ฆ„์„ ๋ฐ•์‚ด๋‚ธ๋‹ค.

 

<span> tag์— ์ƒ๋‹จ์˜ ์ฝ”๋“œ๋ฅผ ์ง‘์–ด ๋„ฃ์œผ๋ฉด ๋Œ€ํ™˜์žฅ ํŒŒํ‹ฐ๊ฐ€ ์—ด๋ฆฌ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

(span์€ display๊ฐ€ inline์ด๋ฉฐ, background ์ƒ‰์„ ์ง‘์–ด ๋„ฃ๊ณ  ๋น„๊ตํ•ด๋ด๋ผ) 

Block๊ณผ Inline์˜ ์ฐจ์ด์  ๋น„๊ต

Block Inline
๋ฉด(์˜์—ญ) ์„ (ํ๋ฆ„)

 

โ— Inline block

/*์„ ์–ธ*/
.box{
	display:inline-block;
}

Block์˜ ์ข‹์€์ ๊ณผ Inline์˜ ์ข‹์€์ ์„ ๋ชจ๋‘ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๊ฒŒ Inline block์ด๋‹ค.

block์˜ ๊ฒฝ์šฐ ์˜์—ญ ์žก๊ธฐ์— ์ข‹์ง€๋งŒ ๊ธธ๋ง‰ํ•˜๋Š” ์„ฑํ–ฅ๋•Œ๋ฌธ์— ๊ฐ€๋กœ ๋ฐฐ์น˜์— ์–ด๋ ค์›€์ด ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ, inline block๊ฐ™์€ ๊ฒฝ์šฐ์—” inline ์„ฑ์งˆ์— block์„ ์ถ”๊ฐ€ํ•œ ๊ฒƒ์œผ๋กœ

๊ธฐ๋ณธ์ ์œผ๋กœ inline๊ณผ ๊ฐ™์ด block์ด๊ฐ€๋กœ๋กœ ํ๋ฅด๋ฉฐ ๋™์‹œ์— ์˜์—ญ๋„ ์žก์„ ์ˆ˜ ์žˆ๋‹ค.

 

โญFlex

Flex๋Š” ๋‹ค๋ฅธ ๊ฒŒ์‹œ๋ฌผ๋กœ ์ž์„ธํžˆ ๋‹ค๋ค„๋„๋กํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค

'Front-end > CSS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[CSS3]Media Query(๋ฐ˜์‘ํ˜• ์›น)  (0) 2022.03.27
[CSS3]Flexbox  (0) 2022.03.26
[CSS3]Position  (0) 2022.03.20
[CSS3]Float๋ž€? / Layout ์˜ค๋ฅ˜ ์‹œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•  (0) 2022.03.14
[CSS3] CSS๋ž€?  (0) 2021.11.04