Tree Sturcture
-html
-head
-title: Page title
-body
-h1: hello world
-div: contents here
-span: Here too!
HTML은 기본적으로 트리 형태의 구조
div : 한 줄을 차지
span : 컨텐츠 크기만큼 공간을 차지
img : 이미지 삽입 <img src=" ~ .jpg">
닫는 태그 X
a : 링크 삽입
<a href="http://naver.com>네이버</a>
ul : unordered list, 점으로 표시
ol : ordered list, 넘버링
li : 트리 구조의 리스트
input: Text, Radio, Checkbox, Password 등의 입력폼
name="~" : name 속성으로 그룹화 설정 시 하나만 선택 가능
textarea : 줄바꿈이 가능한 입력폼
button : 클릭가능한 버튼 생성
CSS는 웹 사이트 사용자가 HTML 문서에 작성된 콘텐츠를 디자인하여 유저들의 이해에 도움을 줌
각 요소가 어떤 역할을 담당하는 지 쉽게 파악할 수 있도록 하는 태그가 존재한다. 이렇게 이름에 의미를 붙여 부르는 태그를 시멘틱 태그(semantic tag)라 부른다.
셀렉터는 특정 태그의 이름, id, 또는 class를 선택한다는 의미
요소에 적용할 수 있는 내용을 속성이라 하고, 속성명(property name)과 속성값(property value)을 사용하여 속성을 변경할 수 있음.
텍스트의 가운데 정렬을 하기 위한 속성 text-align: center;
글자 색을 바꾸기 위한 속성 color
배경 색을 바꾸기 위한 속성 background
background 속성과 background-color 속성 차이
background - 전체 배경
background color - 지정 배경
em : size (ex. font, padding..)
<link rel="stylesheet" href="index.css" />
<link rel="stylesheet" href="layout.css" />
CSS는 기본적으로 stylesheet이므로 rel
속성에 stylesheet
를 추가한다. href
속성에는 파일의 위치를 추가해야 한다. 한 폴더 내에 있을 경우에는 파일 이름만 입력한다.
만약 다른 폴더에 파일이 존재하는 경우, 절대 경로 또는 상대 경로를 입력해 원하는 파일을 찾아 연결할 수 있다.
id
가 있는 요소는 #
기호를 사용한다. id
는 하나의 문서에서 한 요소에만 사용
<h4 id="navigation-title">This is the navigation section.</h4>
#navigation-title {
color: red;
}
<ul>
<li class="menu-item">Home</li>
<li class="menu-item">Mac</li>
<li class="menu-item">iPhone</li>
<li class="menu-item">iPad</li>
</ul>
class를 이용하는 경우에는 .
을 이용해 선택한다.
.menu-item {
text-decoration: underline;
}
하나의 요소에 여러 class 적용하기
<li class="menu-item selected">Home</li>
.selected {
font-weight: bold;
color: #009999;
}
color
.red {
color: #ff0000;
}
.box {
color: #155724; /* 글자 색상 */
background-color: #d4edda; /* 배경 색상 */
border-color: #c3e6cb; /* 테두리 색상 */
}
font-family
.emphasize {
font-family: "SF Pro KR", "MalgunGothic", "Verdana";
}
font-size
.title {
font-size: 24px;
}
기기나 브라우저 사이즈 등의 환경에 영향을 받지 않는 절대적인 크기로 정하는 경우
px
를 사용한다.
일반적인 경우
상대 단위인 rem
을 주로 사용한다.
text-align
유효한 값 - left
right
justify
(양쪽 정렬)vetrical-algin
but, 부모 요소의 display
속성이 반드시 table-cell
이어야 함웹 페이지 내의 모든 콘텐츠는 고유의 영역을 가지고 있다. 이 영역을 박스(box)라고 부른다.
박스는 항상 직사각형이고, 너비(width)와 높이(height)를 가진다.
<h1>
<p>
<div>
<ul>
<li>
<span>
<a>
<strong>
<img>
p {
border: 1px solid red;
}
border 속성에 적용된 각각의 값은 테두리 두께(border-width)
테두리 스타일(border-style)
테두리 색상(border-color)
테두리 점선 : border-style의 값 dashed
테두리 둥근 모서리 : border-radius: 10 px;
박스 바깥쪽에 그림자 (그림자를 명확하게 보기 위해서는 background 속성이 불투명해야함)
box-shadow: 5px 5px;
p {
margin: 10px 20px 30px 40px;
}
p {
margin: 10px 20px;
}
p {
margin: 10px;
}
p {
margin-top: -2rem;
}
p {
padding: 10px 20px 30px 40px;
}
overflow 속성의 auto
값은, 콘텐츠가 넘치는 경우 스크롤을 생성한다. 넘치는 콘텐츠의 내용을 나타내고 싶지 않을 경우에는 overflow 속성에 hidden
값을 사용
p {
height: 40px;
overflow: auto;
}
box-sizing
속성을 추가하고, border-box
라는 값을 추가한다.* {
box-sizing: border-box;
}
이렇게 모든 요소에 box-sizing: border-box
를 적용하면, 모든 박스에서 여백과 테두리를 포함한 크기로 계산된다.