▶CodeStates Back-End/Section 1

TIL [0427] HTML, CSS

휴학생감자 2022. 4. 28. 15:11

웹 페이지는 HTML, CSS, JavaScript를 통해 만들어진다. 

HTML은 구조, CSS는 모양(꾸밈), JS는 행동을 개발하는데에 사용한다.

 

HTML

(HyperText Markup Language)

웹 페이지의 틀을 만드는 마크업 언어로 표준화된 다양한 태그들로 구성된다.

 

대부분의 태그는 시작 태그와 종료 태그의 쌍으로 이루어지지만, 종료 태그가 없는 태그도 존재한다.

ex) <html> </html>    /    <img>

 

 

필수 태그

<!DOCTYPE html> : 해당 문서가 HTML 문서임을 알리는 지시어

<html> : 문서 전체의 틀을 구성하는 시작 태그

<head> : 문서의 메타데이터를 선언

<title> : 문서의 제목으로, 브라우저를 실행했을 때 탭에 보여짐

<body> : 문서의 내용을 담는 곳

 

 

많이 쓰이는 태그

<div> : 블록 태그로, 한줄을 독점하여 사용함.

<span> : 인라인 태그로 블록 속에 삽입되어 블록의 일부로 사용되며, 컨텐츠의 크기만큼 공간을 차지함.

<img> : 이미지 삽입

<a> : 링크 삽입

<ul> <ol> / <li> : unordered list, ordered list이며, 리스트 내의 아이템은 li 태그로 구분함.

<table> / <tr> <td> : 표를 만드는 태그로, 행은 tr 태그, 각 셀은 td 태그로 구분함.

<input> : type 속성을 통해 다양한 입력 폼을 만들 수 있음.

                  (속성 값의 종류에는 text, password, radio, checkbox 등이 있다.)

<textarea> : 여러 줄의 텍스트를 입력할 수 있는 창

<button> : 버튼을 만드는 데 사용함.

<br> : 줄바꿈

 

 

기존 태그들에는 웹 문서의 구조를 표현하는 태그가 없었다. 따라서, 문서의 구조를 파악하는 것이 쉽지 않아

웹 문서를 구조화하여 내용 탐색을 용이하게 만들도록 한 태그들을 시맨틱 태그라고 한다.

 

# 시맨틱 태그

문서의 구조와 의미를 전달하는 태그로 <header>, <section>, <footer> 등이 있다.

 

 


 

CSS

(Cascading Style Sheets)

웹 페이지를 모양을 꾸며주는 역할로써, 각 HTML의 요소를 꾸며주기도 한다.

또한, 콘텐츠의 배치나 최소한의 타이포그래피를 하는데 사용된다.

 

효율적인 사용자 인터페이스(UI)의 구성은 더 나은 사용자 경험(UX)를 제공할 수 있다.

일반 사용자는 많은 기능보다는 직관적이고 사용성이 높은 UI를 통해 좋은 UX를 경험합니다.

 

 

기본 구조

header {

               background-color : black;

               font-size : 20px;

}

 

셀렉터(seletor) : 위의 구조에서는 header로 태그의 이름이나, id, class를 말함.

속성(property) : 요소에 적용할 내용으로, bakcgroud-color, font-size를 속성이라고 함.

속성 값(Value) : 배경 색상으로 black, 폰트의 크기로 20px을 지정한 값이 속성 값임.

 

속성과 값을 작성한 뒤에 세미콜론(;)을 붙여서 속성 간에 구분을 함!

 

 

# HTML 파일에 CSS 파일을 적용하는 방법

html파일에 link 태그의 rel 속성과 href 속성을 작성한다. 

rel 속성은 연결하고자 하는 파일의 역할이나 특징을, href 속성은 파일의 위치를 말합니다.

Ex. <link rel="stylesheet" href="index.css>

 

+) 위의 방법은 '외부 스타일 시트'를 통해 적용한 것이고,

이외에도 같은 줄에서 스타일을 적용하는 '인라인 스타일'과

별도의 파일을 분리하지 않고 style 태그 내에 작성하는 '내부 스타일 시트' 방법이 있다.

 

 

# Selector

① id : 하나의 요소를 정확하게 선택하기 위한 방법으로, #기호를 통해 요소를 선택합니다.

     Ex)  <h4 id="mainTitle"> My Blog </h4>

              #mainTitle { 

                         color : red;

               }

 

② class : 공통적인 요소들을 한번에 지정하는 방법으로, .(온점)을 통해 요소를 선택합니다.

     Ex)  <li class="menu-item"> A </li>

              <li class="menu-item"> B </li>

              <li class="menu-item"> C </li>

              .menu-item { 

                         color : red;

               }

    ※ 여러 class를 하나의 요소에 적용하고 싶다면 공백을 통해 구분하여 작성합니다.

 

 

# CSS의 다양한 속성들

color  : 글자의 색상을 지정 (background-color, border-color 등으로 활용이 가능)

font-family : 글꼴의 속성

font-size : 글자의 크기를 변경 (절대 단위 : px, pt / 상대 단위 : %, em, rem, ch 등)

font-weight : 글자의 굵기

font-decoration : 글자에 밑줄이나 가로줄을 만들 때

letter-spacing : 자간

line-height : 행간

text-align : 글자를 정렬하는 방법으로 유효 값에는 left, right, center, justify가 있음.

 


 

CSS 박스 모델

하나의 콘텐츠로 묶이는 요소들이 하나의 박스를 구성하며, 항상 직사각형의 모양으로, 너비와 높이를 설정할 수 있다.

단, 줄바꿈이 되지 않는 태그인 <span>과 같은 inline 태그들에는 너비, 높이를 지정할 수 없다.

 

block 박스               :  줄바꿈 Ο, 기본 너비 100%, 너비/높이 사용 Ο

inline-block 박스  :  줄바꿈 Χ, 기본 너비는 글자가 차지하는 만큼, 너비/높이 사용 Ο

inline 박스               :  줄바꿈 Χ, 기본 너비는 글자가 차지하는 만큼, 너비/높이 사용 Χ

 

그림1

 

웹 페이지는 위의 그림과 같이 구성되며, Border(테두리)를 기준으로 Margin은 바깥 여백, Padding은 안쪽 여백이다.

각각에는 다양한 속성을 적용할 수 있으며, 박스에 적용되는 여백을 고려하여 박스의 크기를 디자인해야 한다.

 

그림2

 

쉽게 말해 Content-Box는 padding과 border를 제외한 content구역만 너비로 보며,

Border-Box는 여백을 포함해 전체 공간을 너비로 본다는 것이다.

 

따라서, 레이아웃 디자인을 조금 쉽게 하기 위해서는 box-sizing 속성을 border-box로 하면,

여백과 테두리를 포함하는 박스 크기 계산이 가능하여 편리하다.

 

 

 

 

§ 참고할만한 사이트

https://www.w3schools.com/

 

§  출처

[그림1] https://velog.io/@luna238/CSS-%EB%B0%95%EC%8A%A4-%EB%AA%A8%EB%8D%B8Box-Model

[그림2] https://planflow.dev/blog/what-is-box-sizing-in-css-how-does-it-work

'▶CodeStates Back-End > Section 1' 카테고리의 다른 글

TIL [0506] 제어문  (0) 2022.05.12
TIL [0504] Java  (2) 2022.05.10
TIL [0503] Git  (0) 2022.05.03
TIL [0502] Linux  (0) 2022.05.03
TIL [0426] 컴퓨터의 정의  (2) 2022.04.27