์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array ๊ฐ์ฒด
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
- Today
- In Total
A Joyful AI Research Journey๐ณ๐
[8] 230106 Ch. 7 HTML๊ณผ CSS๋ก ์น์ฌ์ดํธ ๋ง๋ค๊ธฐ: ์น ์ฌ์ดํธ ์์ฑ, HTML ๋ฌธ์ · CSS ํ์ผ ์์ฑํ๊ธฐ, ์์ฑ๋ ํ์ด์ง ๋ณด๊ธฐ [K-๋์งํธ ํธ๋ ์ด๋ 8์ผ] ๋ณธ๋ฌธ
[8] 230106 Ch. 7 HTML๊ณผ CSS๋ก ์น์ฌ์ดํธ ๋ง๋ค๊ธฐ: ์น ์ฌ์ดํธ ์์ฑ, HTML ๋ฌธ์ · CSS ํ์ผ ์์ฑํ๊ธฐ, ์์ฑ๋ ํ์ด์ง ๋ณด๊ธฐ [K-๋์งํธ ํธ๋ ์ด๋ 8์ผ]
yjyuwisely 2023. 1. 6. 12:39230106 Fri 8th class
Ch. 6 CSS ๋ ์ด์์๊ณผ ์ ๋๋ฉ์ด์
(์ฃผ์ ๋ณ๋ก ๋ฌถ๊ธฐ ์ํด ์๋ซ๊ธ๋ก ๊ธ ๋ด์ฉ ์ฎ๊น.)
Ch. 7 HTML๊ณผ CSS๋ก ์น์ฌ์ดํธ ๋ง๋ค๊ธฐ
์ง๋: p. 221 ~ (๊ต์ฌ: HTML5 + CSS3 + JavaScript๋ก ๋ฐฐ์ฐ๋ ์นํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด, ์ ์: ์ฒ์ธ๊ตญ)
์ค๋ ๋ฐฐ์ด ๊ฒ ์ค ๊ธฐ์ตํ ๊ฒ์ ์ ๋ฆฌํ๋ค.
์ง๋ ์์ ์์ ๋ฐฐ์ด ๊ฒ ์ค ๋ค์ ๊ธฐ์ตํ ๊ฒ:
- ๋ง์ฐ์ค ์ฌ๋ ธ์ ๋ ํ
์คํธ ๋จ๊ฒ ํ๋ ๋ฒ
title : ์ด๋ฏธ์ง ์์ ๋ง์ฐ์ค ํฌ์ธํฐ๋ฅผ ์ฌ๋ ค๋์์ ๋ ํ์ ๋์๋ง์ฒ๋ผ ๋จ๊ฒ ํ๋ค.
- ์์ด๋ ์ ํ์ (#) ์ธ ๋ ๋ถ์ฌ์ ์ด๋ค.
#๋ฅผ ์ฌ์ฉํ๋ค. ํ๋์ ์์๋ง ์ ํํ ์ ์๋ค.
๊ณ ์ ๋ช
์ฌ์ด๋ค. ๋์ผ ์ด๋ฆ์ ์ ๋๋ค.
ex) #special{ color : red }
ex) <h1> ์์ ์ค์์ ์์ด๋๊ฐ "special"์ธ ์์๋ฅผ ์ ํํจ
h1#special { color : blue; }
div#box2{transform:translate(100px,0);background:orange;} /*x์ถ 100px, y์ถ 0๋งํผ ์ด๋*/
- <div> p.76 ์ฐธ๊ณ : <div> ํ๊ทธ
:(Division, divide) ํ์ด์ง๋ฅผ ๋
ผ๋ฆฌ์ ์ธ ์น์
์ผ๋ก ๋ถ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ๊ทธ์ด๋ค.
์น ํ์ด์ง์ ๊ณต๊ฐ์ ๋ถํ ํ์ฌ ๋ ์ด์์์ ์์ฑํ๋ ๋ฐ ์ฃผ๋ก ์ฐ์ธ๋ค.
๊ฐ์์ ๋ ์ด์์์ ์ค๊ณํ๋๋ฐ ์ฐ์ด๋ฉฐ, ์ฃผ๋ก CSS์ ์ฐ๋ํ์ฌ ์ฐ์ธ๋ค.
- ์ฌ๋ฌ ํ๊ทธ๋ฅผ ํ ๋ฒ์ ๋ฌถ์ด์ ์ฎ๊ธฐ๋ ์ญํ ์ ํ๋ค.
- ๋ธ๋ก ์์ค์ ์์๋ก์ ํ๋์ ์ค์ ์ ๋ถ ์ฐจ์งํ๋ค.
- ์ค ๋ฐ๊ฟ์ด ๋๋ค.
ex) ๊ตฌ์ฑ ์์
- [p์์](๋ฌธ๋จ(Paragraph)์ ํ์): ๋ค์ด๋ฒ ์์ ํธ๋ฆฌ ์ด์ฉ
- [<button>]: naver ๋ก๊ทธ์ธ
- [<a>(์์ด๋)] [<a>(๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ)] [<a>(ํ์๊ฐ์ )]
- [[๋ก๊ณ ] [๊ฒ์์ด๋ฅผ ์
๋ ฅ] [๋ฒํผ]]
- ์๋ฏธ์ ์์(Semantic elements)๋ฅผ ์ด์ฉํ ๋ ์ด์์ p.216
<div id="header"> ๋์ ์ <header> ๊ฐ์ ๋ ์ง๊ด์ ์ธ ํ๊ทธ๋ฅผ ์ฌ์ฉํ๋ค.
- Table ์์ฑ ์ฌ์ฉ์ผ๋ก ์นธ ๊ฐ๊ฒฉ ๋์ผํ๊ฒ ํ๋ ๋ฐฉ๋ฒ
๋ถ๋ชจ์์ ํ๊ทธ:
display: table;
table-layout: fixed;
์์์์ ํ๊ทธ :
display: table-cell;
- ์ด๋ฏธ์ง ํฌ๊ธฐ ์กฐ์
2022.12.30 - [1. Revision 2023/HTML5] - [3] 221230 Ch2 HTML5 ๊ธฐ๋ณธ ์์
- width = "150" height = "150"์ฒ๋ผ ์ซ์ ๋ณ๊ฒฝํ๋ฉด์ ์ด๋ฏธ์ง ํฌ๊ธฐ ์กฐ์ ๊ฐ๋ฅํ๋ค.
<img src="image/Nasa2.jpg" width="50" height="50"/>
- ๋น๊ฒ์ด์
๋ฐ p.180 ๋ฉ๋ด ๋ง๋ค๊ธฐ
display:inline;/* block ์์ -> inline ์์๋ก ๋ณ๊ฒฝ, ์ํ์ผ๋ก ๋๋ค. */
text-transform:uppercase; /*์ ์ฒด ๋๋ฌธ์*/
padding:0 10px; /*์ํ ํจ๋ฉ: 0 ํฝ์
, ์ข์ฐ ํจ๋ฉ: 10 ํฝ์
, ๋จ์ด์ ๋จ์ด ์ฌ์ด์ ๊ฐ๊ฒฉ์ด ๋ฒ์ด์ง๋ค.*/
letter-spacing:10px; /*์ํ๋ฒณ๊ณผ ์ํ๋ฒณ ์ฌ์ด์ ๊ฐ๊ฒฉ์ด ๋ฒ์ด์ง๋ค.*/
- ์ธ๋ถ ์คํ์ผ ์ํธ (External style sheet)
2023.01.03 - [1. Revision 2023/CSS3] - [5] 230103 Ch4 CSS3 ์คํ์ผ ์ํธ ๊ธฐ์ด
<link rel="stylesheet" type="text/css" href="css/mystyle.css"/>
css ํด๋์ ์์นํ๋ค.
<link> ์์๋ฅผ ์ฌ์ฉํ๋ฉฐ ํค๋ ๋ถ๋ถ์ ์์ด์ผ ํ๋ค.
type ๋ค์๋ ์ธ๋ถ ํ์ผ์ ์ข
๋ฅ๋ฅผ ์ ์ ์๋ค. type ="text/css"
rel(relationship)์ HTML ํ์ผ๊ณผ ์ธ๋ถ ํ์ผ๊ณผ์ ๊ด๊ณ๋ฅผ ๋ํ๋ธ๋ค. rel="stylesheet"
href์ ์ธ๋ถํ์ผ์ ์์น๋ฅผ ์ ์ด๋๋ค. href="css/outter_CSS.css"
์์)
<head>
<meta charset="UTF-8">
<title>์ธ๋ถ ์คํ์ผ ์ํธ (External style sheet)</title>
<link type ="text/css" rel="stylesheet" href="css/outter_CSS.css">
</head>
Ch. 7 HTML๊ณผ CSS๋ก ์น์ฌ์ดํธ ๋ง๋ค๊ธฐ
์ฑ ์ ๋ชฉ์ฐจ
-์น์ฌ์ดํธ ์์ฑ
-HTML ๋ฌธ์ ์์ฑํ๊ธฐ
-CSS ํ์ผ ์์ฑํ๊ธฐ
-์์ฑ๋ ํ์ด์ง ๋ณด๊ธฐ
1. ์น ์ฌ์ดํธ ์์ฑ p. 242
1.1 ์๊ตฌ ์ฌํญ ๋ถ์
๊ฐ์ฅ ๋จผ์ ํด์ผ ํ ์ผ์ ์น์ฌ์ดํธ์ ๋ชฉํ๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ์ด๋ค. ๋ฌด์์ ์ํ ์ฌ์ดํธ์ธ์ง๋ฅผ ๋ถ๋ช ํ๊ฒ ํด์ผ ์ํ์ฐฉ์ค๋ฅผ ์ค์ผ ์ ์๋ค.
- ์น ์ฌ์ดํธ์ ๋ชฉํ
- ์์ฐ
- ์ผ์
1.2 ์ค๊ณ(Plan)
๋ค์ ์ฌํญ์ ๊ฒฐ์ ํ๋ค.
- ์น ์ฌ์ดํธ์ ๊ธฐ๋ฅ ๋์ด
- ์น ์ฌ์ดํธ์์ ํ์ํ ์น ํ์ด์ง ๋์ด
- ์น ์ฌ์ดํธ์ ๋ฉ๋ด ๋์ด
- ๋ด๋น๊ฒ์ด์ ๊ตฌ์กฐ ๊ฒฐ์ : ์ฌ์ดํธ ์์์ ํ์ด์ง๊ฐ ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋๋์ง๋ฅผ ๊ฒฐ์ ํ๋ค.
ex) HOME / ABOUT US / NEWS / MY ACCOUNT / CONTACTS
HOME ๋ฐ์ ์ผํ ์นดํธ ๋ณด๊ธฐ, ํ์ ๊ฐ์
, ๋น๋ฐ๋ฒํธ ๋ถ์ค์ด ์๋ค
์๋ HTML ๋ฌธ์์ CSS ๋ฌธ์๋ฅผ ์์ฑํ๊ฒ ๋๋ค.
- index.html: Webshop์ ํ ํ๋ฉด, ์ํ ์นดํ
๊ณ ๋ฆฌ, ๋ก๊ณ , ๋ก๊ทธ์ธ ๋ฑ์ด ํฌํจ๋์ด ์๋ค.
- register.html: ํ์ ๊ฐ์
ํ๋ฉด, ๋ค์ํ html5 ์
๋ ฅ ์์์ ์ด์ฉํด ๋ณธ๋ค.
- shopcart.html: ํ์ฌ ์ผํ ์นดํธ์ ๋ค์ด ์๋ ์ํ์ ๋ณด์ฌ์ค๋ค.
- computer.html: index.html ํ๋ฉด ์์ ํฌํจ๋๋ค. ์ปดํจํฐ ์ํ์ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด์ด๋ค.
- clothing.html: index.html ํ๋ฉด ์์ ํฌํจ๋๋ค. ์๋ฅ ์ํ์ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด์ด๋ค.
- music.html: index.html ํ๋ฉด ์์ ํฌํจ๋๋ค. ์์
ํ์ผ์ ํ๋งคํ๋ ํ๋ฉด์ด๋ค.
- movie.html: index.html ํ๋ฉด ์์ ํฌํจ๋๋ค. ์ํ ํ์ผ์ ํ๋งคํ๋ ํ๋ฉด์ด๋ค.
- mystyle.css: index.html์ ๋ํ ์คํ์ผ์ ๊ฐ์ง๊ณ ์๋ ํ์ผ์ด๋ค.
* p.247
target์ ์ง์ ํ์ฌ์ ๋งํฌ๋ฅผ ํด๋ฆญํ๋ฉด ์๋ก์ด ํ์ด์ง๊ฐ target์์ ์คํ๋๋ค.
a target="iframe1" href="computer.html"> ์ปดํจํฐ </a>
* p. 262
๋ง์ฐ์ค๋ฅผ ๋ด๋น๊ฒ์ด์
์ ์ฌ๋ ธ์ ๋ ๊ธ์๋ฟ๋ง ์๋๋ผ ํ ์ค ์ ์ฒด๊ฐ ์ ํ๋๋ค.
a:hover{display: block} /*๊ธ์ ๋ฟ๋ง ์๋๋ผ ํ ์ค ์ ์ฒด๊ฐ ์ ํ๋๋ค. */
/*์์ฒ๋ผ ๋ธ๋ก ์์๋ก ๋ณ๊ฒฝํด์ผ๋ง์ด ์ ์ฒด์ ๋ฐฐ๊ฒฝ์์ด ๋ณ๊ฒฝ๋๋ค.*/
* a์ a:hover๋ฅผ ๋ฐ๋ก ์ง์ ํ๋ค.
a{text-decoration:none; color:white;}
a:hover{display: block; text-decoration:none; color: white; background-color:red;}
* ํฐํธ ์ฌ์ด์ฆ ์ ์๋์ ์ฌ๋ฐฑ:
line-height:28px;
- ์ํ ์ ๋ณด ํ์ด์ง p. 253
computer.html
<body>
<div id="product1">
<img src="computer.png" alt="์ปดํจํฐ ์ด๋ฏธ์ง" width="100" height="100">
<p> ์ฌํํ๊ณ ์ฌ๋ฆผํ ๋ณธ์ฒด์ ์ฝ์ดi5 3470๊ณผ์งํฌ์ค GT630์ ์ฅ์ฐฉ
CPU: ์ธํ
์ฝ์ดi5 3470 (์์ด๋น๋ธ๋ฆฟ์ง 3์ธ๋) ์ฌ์ฉ<br>
๊ฐ๊ฒฉ: 1,200,000์
</p>
<input type="button" value="์ผํ์นดํธ์ ์ถ๊ฐํ๊ธฐ">
</div>
<div id="product2">
<img src="images/notebook.png" alt="๋
ธํธ๋ถ ์ด๋ฏธ์ง" width="100" height="100">
<p> Full-HD๋ก ์ ๋ช
ํ ํ๋ฉด, ISPํจ๋๋ก ์์ผ๊ฐ๋ ์ข๋ค!
CPU: ์ธํ
์ฝ์ดi7 3630 QM, CPU: ์ธํ
์ฝ์ดi7 3630 QM<br>
๊ฐ๊ฒฉ: 1,200,000์
</p>
<input type="button" value="์ผํ์นดํธ์ ์ถ๊ฐํ๊ธฐ">
</div>
</body>
๊ฒฐ๊ณผ)
- ์์
ํ๋งค ํ์ด์ง p. 253
music.html
<body>
<h4>Save the Last Dance for Me</h4>
<!-- autoplay๋ ์๋์์์ด๋ค. controls๋ ์ ์ด ๋ฒํผ์ ํ๋ฉด์ ๋ณด์ด๊ฒ ํ๋ค. -->
<audio controls autoplay>
<source src="audio/old_pop.mp3" type="audio/mpeg">
<source src="audio/old_pop.ogg" type="audio/ogg">
๋ธ๋ผ์ฐ์ ๊ฐ ์ค๋์ค ์์๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
</audio>
<input type = "button" value = "์ผํ์นดํธ์ ์ถ๊ฐํ๊ธฐ">
</body>
๊ฒฐ๊ณผ)
- ์ํ ํ๋งค ํ์ด์ง p. 254
movie.html
<head>
<meta charset="UTF-8">
<title>movie</title>
<style>h4, video{
padding: 0;
margin: 0;
}</style>
</head>
<body>
<h4>Toy Story 30</h4>
<video width="300" height="200" controls>
<source src="video/movie.mp4" type="video/mp4">
<source src="video/movie.webm" type="video/webm">
๋ธ๋ผ์ฐ์ ๊ฐ ๋น๋์ค ์์๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
</video>
<br>
<input type = "button" value = "์ผํ์นดํธ์ ์ถ๊ฐํ๊ธฐ">
</body>
๊ฒฐ๊ณผ)
- ์ผํ ์นดํธ ํ์ด์ง p. 255 - 257
shopcart.html
<head>
<meta charset="UTF-8">
<title>shop cart</title>
<style>
body{
height: 100%;
background-color: #f3f1e9;
}
table{
width: 100%;
border-collapse: collapse; //ํ
์ด๋ธ์ ๊ฒน์น๋ ๊ฒฝ๊ณ์ ์ ํ๋๋ก ๋ง๋ ๋ค.
text-align: center;
}
table caption{
color: red;
text-decoration: underline;
}
</style>
</head>
<body>
<form action="#">
<table border="1">
<caption>Shopping Cart</caption>
<tr>
<th> ํ๋ชฉ </th>
<th> ๊ฐ๊ฒฉ </th>
<th> ์๋ </th>
<th> ํฉ๊ณ </th>
</tr>
<tr>
<td> ์ปดํจํฐ์ธํธ </td>
<td> 2,000,000์ </td>
<td> <input type="number" min="0" step="1" value ="0"></td>
<td> <input type="text" size="6" value ="0"></td>
</tr>
<tr>
<td> ํฐ์
์ธ </td>
<td> 50,000์ </td>
<td> <input type="number" min="0" step="1" value ="0"></td>
<td> <input type="text" size="6" value ="0"></td>
</tr>
<tr>
<td> ์์
ํ์ผ </td>
<td> 1,000์ </td>
<td> <input type="number" min="0" step="1" value ="0"></td>
<td> <input type="text" size="6" value ="0"></td>
</tr>
<tr>
<td> ์ํํ์ผ </td>
<td> 5,000์ </td>
<td> <input type="number" min="0" step="1" value ="0"></td>
<td> <input type="text" size="6" value ="0"></td>
</tr>
</table> <!-- table ๋ -->
<input type = "button" value = "๊ณ์ฐ" >
<input type = "submit" value = "๊ตฌ๋งค">
<input type = "reset" value = "์ด๊ธฐํ">
</form> <!-- form ๋๋จ -->
</body>
๊ฒฐ๊ณผ)
๊ธฐํ
CCapture.js - A library to capture canvas-based animations
https://github.com/spite/ccapture.js/