πŸ“Œ μ›Ήκ³Ό HTML&CSSμ—μ„œ λ†“μΉ˜κΈ° μ‰¬μš΄ κ°œλ…λ“€: html μš”μ†Œμ™€ css μ„ νƒμž!

제둠·2022λ…„ 4μ›” 6일
7
post-thumbnail

μ €λ²ˆκ³Ό μ΄μ–΄μ„œ μ›Ήκ³Ό HTML&CSSλ₯Ό κ³΅λΆ€ν•˜λ©΄μ„œ μ€‘μš”ν•˜μ§€λ§Œ κ·Έλƒ₯ ν˜λ €λ²„λ¦΄ 수 μžˆλŠ” κ°œλ…λ“€μ„ 정리 ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€. μ›Ή 개발 곡뢀λ₯Ό μ‹œμž‘ν•˜λ©΄ HTML&CSSλŠ” 빨리 ν›‘κ³  μ§€λ‚˜κ°€λŠ” κ²½ν–₯이 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ λ‚˜μ€‘μ— μ›ΉνŽ˜μ΄μ§€λ₯Ό 직접 λ§Œλ“€ λ•Œ 생각지도 λͺ»ν•œ κ³³μ—μ„œ 였λ₯˜κ°€ λ°œμƒν•΄ μ‹œκ°„λ‚­λΉ„λ₯Ό ν•˜κ²Œ λ˜λŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€.
html, css νŒŒνŠΈκ°€ λ”± κ·Έλ ‡μŠ΅λ‹ˆλ‹€. μ™œ 였λ₯˜κ°€λ‚˜μ§€? μ™œ μŠ€νƒ€μΌμ΄ μ•ˆλ¨Ήμ§€?
이런 μ‚¬μ†Œν•œ 였λ₯˜λ“€λ‘œ κ³ λ―Όν•˜λ©΄ PTSDκ°€ μ˜΅λ‹ˆλ‹€..

κ·Έλž˜μ„œ!!

html, css의 μ‚¬μ†Œν•œ κ°œλ…λ“€μ„ μ œλŒ€λ‘œ μ΄ν•΄ν•˜κ³ ! μ •λ¦¬ν•˜κ³ ! λ„˜μ–΄κ°€μž!

HTML ν•΅μ‹¬μš”μ†Œ

블둝 μš”μ†Œ

  • <p> - λ¬Έμž₯을 μ˜λ―Έν•˜λŠ” μš”μ†Œ(Paragraph)
  • <h> - 제λͺ©μ„ μ˜λ―Έν•˜λŠ”μš”μ†Œ, μˆ«μžκ°€ μž‘μ„μˆ˜λ‘ 더 μ€‘μš”ν•œ 제λͺ©μ„ μ •μ˜
  • <ul> - μˆœμ„œκ°€ ν•„μš”μ—†λŠ” λͺ©λ‘μ˜ 집함을 의미(Unordered List)
  • <li> - λͺ©λ‘ λ‚΄ 각 ν•­λͺ©(List Item)

인라인 μš”μ†Œ

  • <img soruce=”” alt=””> - 이미지λ₯Ό μ‚½μž…ν•˜λŠ” μš”μˆ˜(image)
  • <a href=”url” target=””></a> - λ‹€λ₯Έ/같은 νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜λŠ” ν•˜μ΄νΌλ§ν¬λ₯Ό μ§€μ •ν•˜λŠ” μš”μ†Œ(Anchor)
    • target속성 _blank β†’ μƒˆνƒ­μ—μ„œ 링크λ₯Ό μ˜€ν”ˆ
  • <span> - νŠΉλ³„ν•œ μ˜λ―Έκ°€ 없이 κ΅¬λΆ„ν•˜λŠ” μš”μ†Œ
  • <br/> - μ€„λ°”κΏˆ μš”μ†Œ(Break)
  • <label> - 라벨 κ°€λŠ₯ μš”μ†Œ(input)의 제λͺ©

