서버 (3)
2024-06-16 10:43:49

본 내용은 "생활코딩! HTML + CSS + 자바스크립트" 책을 통해 학습했음.

CSS란?

 웹 페이지를 좀 더 아름다우면서 보기 좋은 형태로 만들기 위한 언어로 글씨의 색깔을 바꾸는 기능을 예로, 기존에 하나하나 바꿔야하는 불편함에서 벗어나도록 도와준다. 이는 HTML이 정보 전달에만 전념하도록 HTML으로부터 디자인에 대한 기능을 빼앗아 왔다고 표현할 수 있다.

 

 HTMl과 CSS는 완전히 다른 언어이므로 웹 페이지에 CSS를 포함시킬 때, 웹 브라우저로 하여금 어디서부터 어디까지가 CSS인지 알려줘야 한다.

 

웹 페이지에 CSS를 삽입하는 방법

 웹 페이지에 CSS를 삽입하는 방법은 2가지가 있는데, 하나는 태그를 사용하는 것이고 나머지 하나는 속성을 쓰는 것이다.

 

1. 태그 사용

 먼저 <style> 태그를 추가한다. 이 태그는 기본적으로 HTML 문법이지만, 태그 안쪽에 있는 내용은 CSS이므로 CSS의 언어 문법에 맞게 처리해야 한다.

#기본코드
<style>
    (대상) {
    color : red;
    }
    
#예시코드
<style>
    a {
    color : red;
    }
</style>

 

 이러한 코드를 이 웹 페이지에 주고 싶은 효과를 누구에게 줄 것인가를 선택한다는 점에서 선택자(selector)라고 한다. 그리고 선택자에 지정될 효과를 효과 혹은 선언(delaration)이라고 부른다.

 

 아래 코드가 <style> 태그의 기본 예시이며, 안쪽에 있는 내용은 "모든 <a> 태그에 대해서 폰트 색상이 빨간색"이라는 의미를 가진 CSS 코드이다.

 

2. 속성 이용

 우선 코드부터 살펴보도록 하겠다.

<a href = "2.html" style = "color : red">CSS</a></li>

 

 style = ""은 HTML의 속성이다. 그리고 style이라는 속성은 값으로 반드시 CSS 효과가 들어온다고 약속되어 있다.

 

 

기본적인 기능 알아보기

 

1. CSS를 이용해 링크에 밑줄 없애기

<style>
    (대상) {
    text-decoration : none;
    }
</style>

 

 추가로 알아야할 점은, 각 줄의 끝에 세미콜론(;)을 붙여 각 줄을 구분해야 한다는 것이다.

 

1-2. 현재 선택된 웹 페이지만큼은 링크에 밑줄을 긋고 싶다면

...생략...
<a href = "2.html" style = "color : red; text-decoration : underline;">CSS</a>
...생략...

 

2. 정렬 및 크기 변경

<style>
    h1 {
    font-size : 45px;
    text-align : center;
    }
</style>

 

 위 코드를 해석하면, 폰트 사이즈는 45픽셀, 위치는 중앙으로 한다는 뜻이다. 정렬 방식은 center 말고도 left, right 등이 있다.

 

3. 

 

 

박스 모델이란?

 제목, 목차, 본문과 같이 각 요소들을 깔끔하게 정리할 수 있게끔 선을 그어주는 작업을 하기 위해 알아야할 선행 학습이다.

 

기본적인 기능 알아보기

 

1. 구역을 나눌 태그에 테두리 그리기

<style>
    (대상1) {
    border-width : 5px;
    border-color ; red;
    border-style : solid;
    }
    (대상2) {
    border-width : 5px;
    border-color ; red;
    border-style : solid;
    }
</style>

 

※HTML에 있는 여러 태그들은 태그의 성격과 일반적인 쓰임에 따라 화면 전체를 쓰는 것이 편한 것과 자신의 크기만큼의 부피를 갖는 게 편한 것이 있기 때문에 화면 전체를 쓰는 태그가 있고, 자기 크기만큼 쓰는 것들이 있다. 그래서 화면 전체를 쓰는 태그들을 블록 레벨 엘리먼트, 자기 자신의 컨텐츠 크기만큼 쓰는 태그들을 인라인 엘리먼트라고 한다. 태그 안에 display : block; 을 사용하면 블록 레벨 엘리먼트, display : inline; 을 사용하면 인라인 엘리먼트가 된다.

 

2. 코드의 중복 제거

 위 코드의 {} 안에 중복된 부분이 존재하므로 이를 줄일 수 있다.

<style>
    (대상1, 대상2) {
    border-width : 5px;
    border-color ; red;
    border-style : solid;
    }
</style>

 

 하지만 여전히 중복이 존재하는데, 바로 border- 부분이다. 이 또한 줄일 수 있다.

