HTML파일에 필요한 최소한의 태그는 아래와 같다.
<html>
<head>
<body>
HTML에서는 이미지나 텍스트를 그려주려면 그에 맞는 태그가 필요하다.
태그는 아래처럼 <>
으로 감싸져 있습니다.
<태그이름>내용</태그이름>
대부분의 태그는 시작하면 꼭 끝맺음을 해야한다.
아래의 태그는 시작과 끝 태그가 존재합니다.
<p></p> <h1></h1> <h2></h2> <a></a>
반면에 시작과 동시에 종료되는 태그도 있다.
<img> <br>
참고자료)
https://www.w3schools.com/tags/tag_a.asp
아래에서 div
, a
, img
는 태그이고 class
, href
, src
, alt
는 속성입니다.
<div class="title">시작!</div> <a href="https://naver.com">네이버로 이동</a> <img src="./me.png" alt="내사진">
참고자료)
https://www.w3schools.com/html/html_attributes.asp
<태그이름> 으로 시작하여 </태그이름> 으로 끝나고 태그 사이에 내용이 있는 구조를 요소라고 합니다.
끝 태그가 필요없는 것은 태그가 그 자체가 요소
<h1>시작!</h1>
<img src="me.png">
html 파일의 구조
<!DOCTYPE> <html> <head> </head> <body> </body> </html>
<html>
<html></html>
으로 감싸지게 된다.(<!DOCTYPE>을 제외)<head>
<head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>repl.it</title> </head>
<head>
태그가 위치<meta charset="utf-8">
: 한글, 일본어, 중국어가 포함된 페이지라면 utf-8 이라는 값으로 문자 인코딩필요.<meta name="viewport" content="width=device-width">
: 디바이스의 가로 크기 = 웹 페이지 가로 (모바일에서 웹사이트가 예쁘게 잘 보이려면 추가해야 하는 정보입니다.)<title>repl.it</title>
: 브라우저 탭에 보이는 페이지 이름<body>
<h1>
, <h2>
, <h3>
, <h4>
, <h5>
<h5>자기소개</h5> <h1>오늘의 수업 내용</h1> <h2>중요한 태그들..</h2>
<span>
<span>
태그에는 주로 텍스트를 넣어줍니다.<span>
을 사용하면 줄이 바뀌지 않고, 한 줄에 이어서 나오게 됩니다.inline-element
라고 합니다.<span>이름: 김개발</span> <span>직업: 프론트앤드 개발자</span>
<p>
<p>
태그 또한 텍스트를 주로 넣어줍니다.<p>
는 paragraph 의 줄임말<p>
태그는 <span>
태그와 달리 줄바꿈이 일어납니다.<p>tag들 파헤치기!!</p> <p>아자!!</p>
<a>
<a>
태그는 클릭하면 화면이 이동합니다.<a>
태그의 href
속성(attribute
)에 이동해야 하는 주소를 써주면 됩니다.target
속성에 "_blank" 값은 클릭하면 새창으로 뜨게 해주는 값입니다. (target="_blank"
)<a href="https://www.w3schools.com/tags/tag_div.asp" target="_blank">a 태그?</a>
<div>
<div>
는 division의 줄임말로웹사이트에서 섹션을 나눌 때
<div>
를 사용하는 이유는,
<div>
에 class
나 id
라는 attribute
를 부여하여 css 스타일을 입혀줄 수 있음 (예를 들어 헤더, 메뉴, 주요 내용, 푸터.. 이렇게 나누어 div로 묶어서 관리)a
는 tag 이름이고href
는 attribute(속성) 이름이며,<a href="https://google.com">구글로 이동</a>
id
는 각 태그에 이름을 주는 속성id
이름은 오직 하나id
는 해당 요소에만 넣고 싶은 디자인을 적용할 때 사용class
도 태그에 이름을 주는 속성입니다.class
는 여러 태그에 중복된 이름을 부여할 수 있음<div id="profile" class="content-wrap"></div> <img src="./hi.png" alt="내사진" >
CSS란 HTML 태그들에 디자인을 입혀주는 것입니다.
css를 작성한 후 HTML에 적용되도록 반영 하는 방법은 3가지가 있음.
태그 style 속성에 직접 작성할 수 있습니다.
<h1 style="color: red;">FRONTEND 101</h1>
장점:
단점:
html 파일 내에 css를 작성할 수 있는 방법입니다.
<style>
사이에 css문법을 사용하여 스타일을 작성합니다.
<style> h2 { color: #408090; } </style>
장점:
단점:
html 파일과 분리하여 css파일에 따로 작성하는 방법입니다.
<link href="style.css" rel="stylesheet" type="text/css" />
link
— link태그로 사용할 css파일을 링크해줍니다.href
— href 속성에 css 파일 경로를 작성합니다.type
— link태그로 연결되는 파일이 어떤 것인지 알려줍니다. 여기서 css file을 연결하므로 type값은 항상 "text/css"입니다.rel
— rel은 HTML file과 CSS file과의 관계를 설명하는 속성입니다. css파일을 링크할 때는 항상 "stylesheet"값을 대입해줍니다.디자인을 적용할 선택자(selector
)를 지정하고, 어떤 디자인을 적용할지 작성합니다.
selector
(선택자)는 여러 종류가 올 수 있습니다.
태그이름도 올 수 있고, class
이름도, id
이름도 올 수 있습니다.
모든 p태그의 글씨 크기가 12픽셀로 적용됩니다.
p { font-size: 12px; }
selector
가 태그였을 때는 단순히 태그이름만 적어주었습니다.
그런데 클래스에 디자인을 적용하고 싶을 때는 selector
에 .
(dot)이 필요합니다.
아래와 같이 .
(dot)클래스이름 이라고 selector
를 작성해주어야 합니다.
.profile-detail { font-weight: bold; }
id
에 디자인을 적용하고 싶을 때는 selector
에 #
이 필요합니다.
아래와 같이 id
이름 앞에 #
을 붙여 selector
를 작성해주어야 합니다.
해당 id
의 요소만 스타일이 적용됩니다.
#profile {
border-width: 1px;
border-color: black;
border-style: solid;
text-align: center;
}
font-family
는 폰트 스타일을 지정하는 속성입니다.
#title { font-family: Georgia, "Times New Roman", Times, serif; }
주의) "Times New Roman"만 ""(쌍따옴표)로 감싸져 있는데, 폰트 이름에 띄워쓰기가 되어있으면 ""(쌍따옴표)를 사용해야합니다.
사용자가 어떤 브라우저를 사용할지 모르기 때문에 font-family 값에는 보통 여러가지 폰트를 나열
serif같은 폰트는 모든 브라우저에서 지원하는 폰트입니다.
.big-size-font { font-size: 50px; }
font-size
는 폰트의 크기를 지정해 줍니다.h1 { font-size: 30px; } .big-size-font { font-size: 50px; }
.bold-font {
font-weight: bold;
}
font-weight
는 글씨 두께를 조절하는 propertya { font-style: italic; }
font-style
을 이용하여 글씨 스타일을 바꿀 수 있습니다.
.pink { color: pink; } .yellow { color: yellow; }
color
라는 property는 글씨 색깔을 변경해줍니다.h1 { color: #eb4639; } h1 { color: rgb(235, 70, 57); } h1 { color: hsl(4, 82%, 57%); }
property 이름은 text-align
이고 값은 left(왼쪽정렬), center(가운데 정렬), right(오른쪽정렬)입니다.
.left { text-align: left; } .center { text-align: center; } .right { text-align: right; }
text-indent
을 이용하여 들여쓰기도 할 수 있습니다.
.js-description { text-indent: 50px; }
참고1.
blockquote
태그는 인용구문을 넣을 때 사용
참고2.
스페이스 =
<p>스페이스 넣는 예제</p>
위의 그림을 해석해보자면,
p.example { width: 273px; height: 90px; margin: 50px; border: 5px solid black; padding: 50px; }
p.example { margin: 50px; }
위의 css를 풀어쓰면 아래와 같습니다.
p.example { margin: 50px 50px 50px 50px; }
순서대로 위, 오른쪽, 아래, 왼쪽의(시계순서로 이해하면 될 듯) 여백 값
한 번 더 풀어쓰면..
p.example {
margin-top: 50px;
margin-right: 50px;
margin-bottom: 50px;
margin-left: 50px;
}
padding도 margin과 작성이 비슷
p.example { padding: 50px; }
p.example { padding: 50px 50px 50px 50px; }
p.example { padding-top: 50px; padding-right: 50px; padding-bottom: 50px; padding-left: 50px; }
border(테두리) 스타일
p { border: 5px solid red; }
아래의 순서입니다.
border: 두께 선스타일 선색깔;
선 스타일의 종류입니다.
blockquote { border-top: 4px double red; border-right: 2px solid #666666; border-bottom: 6px dashed darkviolet; border-left: 1px dotted #00ee44; }
참고.
밑줄을 칠때는 text-decoration: underline; 으로 할 수있지만, 밑줄의 두께나 색깔 등, 완벽하게 커스터마이징 하기가 어려움.
그레서 border-bottom으로 내가 원하는 스타일로 밑줄을 치는 것을 선호 함.
개발의 편의성을 위해서 새로운 CSS 프로퍼티를 만들었습니다.
.new { box-sizing: border-box; }
- 보이는대로 width 값을 주고,
- 안 쪽으로 padding을 준다.
- 거의 대부분의 웹페이지에 box-sizing 프로퍼티를 기본적 적용
"*" selector로 모든 태그에 적용할 수 있습니다.
* { box-sizing: border-box; }
이 태그에, 저 태그, 이 클래스에.. 같은 스타일을 적용하고 싶을때는 아래와 같이 한꺼번에 스타일을 지정할 수 있다.
.what-is-blockquote, span { color: green; }
Selector 는 다양하게 표현 가능하며, 우선순위가 있다. selector표현과 우선순위에 대해 조금 더 깊게 배워보는 시간입니다.
class나 id가 selector일때 태그와 결합할 수 있음
p.p-tag { color: gray; } p#third-line { text-decoration: underline; }
- 첫 번째는 p태그이면서 p-tag class이다.
- 두 번째는 p태그이면서 third-line id.
.pre span { background-color: yellow; }
"pre" 클래스 내부에 있는 span이라는 뜻입니다.
selector의 우선순위는:
tag <<<<< class <<<< id <<<<<< inline css
Wecode tip:
복잡하기 때문에 거의 대부분의 요소에 class를 부여하고 class를 selector로 styling
<img>
태그로 이미지 넣기이미지를 웹 사이트에 추가하는 방법 중 가장 많이 쓰이는 방법은 img 태그를 사용
<img alt="HTML" src="https://www.w3schools.com/whatis/img_js.png">
이미지 크기 조절하는 법:
img { width: 150px; }
가로 혹은 세로 값만 입력해도 브라우저에서 알아서 같은 비율로 나머지 크기도 조정해줌.
이미지를 넣는 두번째 방법은 css를 이용해 이미지를 생성하는 법
bg-img 클래스에 배경이미지를 넣는 css를 추가한 것입니다.
.bg-img { background-color: yellow; background-image: url("https://upload.wikimedia.org/wikipedia/commons/thumb/6/61/HTML5_logo_and_wordmark.svg/1280px-HTML5_logo_and_wordmark.svg.png"); }