인라인 & λΈ”λ‘μš”μ†Œ = Inline-block

  • <input type=”test”> - μ‚¬μš©μžκ°€ 데이터λ₯Ό μž…λ ₯ν•˜λŠ” μš”μ†Œ
    • type=”” 속성 β†’ μž…λ ₯받을 λ°μ΄ν„°μ˜ νƒ€μž…
      • checkbox - μ‚¬μš©μžμ—κ²Œ 체크 μ—¬λΆ€λ₯Ό μž…λ ₯ λ°›μŒ
        • checked - 미리 μ²΄ν¬λ°•μŠ€ 체크됨
      • radio - μ‚¬μš©μžμ—κ²Œ 체크 μ—¬λΆ€λ₯Ό κ·Έλ£Ήμ—μ„œ 1개만 μž…λ ₯ λ°›μŒ, 그룹이 ν•„μˆ˜
        • name - 이름을 κ°™κ²Œ μ„€μ •ν•˜λ©΄ κ·Έλ£Ή ν˜•μ„±
    • value=”” 속성 β†’ 미리 μž…λ ₯된 κ°’(데이터)
    • placeholder=”” 속성 β†’ μ‚¬μš©μžκ°€ μž…λ ₯ν•  κ°’(데이터)의 힌트
    • disabled 속성 β†’ μž…λ ₯ μš”μ†Œ λΉ„ν™œμ„±ν™”(화면에 보이긴 함)

ν…Œμ΄λΈ” μš”μ†Œ(=table) - ν‘œ μš”μ†Œ, ν–‰(row)κ³Ό μ—΄(column)의 집합

행이 λ¨Όμ €κ³  κ·Έλ‹€μŒμ΄ 열이 옴

  • <tr> - ν–‰(Row)을 μ§€μ •ν•˜λŠ” μš”μ†Œ(Table Row)
  • <td> - μ—΄(Column)을 μ§€μ •ν•˜λŠ” μš”μ†Œ(Table Data), ν•˜λ‚˜μ˜ μ…€
    • colspan 속성 - 열을 λͺ‡ μΉΈ ν™•μž₯ν•  것인지 의미(Column Span) λ‹€λ§Œ, htmlλ‘œλŠ” ν…Œμ΄λΈ” 잘 λ§Œλ“€μ§€ μ•ŠμŒ

μ „μ—­ 속성

  • 전체 μ˜μ—­μ—μ„œ λͺ¨λ‘ μ‚¬μš© κ°€λŠ₯ν•œ 속성
    • title 속성 - μš”μ†Œμ˜ μ •λ³΄λ‚˜ μ„€λͺ…을 지정, ν•΄λ‹Ή μš”μ†Œμ˜ 마우슀λ₯Ό 올리면 쑰그맣게 λ³΄μ—¬μ€Œ
    • style 속성 - μš”μ†Œμ— μ μš©ν•  μŠ€νƒ€μΌ(CSS)을 지정
    • class 속성 - μš”μ†Œλ₯Ό μ§€μΉ­ν•˜λŠ” 쀑볡 κ°€λŠ₯ν•œ 이름
    • id 속성 - μš”μ†Œλ₯Ό μ§€μΉ­ν•˜λŠ” κ³ μœ ν•œ 이름
    • data-”이름” 속성 - μš”μ†Œμ— 데이터λ₯Ό 지정(μš”μ†Œμ— νŠΉμ •ν•œ 데이터λ₯Ό μž μ‹œ μ €μž₯ for js)

CSS

κΈ°λ³Έ 문법, 주석

μ„ νƒμž {속성: κ°’; }

  • μ„ νƒμž - μŠ€νƒ€μΌμ„ μ μš©ν•  λŒ€μƒ(Selector)
  • 속성 - μŠ€νƒ€μΌμ˜ μ’…λ₯˜(Property)
  • κ°’ - μŠ€νƒ€μΌμ˜ κ°’(Value)

μ„ μ–Έ 방식

  • λ‚΄μž₯ 방식 - 의 λ‚΄μš©μœΌλ‘œ μŠ€νƒ€μΌμ„ μž‘μ„±
  • 인라인 방식 - μš”μ†Œμ˜ style의 속성에 직접 μŠ€νƒ€μΌμ„ μž‘μ„±(λ„ˆλ¬΄ μš°μ„ μˆœμœ„κ°€ λ†’μŒ)
  • 링크 방식 - 둜 μ™ΈλΆ€ CSS λ¬Έμ„œλ₯Ό κ°€μ Έμ™€μ„œ μ—°κ²°(병렬 방식)
  • import 방식 - @import κ·œμΉ™μœΌλ‘œ CSS λ¬Έμ„œ μ•ˆμ— 또 λ‹€λ₯Έ CSS λ¬Έμ„œλ₯Ό 가져와 μ—°κ²°ν•˜λŠ” 방식(직렬 μ—°κ²°)