<style>
    (대상1) {
    border : 5px solid red;
    }
</style>

 

 5px, solid, red 의 순서는 중요하지 않다.

 

3. 콘텐츠와 테두리 사이에 여백 추가하기

<style>
    (대상) {
    border : 5px solid red;
    padding : 20px;
    }
</style>

 

 padding 의 크기에 따라 콘텐츠와 테두리 사이의 간격이 결정된다.

 

4. 테두리와 테두리 사이의 간격 없애기(3번에서 다룬 콘텐츠와 같은 콘텐츠를 추가했다고 가정한다.)

 각 테두리 사이에 여백이 존재하게 되는데, 이는 margin 떄문이다. 다음 코드를 추가하면 마진이 사라진다.

<style>
    (대상) {
    border : 5px solid red;
    padding : 20px;
    margin : 0px;
    }
</style>

 

5. width 속성을 지정하여 태그의 크기 변경

<style>
    (대상) {
    border : 5px solid red;
    padding : 20px;
    margin : 0px;
    display : bolck;
    width : 100px;
    }
</style>

 

※웹 페이지에서 'CSS' 텍스트를 대상으로 마우스 우클릭하면 '검사'라는 항목이 나온다. 이를 클릭하면 개발자 도구가 나오는데, 이를 이해하고 활용하면 border, margin 등의 영역을 확인할 수 있다.

 

박스 모델 활용하기

 

1. <h1> 태그 아래쪽 테두리 만들기

<style>
    h1 {
    font-size : 45px;
    text-align : center;
    border-bottom : 1px solid gray;
    }
</style>

 

1-2. <h1> 태그의 margin 값 지정하기

1-3. <h1> 태그의 padding 값 지정하기

 

2. <ol> 태그에 오른쪽 테두리 만들기

<style>
    ol {
    border-right : 1px solid gray;
    }
</style>

 

2-2. <ol> 태그의 width 지정

2-3. <ol> 태그의 margin 값 지정

2-4. <ol> 태그의 padding 값 지정

 

※어떤 태그의 테두리를 만드냐에 따라 border- 값이 바뀐다. 또한 width, margin 등의 값을 변경하여 깔끔하고 보기 좋은 형식을 만들 수 있다.

 

 

그리드란?

 사전적 의미로 '격자무늬' 또는 '격자판'을 의미하며, 디자인에서는 일정한 영역을 정하는 것을 의미하고 있다. 우리는 이 그리드를 사용하여 목록과 본문이 나란히 위치하는 디자인을 할 것이다.

 

기본적인 기능 알아보기

 

1. <div> 태그로 묶기

<body>
    <div>내용1</div>
    <div>내용2</div>
</body>

 

※여기서 <div> 태그는 디자인을 하기 위한 목적으로 사용하는 목적없는 태그이다.

 

2. 부피감을 확인하기 위해 <div> 태그에 테두리 지정

<style>
    div {
    border : 5px solid gray;
    }
</style>

 

3. 두 개의 <div> 태그를 감싸는 부모 태그 추가(두 내용을 나란히 놓기 위해)

<body>
    <div>
    	<div>내용1</div>
    	<div>내용2</div>
    </div>
</body>

 

4. 부모 태그의 id 값 설정, 테두리를 분홍색으로 변경

<style>
    #grid {
    border : 5px solid pink;
    }
    
    div {
    border : 5px solid black;
    }
    
...생략...
    
<body>
    <div id = "grid">
    	<div>내용1</div>
    	<div>내용2</div>
    </div>
</body>

 

5. 두 개의 태그를 나란히 배치하기

...생략...
#grid {
    border : 5px solid pink;
    display : grid;
    grid-temperate-columns : 150px 1fr;
    }

 

※150px 1fr 부분을 1fr 1fr 로 바꾸면 두 칼럼의 크기는 같아지게 된다. 2fr 1fr로 바꾸면 전체를 3fr이라고 했을 때, 좌측 영억은 2만큼, 우측 영역은 1만큼 화면 전체를 나눠서 쓰게 된다.

 

 

반응형 디자인

 화면 크기에 따라 웹 페이지의 각 요소들이 반응해서 동작하게 된다는 것

<style>
    @media(min-width : 800px) {
    (대상) {
    display : none;
    }
    }
</style>

 

 화면의 크기가 800px보다 작으면 <div>가 사라진다. min-width 를 max-width로 바꾸면 반대로 작동한다.

2024-06-14 16:45:44

본 내용은 "생활코딩! HTML + CSS + 자바스크립트" 책을 통해 학습했음.

HTML 이란?

 웹 페이지의 구조를 정의하고, 텍스트, 이미지, 링크 등 다양한 요소를 포함하여 웹 콘텐츠를 작성하고 표시하는 언어

 

