Coding Archive

๋…ธ๋งˆ๋“œ ์ฝ”๋” - ์ฝ”์ฝ”์•„ํ†ก ํด๋ก ์ฝ”๋”ฉ ์—ฐ์Šต(4) ๋ณธ๋ฌธ

๐Ÿ–ฅ๏ธ Clone Coding

๋…ธ๋งˆ๋“œ ์ฝ”๋” - ์ฝ”์ฝ”์•„ํ†ก ํด๋ก ์ฝ”๋”ฉ ์—ฐ์Šต(4)

์ฝ”๋“ฑ์–ด 2022. 4. 21. 23:47

CLONING TIME

 

19. Chats Screen part One

far = ์†์ด ๋นˆ ์•„์ด์ฝ˜

fas = ์†์ด ์ฐฌ ์•„์ด์ฝ˜

ex)<i class="far fa-comment fa-2x">

 

์ „์— ๋งŒ๋“ค์–ด ๋†“์•˜๋˜ ์ฝ”๋“œ๋“ค์„ ๋ณต๋ถ™ ํ•˜๊ณ  ์ˆ˜์ •ํ•ด์„œ ์™„์„ฑ

 

 

20. Chats Screen part Two

margin-bottom: 15px; ์„ ํ•˜๋ฉด friends ์ฐฝ์—์„œ๋„ ์ ์šฉ๋˜๋Š”๋ฐ,

friends๋Š” ์›๋ž˜๋Œ€๋กœ ๋Œ๋ฆฌ๊ณ  ์‹ถ์œผ๋ฉด friends.css์˜ #friends-display-link์— margin-top: -15px; ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

 

๋ฐ˜๋ณต๋˜๋Š” ์š”์†Œ๋Š” components์— ๋ฌถ๊ธฐ!

--> ๊ฒน์น˜๋Š” ํƒœ๊ทธ๋“ค์„ ๋ฌถ๊ณ (๊ณตํ†ต๋˜๋Š” ๊ฒƒ๋“ค), ๋‚˜๋จธ์ง€๋Š” ๊ฐ์ž css์— ์จ์ค€๋‹ค.

 

flex์˜ ์˜ํ–ฅ์„ ๋ฐ›๊ณ ์‹ถ์ง€ ์•Š์€ ๋…€์„๋“ค์€ div๋ฅผ ํ•˜๋‚˜ ๋” ์”Œ์›Œ์„œ ๋ถ€๋ชจ-์ž์‹๊ด€๊ณ„๋ฅผ ๋Š๊ณ  ๋ถ€๋ชจ-์†์ž ๊ด€๊ณ„๋ฅผ ๋งŒ๋“ ๋‹ค.

class css์„ค์ •์— last-child ์กฐ๊ฑด์ด ๋ถ™์–ด์žˆ๋Š”๋ฐ, ํ•ด๋‹น flex๋ฅผ ์ ์šฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ์š”์†Œ๊ฐ€ last-child๋ผ๋ฉด,

๊ทธ ์š”์†Œ๋ฅผ "div"๋กœ ์”Œ์šฐ๋ฉด "๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„"๊ฐ€ ์•„๋‹Œ "๋ถ€๋ชจ-์†์ž ๊ด€๊ณ„"์ด๋ฏ€๋กœ => Flex์˜ ์˜ํ–ฅ๊ถŒ์—์„œ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค.

 

+) issue

1) component__column:last-child์— flex๋ฅผ ์ฃผ๊ธฐ ์ „์—๋Š” block ์—†์ด๋Š” margin์ด ์•ˆ ์ƒ๊ฒผ๋Š”๋ฐ, flex ์ฃผ๊ณ  ๋‚˜๋‹ˆ block ์—†์ด๋„ margin์ด ์ƒ๊ฒผ๋‹ค.

2) ๊ทธ๋ฆฌ๊ณ  flex๋ฅผ ์ฃผ๊ธฐ ์ „์—๋„ span์— margin์„ ์ฃผ๋ฉด ์—ฌ๋ฐฑ์ด ์ƒ๊ฒจ์•ผ ํ•˜๋Š” ๊ฑฐ ์•„๋‹Œ๊ฐ€??

1) ๊ทธ๋Ÿฐ๋ฐ ๋ถ€๋ชจ ์š”์†Œ์— display:flex๋ฅผ ํ•˜๋ฉด ์ž์‹ ์š”์†Œ๋Š” flex item์ด ๋œ๋‹ค.

์ด๋Ÿด ๊ฒฝ์šฐ inline element๊ฐ€ ์•„๋‹ˆ๋ผ flex element์—ฌ์„œ ๋งˆ์ง„์ด ์ ์šฉ์ด ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

