웹 페이지 스타일 및 레이아웃을 정의하는 스타일시트 언어
➡️ 직관적이고 쉬운 UI 제작은 프론트엔드 개발자의 기본소양이므로 화면구성이나 배치, 글씨크기 컴포넌트 기능별로 묶기 등을 위해 필수적으로 익혀야 한다.
stylesheet
이므로 rel
속성에 stylesheet
를 추가 href
에는 파일의 위치 삽입<link rel="stylesheet" href="index.css" />
✅ html에서 <div>
와 <header>
, <main>
, <footer>
등의 요소는 기능적으로 동일하지만 각각 영역의 역할을 구분하기 위한 시맨틱 요소
->CSS를 공부하다보니 구분하는 이유를 알게되었다. 🥲
id로 스타일링 적용
/* html */
<h4 id="title">This is Title.</h4>
/*css*/
#title {
color: red;
}
class로 스타일링 적용
/* html */
.menu {
text-color: red;
}
/*css*/
<ul>
<li class="menu">a</li>
<li class="menu">b</li>
<li class="menu">c</li>
</ul>
id | class |
---|---|
#으로 표시 | .으로 표시 |
문서 내 유일한 요소에만 적용 | 동일한 요소에 적용 |
고유명사의 의미 | 분류의 의미 |
text-align
, left
, right
, center
, justify
px
, pt
%
, em
, rem
, ch
, vw
, vh
px
상대단위는rem
를 사용rem
vw
, vh
은 viewport width, height로 1vw
는 보이는 영역 너비의 1/100을 뜻함 따라서 100vw
, 100vh
는 화면을 꽉채워 만든 웹사이트레이아웃의 모든 콘텐츠는 각각 박스들이 모여 하나의 박스로 구성된다.
inline | inline-block | block | |
---|---|---|---|
줄바꿈 | 줄바꿈❌ | 줄바꿈❌ | 줄바꿈⭕️ |
width | 글자에 맞춤 | 글자에 맞춤 | 100% |
width, height 사용 | ❌ | ⭕️ | ⭕️ |
<h1>
, <p>
등은 block박스<span>
는 inline박스content는 말그대로 콘텐츠 border는 그 콘텐츠의 테두리 padding은 content와 border사이의 여백이라고 이해하면 쉽다. 마지막으로 margin은 바깥쪽 여백을 뜻한다.
❖ 박스크기가 콘텐츠 크기보다 큰경우
overflow: auto;
auto
는 스크롤을 생성하는 값, 내용을 숨기고싶으면 hidden
사용 overflow-x
,overflow-y
스크롤방향 지정가능
❖ 박스의 여백을 생각하며 레이아웃 구성
* {
box-sizing: border-box;
}
border-box
를 적용하면 여백과 테두리 두께를 포함해 박스 크기를 계산해줌
css속성을 적용할 대상을 찾는 방법 ex) id, class
* {}
모든 요소 선택
h2 {}
div{}
section, h2{}
특정 요소 선택, 복수 가능
#title {}
id는 #으로 표현
.title {}
.menu {}
class는 .으로 표현
a[href] {}
p[id="title"] {}
p[class~="menu"] { }
p[class|="menu"] { }
section[id^="sect"] { }
div[class$="2"] { }
div[class*="w"] { }
header > p { }
첫 요소 바로 아래 자식 선택
header p {}
section ~ p { }
section + p { }
That was so amazing. It is the language for describing the presentation of Web pages, including colours, layout, and fonts, thus making our web pages presentable to the users. CSS is designed to make style sheets for the web. My Insite Macys Insite Sign In