웹 페이지란?

 인터넷을 통해 접근할 수 있는 문서로, 텍스트, 이미지, 비디오, 링크 등 다양한 콘텐츠를 포함하여 웹 브라우저에서 표시되는 디지털 문서

 

태그란?

 태그는 HTML 문서에서 요소의 시작과 끝을 표시하는 기호로, <태그이름> 형식으로 작성되며, 요소의 속성과 내용을 정의한다. 예를 들어, <p>는 단락을 시작하고 </p>는 단락을 종료한다. <br> 태그처럼 단락을 종료하지 않고 단락을 시작하기만 하는 태그도 있기에 사용할 태그의 형식을 어느정도 알아야 한다.

 

HTML 기본 양식

 HTML은 기본적으로 <head>와 <body> 로 나뉘며, 이를 <html> 태그로 묶어준다. 즉, <head>는 본문을 설명을 작성하고, <body>는 본문의 내용을 작성하며 이 모두를 <html>로 감싸주는 것이다. 추가로 <html> 상단에 <!DOCTYPE HTML> 을 작성해주는데, 이는 이 문서에 HTML이 담겨 있다는 관용적인 의미로 쓰인다.

<!DOCTYPE HTML>
<html>
    <head>
    "본문에 대한 설명"
    </head>
    
    <body>
    "본문"
    </body>
</html>

 

 

기본적인 태그 알아보기

 

1. <title> 태그

 일반적으로 <head> 태그에 작성하며, 작성한 값이 웹 페이지의 이름이 된다.

 

2. <meta> 태그

일반적으로 <head> 태그에 작성하며, HTML 문서의 정보를 제공하는 태그로, 문자 인코딩, 작성자, 페이지 설명, 키워드 등을 설정하는 데 사용한다.

<head>
    <title>WEB1 - HTML</title>
    <meta charset="utf-8">
</head>

 

3. <strong> 태그

 글씨를 강조하는 역할을 한다.

<strong>강조할 문장</strong>

 

4. <h1>, <h2>, ... <h6> 태그

 제목의 크기를 결정하는 태그로 숫자가 커질수록 크기가 작아진다.

<h1>제목1</h1>
<h2>제목2</h2>
.
.
.

 

5. <u> 태그

 선택한 글씨에 밑줄을 그어준다.

<u>밑줄 그을 문장</u>

 

6. <br> 태그

 문장이나 단락 사이에 강제적으로 줄을 바꿀 때 사용한다.

문장1<br>문장2

단락1<br>단락2

 

7. <p> 태그

 단락을 나눌 때 사용한다.

<p>문장</pr>

 

8. <img>

 웹 페이지에 이미지를 띄울 수 있다.

<img src = "이미지 이름" width = "배율(%)">

 

9. <li>, <ol>, <ul> 태그

<li> 태그는 목록 항목을 정의할 때 사용하는 태그로, 순서가 있는 목록(<ol>)이나 순서가 없는 목록(<ul>) 내에서 사용된다. 여기서 <li> 태그를 자식 태그, <ol>과 <ul> 태그를 부모 태그라 한다.

<ol>
    <li>목차1</li>
    <li>목차2</li>
    .
    .
    .
</ol>

<ul>
    <li>목차1</li>
    <li>목차2</li>
    .
    .
    .
</ul>

 

10. <a> 태그

 링크를 추가할 수 있다.

<a href = "주소" target = "_blank" title = "링크 설명"></a>

 

 

전체 코드는 https://github.com/NamkKungGeon/my-first-web-site 에서 확인할 수 있음. 내가 만든 웹 페이지는 다음에서 https://namkkunggeon.github.io/my-first-web-site/index.html확인할 수 있음.(오류 때문에 뜨지 않을 수 있음.) 웹 페이지에서 뒤에 index.html 을 지우고 검색해도 똑같은 페이지가 나옴. 단, 댓글창에 달린 댓글은 다름. 왜 그런지 이유를 모르겠음.

 

 

vscode 설치와 기본 설정에 대해서 다음 유튜브 영상을 참고하였음:

https://youtu.be/2mBbZG9vVtE?si=iAVf1QPEXmuQ2zPP

2024-06-12 19:33:23

Application Programming Interface

한 프로그램에서 다른 프로그램으로 데이터를 주고 받기 위한 방법

 

API에서 필요한 3가지

 

method/endpoint/parameter

 

1. method_요청방식(데이터를 받을 것인지, 보낼 것인지)

 

2. endpoint_무슨 자료를 요청할 것인지

 

3. parameter_자료 요청에 필요한 추가 정보

 

※웹의 경우 REST API라는 원칙에 따라 작성하면 좋음

 

DATABASE 관리프로그램 API 를 사용하여 DB 입출력 기능들 사용 가능

 

 

https://youtu.be/ckSdPNKM2pY?si=3VbF2DMYpcwJ7MdM