2) span inline element์—ฌ์„œ margin์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ flex๋ฅผ ์ค˜์„œ block์œผ๋กœ ๋งŒ๋“ค์–ด์ค€ ๊ฒƒ์ด๋‹ค.

 

 

21. Find Screen Part One

.class๋ช… * n(๊ฐœ์ˆ˜)>span ⇒ n๋งŒํผ span์„ ๊ฐ€์ง„ div class๋ฅผ ์ƒ์„ฑ

.find-icons__icon*4>span

 

row๋Š” ์˜†์— ์˜ค๋Š” ๊ฒƒ, column์€ ๋‹ค์Œ ์ค„์— ์˜ค๋Š” ๊ฒƒ.

 

์•„์ด์ฝ˜ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ ๋˜ํ•œ, CSS์—์„œ .class๋ช… i์˜ font-size๋กœ ์ผ๊ด„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

22. Find Screen Part Two

๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ๋ฐ˜๋ณต๋œ๋‹ค๋ฉด ๋ณ€์ˆ˜๋กœ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•˜์—ฌ ๋˜‘๊ฐ™์€ ์ฝ”๋“œ ๋ฐ˜๋ณต์„ ์ค„์ธ๋‹ค.

:root {
  --yellow: #fae100;
  --horizontal-space: 25px;
  --main-border: 1px solid rgba(0, 0, 0, 0.2);
  --gray: rgba(0, 0, 0, 0.5);
}

 

 

23. Find Screen Part Three

HTML ์ฝ”๋“œ์—์„  ๋Œ€๋ฌธ์ž๋ฅผ ๋‚˜ํƒ€๋‚ด๋ ค๊ณ  ํ•ด๋„, ์šฐ์„  ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ž‘์„ฑํ•œ๋‹ค.

๋Œ€๋ฌธ์ž๋Š” ๋””์ž์ธ์ ์ธ ์š”์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์—, CSS ํŒŒ์ผ์—์„œ ์ž‘์„ฑํ•ด์ค˜์•ผ ํ•œ๋‹ค. (ํ•„์ˆ˜๋Š” ์•„๋‹˜)

text-transform: uppercase;  ๋Œ€๋ฌธ์ž๋กœ ๋งŒ๋“œ๋Š” ์ฝ”๋“œ

 

.open-post__members .devider { }๋ผ๊ณ  ํ•˜๋ฉด open-post__members ์•ˆ์— ์žˆ๋Š” devider์—๋งŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

 

"open-post"๋ถ€๋ถ„ ๊ฐ์ž div, span, h ํƒœ๊ทธ ๊ฐ์‹ธ๋Š”์ง€ ๊ธฐ์ค€์„ ๋ชจ๋ฅด๊ฒ ๋‹ค. ์•„์ง ์ต์ˆ™ํ•˜์ง€ ์•Š์•„์„œ ๊ทธ๋Ÿฐ๊ฐ€? ๋‚˜ํ•œํ…Œ๋Š” ์•„์ง ๋ช…ํ™•ํ•œ ๊ธฐ์ค€์ด ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค.ใ… ใ…  ๊ตณ์ด ์ฃ„๋‹ค ์ด๋ฆ„์„ ๋ถ™์ด๋Š” ์ด์œ ๋Š”(์ œ๋ชฉ์„ ์จ๋†“๊ณ )? -> css ํ•  ๋•Œ ํŽธํ•˜๊ฒŒ ํ•˜๋ ค๊ณ ? ํ ....

 

 

 

24. Find Screen Part Four

justify-content: space-between; ๊ณผ align-items: center; ๋Š” ํ•ญ์ƒ ์ž์ฃผ ์“ฐ์ด๋Š” ์กฐํ•ฉ์ด๋‹ค.

 

์‚ฌ์ง„ ์œ„์— span ์˜ฌ๋ฆฌ๊ธฐ ๋“ฑ, ์ƒ๋Œ€์  ์œ„์น˜ ์ •ํ•ด์ฃผ๊ณ  ์‹ถ์„ ๋•Œ๋Š”, relative-father and absolute-child!! ๊ธฐ์–ตํ•˜๊ธฐ!

 

+) issue

position: absoulte๋ฅผ ์คฌ๋‹ค๊ณ  ์™œ open-post__heart-counter์˜ ํฌ๊ธฐ๊นŒ์ง€ ์ž‘์•„์ง„ ์ด์œ (♥326์„ ๊ฐ์‹ธ๋Š” ๋ฐ•์Šค๊ฐ€ ์ž‘์•„์ง„ ์ด์œ )

absolute looses the sizing if we don't specify 'width' and 'height’

='๋„ˆ๋น„'์™€ '๋†’์ด'๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ ˆ๋Œ€์ ์œผ๋กœ ํฌ๊ธฐ ์กฐ์ •์ด ์ค„์–ด๋“ ๋‹ค.

