<br>
<시작태그>콘텐츠</종료태그>
형식을 사용한다 하더라도 태그 자체에 아무런 의미를 부여하지 않고 시각적인 효과(스타일)만 나타냈음<b></b>
, <i></i>
시맨택 태그 (semantic tag)
- 사람이 이해하기 쉽ㄷ도록 이름만 보고 역할이나 위치를 알 수 있게 만든 태그
- 시맨틱 태그의 예:
- header : 웹 페이징의 헤더 영역을 구분
- nav : 웹 페이지에서 내부으이 다른 영역이나 외부 연결 링크 영역을 구분
- section : 웹 페이지에서 논리적으로 관련 있는 내용 영역을 구분
- article : 웹 페이지에서 독립적인 영역을 구분
- aside : 웹 페이지에서 옆에 위치하는 영역을 구분
- footer : 웹 페이지에서 푸터 영역(저작권 정보, 연락처, 사이트 맵 등)을 구분
id, class, style, data-*, lang
<html></html>
태그 사이에 작성함<html>
태그는 HTML 문서의 시작과 끝을 의미함<html></html>
태그 사이에 작성된 코드를 읽어 HTML 규칙에 맞게 해석한 뒤 그 결과를 표시함박스 모델
모든 HTML 요소가 사각형 박스로 둘러싸여 있다는 개념
박스 형태의 요소를 원하는 곳에 배치해 하나의 웹 페이지를 원하는 모양으로 만듬
하나의 박스는 네 가지 구성 요소(영역)로 이루어짐:
1. 콘텐츠 (content, 내용)
2. 패딩 (padding, 내부 여백)
3. 보더 (border, 테두리)
4. 마진 (margin, 외부 여백)
CSS는 이러한 박스의 크키, 위치, 속성(색, 배경, 테두리 모양 등)을 결정함
<head>
태그 내부에 <style>
태그를 이용해 CSS를 적용<head>
태그 내부에 <link>
태그를 이용해 CSS 문서를 연결하면 HTML 문서에 CSS가 적용됨h1 {color: red;}
-- ----- ---
선택자 속성 값
스크립트 언어 (script language)
새로운 프로그램을 만들기보다는 기존의 소프트웨어를 제어하는 용도로 쓰이는 언어
대체로 문법이 단순하고 쉬우며, 컴파일 과정 없이 바로 실행되고, 실행 속도가 느림
<script>
태그를 이용해 자바스크립트 코드를 작성하는 것<script>
태그는 <body>
태그가 끝나기 직전에 사용하는 것이 성능상 유리함<script>
태그를 이용해 외부의 자바스크립트 문서와 연결<body>
태그가 끝나기 직전에 사용하는 것이 성능상 유리함$font-size: 16px;
div {font-size: $font-size;}
@import "_from"; /* _form.scss 파일 가져오기 */
.card {
.card-header {
padding: 8px;
}
}
.btn {width: 100px;}
.btn-danger {
@extend .btn;
background-color: red;
}
.btn, .btn-danger {
width: 100px;
}
.btn-danger {background-color: red;}
@mixin bordered() { /* bordered()라는 스타일 정의 */
border: 1px solid #ddd;
}
h1 {
@include bordered(); /* bordered() 스타일 사용 */
}
@mixin bordered($width: 5px) {
border: $width solid #ddd;
}
h1 {
@include bordered(3px);
}
$default: 10px;
$per: 30%;
div {
width: (100px / 3);
height: ($default + 10);
padding: ($per - 10);
border: ($default * 2) solid red;
}
div {
width: 33.333333333px;
height: 20px;
padding: 20%;
border 20px solid red;
}
$theme: "darkmode";
body {
@if ($theme == "darkmode") {
color: white;
} @else {
color: black;
}
}
body {
color: white;
}
@for $i from 1 through 5 {
.mt#{$i} {
margin-top: $i + px;
}
}
.mt1 {
margin-top: 1px;
}
.mt2 {
margin-top: 2px;
}
.mt3 {
margin-top: 3px;
}
.mt4 {
margin-top: 4px;
}
.mt5 {
margin-top: 5px;
}
변수
@font-size: 16px;
div {font-size: @font-size;}
가져오기
@import "_from";
중첩
.card {
.card-header {
padding: 8px;
}
}
재사용
.btn {width: 100px;}
.btn-danger {
.btn;
background-color: red;
}
.btn {width: 100px;}
.btn-danger {
width: 100px;
background-color: red;
}
연산
@base-color: #336699;
.light-color {background-color: lighten(@base-color, 20%);}
.lighter-color {background-color: #6699cc;}
조건문
#condition: false;
.selector {
color: if(@condition, red, blue); /* @condition이 true이면 red, false이면 blue */
}
.selector {
color: if(false, red, blue);
}
반복문
.generate-margins(@index) when (@index < 6) {
.mt@{index} {
margin-top: @index * 1px;
}
.gernate-margins(@index + 1);
}
.generate-margins(1)
.mt1 {margin-top: 1px;}
.mt2 {margin-top: 2px;}
.mt3 {margin-top: 3px;}
.mt4 {margin-top: 4px;}
.mt5 {margin-top: 5px;}
추상 구문 트리 (AST, Abstract Syntax Tree)
- 추상 구문 트리는 코드에서 계층 구조로 된 정보를 추출해 트리 형태로 만든 것
- 트리에 괄호((), {}) 등 구문의 세세한 정보까지 표기하지 않기 때문에 추상 구문 트리라고 함
PostCSS 적용 방법
모듈 번들러
여러 자바스크립트 모듈을 웹 브라우저에서 실행할 수 있는 하나의 자바스크립트 파일로 묶는 도구
// postcss.config.js
const config = {
require('플러그인1'),
require('플러그인2'),
...
require('플러그인n'),
}
module.exports = config
postcss-import 플러그인
postcss-mixins 플러그인
postcss-nested 플러그인
postcss-preset-env 플러그인
auto-prefixer 플러그인
cssnano 플러그인
<hn>,<p>
태그는 단락의 간격을 지정하기 위해 위아래 margin 값이 포함돼 있고, <hn>
태그는 뒤에 붙는 숫자(h1~h6)에 따라 글자의 크기나 굵기가 달라지도록 스타일 값이 설정돼 있음. 이와 같이 태그에 포함된 기본 스타일이 SMACSS 방법론에서 말하는 기본 규칙<div>
태그가 Block에 해당함card
__
(언더바 2개)로 연결card__title
--
(하이픈 2개)를 사용해 선택자를 연결함card__btn--read
git [명령어]
git init
git config --local user.name "사용자_이름"
git config --local user.email "사용자_메일"
git add [파일_이름1] ... [파일_이름n]
git commit -m [기록_메시지]
git log
git log -p [commit id]
git reset --hard [commit id]