기존에는 Notion에 TIL을 작성하였다. 하지만 다음주부터 본격적으로 백엔드 개발자로서 공부가 시작되는데, 그동안 개발자로서 TIL 작성이 처음이라 서투르고 어려워 너무 단편적으로 작성을 해왔기 때문에 조금 더 개발자로서 나의 생각을 정리하기 위해 벨로그로 다시 새롭게 시작해 보려 한다.
HTML
- 문자를 꾸며주는 태그
- 빈 태그
- 태그와 속성
- 이미지와 동영상 태그
- Block, Inline
- 종속 태그
- head, body
- 박스모델
CSS
- 기본문법
- 특성
- box-sizing
- css 사용방법 3가지
- css 선택자
- 정렬
strong 태그
<strong>두껍게하기</strong>
결과 : 두껍게하기
u 태그
<u>밑줄긋기</u>
결과 : 밑줄긋기
밑줄긋기
h1~h6 태그
<h1>제목</h1> <h2>제목</h2> <h3>제목</h3> <h4>제목</h4> <h5>제목</h5> <h6>제목</h6>
결과 :
제목
제목
제목
제목
제목
제목
i 태그
<i>이탤릭체 만들기</i>
결과: 이탤릭체 만들기
<br> 태그
- 다음 줄로 넘어가게 만드는 태그이다
<br />
<hr>
- 수평선을 긋는 태그이다
<hr />
결과 :
속성(attribute)
과 값(value)
를 주어 사용한다<input type="text" /> <!-- 한줄 텍스트 입력창 생성 --> <input type="password" /> <!-- 비밀번호 입력창 생성 --> <input type="color" /> <!-- 색상 선택창 생성 --> <input type="checkbox" /> <!-- 체크박스(여러개선택) 생성 --> <input type="radio" name="group"/> <!-- 라디오버튼(1개선택) 생성 --> <a href="http://google.com">구글로 가기</a> <!-- 현재창에서 이동--> <a href="http://google.com" target="_blank">구글로 가기</a> <!-- 새창에서 이동 -->
이미지 태그
<!-- 일반이미지 --> <img src="/이미지경로/이미지.확장자" /> <!-- 배경이미지 --> <div style="background-image: url('/이미지경로/이미지.확장자')" />
동영상 태그
<!-- 동영상 --> <!-- muted: 음소거 --> <!-- autoplay: 자동재생 --> <!-- loop: 반복재생 --> <video muted="muted" autoplay="autoplay" loop="loop"> <source src="동영상위치.mp4"> </video>
Block
- 페이지의 가로를 차지한다
- 넓이 전체를 차지하는 요소이다
- ex.
<h1>
,<div>
,<p>
Inline
- 자신의 크기만큼 차지하는 요소이다
<span>
,<input>
,<a>
,<button>
,<label>
,<text>
,<checkbox>
,<radio>
선택박스 태그
<select> <option>기쁨</option> <option>좋음</option> <option>보통</option> </select>
결과 : <option>기쁨</option> <option>좋음</option> <option>보통</option>
목록 태그
// 순서가 있는 리스트 // ordered list <ol> <li>순서가 있는 리스트 1번</li> <li>순서가 있는 리스트 2번</li> <li>순서가 있는 리스트 3번</li> </ol>
결과:
- 순서가 있는 리스트 1번
- 순서가 있는 리스트 2번
- 순서가 있는 리스트 3번
// 순서가 없는 태그 // unordered list <ul> <li>순서가 없는 리스트</li> <li>순서가 없는 리스트</li> <li>순서가 없는 리스트</li> </ul>
결과:
- 순서가 없는 리스트
- 순서가 없는 리스트
- 순서가 없는 리스트
표 태그
<tr>
: 표의 행을 나타낸다<td>
: 표의 열을 나타낸다,<tr>
태그 하위에 위치한다<thead>
: 표의 제목 영역이다,<table>
하위,<tr>
상위에 위치한다<tbody>
: 표의 본문 영역이다,<thead>
와 같은 위치에 존재한다<th>
: 제목 셀을 나타낸다,<td>
대신 사용한다<table> <thead> <tr> <th>학교</th> <th>창립년도</th> </tr> </thead> <tbody> <tr> <td>서울대학교</td> <td>1946</td> </tr> <tr> <td>고려대학교</td> <td>1905</td> </tr> <tr> <td>연세대학교</td> <td>1885</td> </tr> </tbody> </table>
결과 :
학교 창립년도 서울대학교 1946 고려대학교 1905 연세대학교 1885
<head>
/ <body>
<head>
<body>
<!DOCTYPE html> <html lang="ko"> <head> <title>브라우저 탭 이름</title> </head> <body></body> </html>
contents
: 박스의 실질적인 내용 부분이다padding
: 박스의 안쪽 여백이다border
: 박스의 기준이 되는 바깥 테두리 선이다margin
: border를 기분으로 바깥쪽 여백이다
단일 속성 지정
selector(선택자) { property(속성) : value(값) ; } .class { width : 30px; }
다중 속성 지정
selector(선택자) { property(속성) : value(값) ; property(속성) : value(값) ; property(속성) : value(값) ; property(속성) : value(값) ; property(속성) : value(값) ; } .class { width : 30px; height : 30px; }
div { color: red; color: rgb(255,0,0); /* RGB */ color: #FF0000; /* HEX 값 */ font-size: 20px; /* 글자크기 */ font-weight: 300; /* 글자두께 */ text-align: center; /* 가운데 정렬 */ font-family: arial; /* 글꼴 */ width: 300px; /* 넓이 */ height: 300px; /* 높이 */ background-color: red; /* 배경색 */ border: 1px solid black; /* 테두리 */ border-radius: 5px; /* 테두리의 모서리 둥글게 */ }
box-sizing = content-box;
- 컨텐트 기준 크기 정한다
- 크기를 지정하면 컨텐트 크기로 적용된다
- 보더값은 크기에 포함되지 않아 전체 크기가 지정 크기보다 커진다
box-sizing = border-box;
- 보더 기준으로 크기가 정해진다
- 크기를 지정하면 contents + border 크기로 적용
- 보더값이 크기에 포함되기 때문에 크기 지정이 용이하다
<div style="color: red">철수</div> <span style="color: blue">영희</span>
<style>
태그에 입력<head> <style> <span> { color: red; } </span> </style> </head> <body> <span>Hello World!!</span> </body>
<link>
태그 사용하여 html과 연결한다<head> <link href="css 파일이름" rel="stylesheet" /> </head>
*
: 전체 선택자tag
: 태그 선택자.class
: 클래스선택자#id
: 아이디선택자tag
-> class
-> id
순으로 우선순위가 적용된다<!-- CSS 기본 선택자 --> * { color: red; } tag { color: red; } .class { color: red; } #id { color: red; } 선택자:가상상황 { background-color: red; }
flex-dirextion : column;
flex-direction : row;
position: relative;
- 원래 위치를 기준으로 상대적으로 배치해준다
position: absolute;
- 가장 난해하기 때문에 주의해서 사용해야한다
- 주로 relative와 함께 사용한다
- 배치 기준으로 상위요소(부모)에서 찾는다
- DOM트리를 따라 올라가다가 position 속성이 static이 아닌 첫 번째 상위 요소를 기준으로 삼는다
- 만약 상위 요소에 positon이 static이 아닌 요소가 없다면,
<body>
요소가 배치 기준이 된다- 주로 부모 요소의 display의 속성을 relative로 설정한다
position: fixed;
- 화면을 위아래로 스크롤하더하도 특정부분에 고정되어 움직이지 않도록 한다
- 배치 기준이 자신이나 부모 요소가 아닌 뷰포트, 즉 브라우저 전체 화면이기 때문에 이렇게 작동하게 된다
position: sticky;
- 화면에 끈적하게 붙어서 움직이지 않는 것
- 스크롤을 하더라도 붙어서 움직이는 것