CSS μ„ νƒμž

  • κΈ°λ³Έ μ„ νƒμž
    • 전체 μ„ νƒμž(Universal Selector): λͺ¨λ“  μš”μ†Œλ₯Ό 선택
      • * {}
    • νƒœκ·Έ μ„ νƒμž(Type Selector): νƒœκ·Έ μ΄λ¦„μœΌλ‘œ μš”μ†Œ 선택
      • li {}
    • 클래슀 μ„ νƒμž(Class Selector): class μ†μ„±μ˜ κ°’μ˜ λ§žλŠ” μš”μ†Œ 선택
      • .class {}
    • 아이디 μ„ νƒμž(ID Selector): id μ†μ„±μ˜ κ°’μ˜ λ§žλŠ” μš”μ†Œ 선택
      • #id {}
  • 볡합 μ„ νƒμž

    • 일치 μ„ νƒμž(Basic Combinator): νŠΉμ • μ„ νƒμžλ₯Ό λ™μ‹œμ— λ§Œμ‘±ν•˜λŠ” μš”μ†Œ 선택

      • span.orange {} - (νƒœκ·Έλ₯Ό λ¨Όμ € 적어야 함)
    • μžμ‹ μ„ νƒμž(Child Combinator): νŠΉμ • μžμ‹ μš”μ†Œ 선택

      • ul > .orange {} - (λ’€μ—μ„œ λΆ€ν„° 읽으면 νŽΈν•¨)
    • ν•˜μœ„ μ„ νƒμž(Descendant Combinator): νŠΉμ • μ„ νƒμžμ˜ ν•˜μœ„ μš”μ†Œμ˜ μ„ νƒμž 선택

      • div .orage {} - (쑰상 μš”μ†Œ div의 ν΄λž˜μŠ€κ°€ orage인 μ„ νƒμž)
    • 인접 ν˜•μ œ μ„ νƒμž(Adjacent Sibling Combinator): νŠΉμ • μ„ νƒμžμ˜ λ‹€μŒ ν˜•μ œ μš”μ†Œμ˜ ν•˜λ‚˜λ₯Ό 선택

      • .orage + li {} - (li νƒœκ·Έ 쀑 ν΄λž˜μŠ€κ°€ orage인 μ„ νƒμžμ˜ λ‹€μŒ μ„ νƒμžκ°€ 해당됨)
    • 일반 ν˜•μ œ μ„ νƒμž(General Sibling Combinator): νŠΉμ • μ„ νƒμžμ˜ λ‹€μŒ ν˜•μ œ μš”μ†Œ λͺ¨λ‘λ₯Ό 선택

      • .orage ~ li {} -(li νƒœκ·Έ 쀑 ν΄λž˜μŠ€κ°€ orange인 μ„ νƒμž λ‹€μŒ λͺ¨λ“  μ„ νƒμžκ°€ 해당됨)
  • 가상 클래슀 μ„ νƒμž(:)

    • 가상 클래슀 μ„ νƒμž 1 (Pseudo-Classes):

      • hover - νŠΉμ • μ„ νƒμž μš”μ†Œμ— 마우슀 μ»€μ„œκ°€ μ˜¬λΌκ°€ μžˆλŠ” λ™μ•ˆ 선택

        • button: hover {}
      • active - νŠΉμ • μš”μ†Œμ— 마우슀λ₯Ό ν΄λ¦­ν•˜κ³  μžˆλŠ” λ™μ•ˆ 선택

        • box: active {}
      • focus - νŠΉμ • μš”μ†Œκ°€ 포컀슀되면 선택

        • input: focus {} cf) tabindex 속성 - focusκ°€ 될 수 μžˆλŠ” μš”μ†Œλ₯Ό λ§Œλ“€ 수 있음(focus = -1)
    • 가상 클래슀 μ„ νƒμž 2 (Pseudo-Classes):

      • first child - νŠΉμ • μ„ νƒμžμ˜ ν˜•μ œ μš”μ†Œ 쀑 첫째라면 선택

        • .fruits span: first-child {} - ()
      • last child - νŠΉμ • μ„ νƒμžμ˜ ν˜•μ œ μš”μ†Œ 쀑 막내라면 선택

        • .fruits h3: last-child {}
      • nth child - νŠΉμ • μ„ νƒμžμ˜ ν˜•μ œ μš”μ†Œ 쀑 (n)째라면 선택

        • .fruits *:nth-child(2) {}

          cf) .fruits *:nth-child(2n) {} - n은 0λΆ€ν„° μ‹œμž‘, 짝수번째 μš”μ†Œ 선택

      • not - λΆ€μ •μ„ νƒμž: νŠΉμ • μ„ νƒμžκ°€ μ•„λ‹Œ μš”μ†Œ 선택(Negation)

        • .fruits *:not(span) {}
    • 가상 μš”μ†Œ(인라인) μ„ νƒμž(Pseudo-Elements):

      • νŠΉμ • μ„ νƒμž μš”μ†Œμ˜ λ‚΄λΆ€ μ•žμ— λ‚΄μš©μ„ μ‚½μž…

        • .box::before { content: β€œμ•žβ€ } - beforeλΌλŠ” κ°€μƒμ˜ μš”μ†Œλ₯Ό λ§Œλ“€μ–΄μ„œ box μš”μ†Œ λ‚΄λΆ€ μ•žμ— μ‚½μž…
    • 가상 μš”μ†Œ μ„ νƒμž(Pseudo-Elements)

      • νŠΉμ • μ„ νƒμž μš”μ†Œμ˜ λ‚΄λΆ€ 뒀에 λ‚΄μš©μ„ μ‚½μž…

        • .box::after { content: β€œλ’€!”} - (가상 μš”μ†Œ μ„ νƒμž λ§Œλ“€λ•Œ content 속성을 λ°˜λ“œμ‹œ μž…λ ₯ν•΄μ•Ό 함)
  • 속성 μ„ νƒμž(Attribute) ATTR(λŒ€κ΄„ν˜Έ)

    • νŠΉμ • 속성을 ν¬ν•¨ν•œ μš”μ†Œ 선택

      • [disabled] {} - νŠΉμ • μƒνƒœμ˜ μš”μ†Œλ₯Ό 선택할 수 있음

      • [type=”password”] {} - μ›ν•˜λŠ” νƒ€μž…μ˜ μš”μ†Œλ₯Ό 선택할 수 있음

  • μŠ€νƒ€μΌ 상속

    • μŠ€νƒ€μΌμ„ 지정할 λ•Œ μ„ νƒν•œ μš”μ†Œμ˜ μžμ‹ μš”μ†Œμ—λ” ν•΄λ‹Ή μŠ€νƒ€μΌμ΄ 적용됨

    • κΈ€μž/문자 κ΄€λ ¨ 속성듀은 λŒ€λΆ€λΆ„ 상속됨!

    • κ°•μ œμƒμ†

      • μ‹€μ œ μƒμ†λ˜μ§€ μ•ŠλŠ” CSS 속성을 κ°•μ œλ‘œ μƒμ†μ‹œν‚΄

      • inherit - λΆ€λͺ¨ μš”μ†Œμ˜ CSS 속성을 μƒμ†λ°›μŒ

  • μ„ νƒμž μš°μ„ μˆœμœ„

    • 같은 μš”μ†Œκ°€ μ—¬λŸ¬ μ„ μ–Έμ˜ λŒ€μƒμ΄ 된 경우, μ–΄λ–€ 선언이 CSS 속성을 μš°μ„  μ μš©ν• μ§€ κ²°μ •ν•˜λŠ” 방법

      1. μ μˆ˜κ°€ 높은 선언이 μš°μ„ !

      2. μ μˆ˜κ°€ κ°™μœΌλ©΄, κ°€μž₯ λ§ˆμ§€λ§‰ ν•΄μ„λœ 선언이 μš°μ„ !

    • 점수(λͺ…μ‹œλ„)

      • !important - 9999점
      • 인라인 μ„ μ–Έ - 1000점
      • id μ„ νƒμž - 100점
      • class μ„ νƒμž - 10점
      • νƒœκ·Έ μ„ νƒμž - 1점
      • 전체 μ„ νƒμž - 0점
      • 상속 - X
profile
Software Developer

0개의 λŒ“κΈ€