position: absolute ํƒœ๊ทธ ์ ์šฉํ•˜๊ธฐ ์ „์— ์ง€์ •๋œ ๋†’์ด๊ฐ’(height)๊ณผ ๋„ˆ๋น„ ๊ฐ’(width)์„ ์•ˆ ์ฃผ๊ณ  padding๊ฐ’๋งŒ ์ฃผ๊ฒŒ ๋˜๋‹ˆ๊นŒ absoluteํƒœ๊ทธ ์ ์šฉ ํ›„ ์ง€์ •๋œ padding๊ฐ’๋งŒํผ๋งŒ ์ปค์ง„ ๊ฒƒ ๊ฐ™๋‹ค.

absoluteํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํ•ด๋‹น ์ฝ˜ํ…์ธ  ํฌ๊ธฐ๋งŒํผ๋งŒ ๊ฐ์‹ธ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

 

 

25. More Screen part One

๋ฐ˜๋ณต๋˜๋Š” ๋ถ€๋ถ„๋“ค์„ icon-row ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑํ•˜์—ฌ ์ •๋ฆฌํ•œ๋‹ค.

find์—์„œ ๋งŒ๋“  ์•„์ด์ฝ˜ ๋ฐฐ์—ด์ด more์—์„œ๋„ ์“ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— find.css ์•ˆ์— ์žˆ๋˜ find-icon์˜ css๋ฅผ icon-row๋ผ๋Š” component๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ , find.html ์—์„œ ํด๋ž˜์Šค ๋ช…์„ ๋ฐ”๊ฟ”์ค€๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋‘ ์Šคํฌ๋ฆฐ์—์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

.icon-row {
  display: flex;
  justify-content: space-between;
  padding-bottom: 25px;
}

.icon-row__icon {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.icon-row__icon i {
  font-size: 35px;
}

.icon-row__icon span {
  margin-top: 18px;
}

์ด๋•Œ ํ•œ ์Šคํฌ๋ฆฐ์—์„œ๋งŒ ๋””ํ…Œ์ผํ•œ ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์œผ๋ฉด, more-screen์ด๋ผ๋Š” class ์ด๋ฆ„์„ ๋˜ ๋ถ™์—ฌ์„œ, more.css์—์„œ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค! → ์ˆ˜์ •ํ•  ๊ฑฐ์— ํด๋ž˜์Šค๋ฅผ ํ•˜๋‚˜ ๋” ๋ถ™์—ฌ์„œ ๊ทธ๊ฒƒ์„ ์ง€์นญํ•ด ์ˆ˜์ •!!! → ๋งค์šฐ ๊ฐ„๋‹จ!!

 

 

26. More Screen part Two

์œ„์•„๋ž˜๋กœ ์ •๋ ฌ๋˜๊ธธ ๋ฐ”๋ž„ ๋•Œ๋Š” flex-direction: column; ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

<div class="more-suggestions__icons">

 <div class="more-suggestions__icon">

  <div class="more-suggestions__icon-image">

   <i class="fas fa-quote-right"></i>

  </div>

  <span *class*="more-suggestions__icon-text">Kokoa Story</span>
  
 </div>

 

์ฃ„๋‹ค div ํƒœ๊ทธ๋กœ ๊ฐ์‹ผ ๊ธฐ์ค€์„ ๋ชจ๋ฅด๊ฒ ๋‹ค. <div class="more-suggestions__icon-image"> ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” span๋„ ์ƒ๊ด€์—†์ง€ ์•Š์„๊นŒ?


์ž˜ ์ž‘๋™ํ•˜๋ฉด ๋ฟŒ๋“ฏํ•œ๋ฐ ์•„์ง์€ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฒŒ ๋„ˆ๋ฌด ๋งŽ๋‹คใ…œ. ์ฒซ ํด๋ก  ์ฝ”๋”ฉ์ด๋‹ค ๋ณด๋‹ˆ ๋ชจ๋ฅด๋Š” ๊ฒŒ ๋งŽ์„ ์ˆ˜๋ฐ–์— ์—†์ง€๋งŒ ์ด๋ก ๋งŒ ๋ฐฐ์šธ ๋•Œ์™€๋Š” ํ™•์‹คํžˆ ๋‹ค๋ฅธ ๊ฒƒ ๊ฐ™๋‹ค. ์‹ค์ „์—์„œ ์–ด๋–ป๊ฒŒ ์“ฐ์ด๋Š”์ง€ ๋ณด๋‹ˆ๊นŒ ์ด๋ก  ํ•  ๋•Œ๋ณด๋‹ค ๋” ์™€๋‹ฟ๋Š”๋‹ค. ์ ์ฐจ ๋‚˜์•„์งˆ ์•ž์œผ๋กœ๊ฐ€ ๊ธฐ๋Œ€๋œ๋‹ค! 

Comments