4.Front End Development_HTML - YukaKoshiba/MyknowledgeDocs GitHub Wiki
Front End Development_HTML @Japanese Version
Create DateïŒ2024/11/01
Last Update DateïŒ2025/04/22
HTML
ææ³å¶çŽã
çšèªã
åºæ¬æ§æã
HTML宣èšã
ã³ã¡ã³ã
headïŒ
metaã
titleã
ã¬ã€ã¢ãŠãæå®
bodyïŒ
headerã
footerã
main
ãããã©ã€ã³(h)ã
段èœ(p)ã
ç®æ¡æžãã
衚ã
ãã€ããŒãªã³ã¯(a)ã
form/input/buttonã»ãã
ç»åã
SVG
åç»ã
å¥ã®HTMLãåã蟌ãã
ãŠãŒã¶ã®å
¥åãã©ãŒã ãäœæãã
ã³ãŒãã®èšè¿°ã
sectionã
blockquote(åŒçš)ã
aside(äœè«)ã
説æãªã¹ã
JavaScriptãWebããŒãžã«çµã¿èŸŒãã
CSS以å€ã®ã¬ã€ã¢ãŠãã®èšå®
ã·ã§ãŒãã«ããããŒãèšå®ããã ã¹ã¯ãªãŒã³ãªãŒã察å¿ã ãšã¹ã±ãŒãã·ãŒã±ã³ã¹(ç¹æ®æå)
ããŒãžããŒã·ã§ã³æ©èœ>
HTMLã¯WabããŒãžã®åºæ¬ã¬ã€ã¢ãŠãã«åŸã£ãŠãŠã§ãããŒãžã®ã³ã³ãã³ããèšè¿°ãå®çŸ©ãããã®
ïŒWebããŒãžã®åºæ¬ã®éªšæ Œãäœãèšèª
â»å€æ°ã颿°ãæããªããããHTMLã¯èšèªã§ããããããã°ã©ãã³ã°èšèªã§ã¯ãªã
W3C(World Wide Web Consortiumã¯ããŠã§ãæè¡ã®æšæºåãæšé²ããåœéçãªéå¶å©å£äœã§ãvalidator.w3.org
ãŠã§ãããŒãžã®HTMLãXHTMLã³ãŒãããW3Cã®æšæºä»æ§ã«æºæ ããŠãããã©ãã確èªã§ãã
ãã®ä»ãCSSã«é¢ããŠããW3Cã®ãµã€ãã§ç¢ºèªåºæ¥ã(jigsaw.w3.org/css-validator/)
ã»HTMLèŠçŽ ã¯ææžäžã§ã < > å²ãŸããèŠçŽ åã§æ§æããã"ã¿ã°"ã«ãã£ãŠåºå¥ããã
ã»ã¿ã°å
ã®èŠçŽ åã¯ã倧æåãšå°æåã®åºå¥ã¯ãªãããå°æåã§èšèŒããããšãæ
£ç¿å/æšå¥šãããŠãã
ã»ã¿ã°ã¯ãæ€çŽ¢ãšã³ãžã³ã«åçš®ã©ã®ãããªèšè¿°ããèªèãããéèŠã¯åœ¹å²ãæã€
ã»ãã©ãŠã¶ã¯HTMLãã¡ã€ã«ãäžããäžãžãå·Šããå³ãžãšèªã¿èŸŒã¿ãã¹ããŒã¹ãšã€ã³ãã³ãã¯äºå®äžç¡èŠããã
ãâãã©ãŠã¶ã«HTMLã®æ§é ãçè§£ãããããã«ã¯ãå¿
ãéå§ã¿ã°ãšçµäºã¿ã°ãé©åã«èšèŒããå¿
èŠããã
ãâ»ã¹ããŒç€Ÿã€ã³ãã³ããæžãããŠãåé¡ãªãæ©èœããå¯èªæ§ã¯äœäžãããããã¡ã€ã«ãµã€ãºã¯å°ãããªã
- element(èŠçŽ )
ã¿ã°ã§å²ãã æ å ±ã®åäœ
ã - attribute(屿§)
èŠçŽ ã«äœããã®æ å ±ãèšå®ãä»å ãããããéå§ã¿ã°ã«èšè¿°ããæåå - void element(空èŠçŽ )
HTML ã«ãããèŠçŽ ã®ãã¡ãåããŒã(åèŠçŽ ããã³ããã¹ãããŒã)ãæã€ããšãã§ããªããã®
空èŠçŽ ã«ã¯éå§ã¿ã°ãããããŸããã空èŠçŽ ã§ã¯çµäºã¿ã°ãæå®ããããšãã§ããªã
æ©èœçã«ã¯å¿ èŠãªãããæç€ºçã«çµäºã瀺ãããã«èªå·±çµäºã¿ã°ãä»ããããšãæšå¥šãããŠãã
(äŸ)<input /> - nest(å ¥ãå)
- idãšcalss
ã¹ã¿ã€ã«ã·ãŒããJavaScriptãæå®ããéã«ãèŠçŽ ä»¥å€ã§æå®ãããæã«idãclassãæå®ãã
ãã ããidã䜿çšããéã®æ³šæç¹ãšããŠã1ã€ã®HTMLãã¡ã€ã«å ã§äžæã§ããå¿ èŠããã<div id="äžæã®idå"></div>
<div class="ã¯ã©ã¹å"></div>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>ã¿ã€ãã«ãèšè¿°</title>ã
</head>
<body>
<header>
<img>ããŽãªã©
<nav>ããã²ãŒã·ã§ã³ã¡ãã¥ãŒãªã©</nav>
</header>
<main>WebããŒãžã®ã³ã³ãã³ããèšèŒãã</main>
<footer</footer>
</body>
</html>
<!-- Comment -->
ãã¹ãŠã®WebããŒãžã¯ã<!DOCTYPE html>ãå¿
ãæåã«èšèŒãã
ãã®ç¹å¥ãªæååã¯å®£èšãšããŠç¥ããããã©ãŠã¶ãæ¥çå
šäœã®ä»æ§ãæºããããšããããšãä¿èšŒãã
ãã®ææžãHTMLã®ææ°ããŒãžã§ã³ã§ããHTML5ææžã§ããããšããã©ãŠã¶ã«ç€ºã
ãã®äžã«ããŒãžäžã®ãã¹ãŠã®ã³ã³ãã³ã(<title>, <body>, <footer>)ãå ã
| 屿§ | å 容 | æžãæ¹ |
|---|---|---|
| lang | ããŒãžã®èšèªãæå®ãã | (äŸ)è±èªãæå®ãã<html lang="en">*enïŒè±èªãjaïŒæ¥æ¬èª |
ææžã®ã¿ã€ãã«ãã¹ã¿ã€ã«ã·ãŒããžã®ãªã³ã¯ãã¹ã¯ãªãããªã©ãææžã«é¢ããã¡ã¿ããŒã¿ãèšå®ãã
ããŒãžã«çŽæ¥è¡šç€ºãããªãããŒãžã«é¢ããã¡ã¿æ
å ±ãæã€
æžãæ¹ïŒ<meta 屿§="å€" > *voidèŠçŽ
| 屿§ | å 容 | æžãæ¹ |
|---|---|---|
| charset | Webãã©ãŠã¶ã«WebããŒãžã®ãšã³ã³ãŒããèªèããã | (äŸ)UTF-8ãæå®ãã<meta charset="utf-8">
|
| name | ææžã¬ãã«ã§ã¡ã¿ããŒã¿ãæäŸããããŒãžå
šäœã«é©çšããã contentãé©åã«èšå®ããããšã§ãã¢ã¯ã»ã·ããªãã£ãšSEOãåäžãã |
(äŸ)ã¬ã¹ãã³ã·ãã«Webãã¶ã€ã³ã«ãã ãã®1è¡ãèšè¿°ããã ãã§ãã¢ãã€ã«ã¢ãã«ã察å¿ãã |
â»ã¬ã¹ãã³ã·ãã«Webãã¶ã€ã³ïŒWebããŒãžã®ã¹ã¿ã€ã«ãã¢ãã€ã«, ãã¹ã¯ãããPC, ããŒãPCã©ãããããã§åãæ§ã«èŠãäºãã§ãã
Webãã©ãŠã¶ã§WebããŒãžã®ã¿ã€ãã«ããŒãã¿ãã«è¡šç€ºããå
容èšè¿°ãã
èšèŒå ŽæïŒ<head>ã®äž
æžãæ¹ãïŒ<title>(ã¿ã€ãã«æ)</title>
åèããïŒã¿ã€ãã«æã¯15~60æå
WebããŒãžã®ã¬ã€ã¢ãŠãã®å€æŽæ¹æ³ã¯ã2çš®é¡ãã
ãããã®æ¹æ³ã<head>èŠçŽ ã®äžã«èšè¿°ãã
1.styleèŠçŽ ã䜿çšãã
èšèŒå ŽæïŒ<head>èŠçŽ ã®äž
æžãæ¹ãïŒ<style>CSSã«ããäœè£å€</style>
HTMLãã¡ã€ã«ã®äžã«èšèŒãåºæ¥ãããå¯èªæ§ã®äœäž/ã¬ã€ã¢ãŠã厩ããžç¹ããä¿®æ£ã倧å€ã«ãªãçºãåºæ¬ã¯äœ¿çšããªã
<style>
h1,h2, p {
text-align: center;
}
</style>
2.å€éšã¹ã¿ã€ã«ã·ãŒããã¡ã€ã«ãåç
§ãã
èšèŒå ŽæïŒ<head>ã®äž
æžãæ¹ãïŒ<link rel="stylesheet" href="styles.css">ã*voidèŠçŽ
<head>
<link href="style.css" rel="stylesheet">
<title>css</title>
</head>
WepããŒãžã«å®éã«è¡šç€ºããç®æã§ãHTMLææžã®æ¬äœã衚ã
倧ããåé¡ãããšãheaderãmainãfooterã«åãããã
ãã ãããããã®èŠçŽ ã¯ãHTML5ã§å°å
¥ãããæ°ããèŠçŽ ã§ãããå€ããã©ãŠã¶ã§ã¯æ£ãã衚瀺ãããªãå Žåãããã
ãã bodyäžã«ãã¹ãŠã®WebããŒãžã®å
容ãèšèŒãããŠããããšãå€ã
headerãmainãfooterã«åããããšã§ãç°ãªãã¬ã€ã¢ãŠããæåãé©çšã§ãã
ããŒãžã¿ã€ãã«ãããã²ãŒã·ã§ã³ã¡ãã¥ãŒãããŽãªã©ããã®ããŒãžã«é¢ããéèŠãªæ
å ±ãéçŽããéèšè¿°ãã
åºæ¬çã«WebããŒãžã®ã³ã³ãã³ãã«é¢ããããåžžæè¡šç€ºãã
<!-- ä»ã®ææžãžã®ããã²ãŒã·ã§ã³ãªã³ã¯(ã¡ãã¥ãŒ) -->
<nav>
<ul>
<li><a href="å¥ããã¥ã¡ã³ããžã®URL"≶ã¡ãã¥ãŒé
ç®1</a></li>
<li><a href="ããã¥ã¡ã³ãå
ã®idå"≶ã¡ãã¥ãŒé
ç®2</a></li>
</ul>
</nav>
WebããŒãžã«è¡šç€ºããå
容ãèšè¿°ãã
mainèŠçŽ å
ã®å
容ã¯ããã®ææžã«åºæã§ããã¹ãã§ãææžã®ä»ã®éšåã§ç¹°ãè¿ãããã¹ãã§ã¯ãªã
èšèŒå ŽæïŒ<body>ã®äž
h1~h6ãŸã§æå®ã§ããh1ãæã倧ããæåãšããŠè¡šç€ºããã
<h>ã¯SEOã«åœ±é¿ãã
URLãååŸåºæ¥ãããããã¹ã«æž¡ãããšãåºæ¥ã
èšèŒå ŽæïŒ<main>ã®äž
æžãæ¹ãïŒ<h1-6>èŠåºãæ</h1-6>ã*voidèŠçŽ
<p>æç« </p>ulïŒunordered List
liïŒlist item
<ul>
<li>ç®æ¡æžããããé
ç® </li>
<li>ç®æ¡æžããããé
ç® </li>
</ul>
olïŒordered List
liïŒlist item
<ol>
<li>çªå·é ã«ãããé
ç® </li>
<li>çªå·é ã«ãããé
ç® </li>
</ol>
åºæ¬çãªèšè¿°æ¹æ³ã¯ä»¥äžã®éã
ãã以å€ã«ãã衚ã®ã°ã«ãŒãåãã»ã«ã®çµåã衚ã®ããããŒ/æ¬äœ/ããã¿ãŒãäœæããããšãå¯èœ
詳现ã¯ãfreeCodeCampã®èšäºãåç
§ã®ããš
<table>
<caption>衚é¡</caption>
<thead>
<tr>
<th>å1-ããããŒ</th>
<th>å2-ããããŒ</th>
<th>å3-ããããŒ</th>
</tr>
</thead>
<tbody>
<tr>
<td>å1-ããŒã¿1</td>
<td>å2-ããŒã¿1</td>
<td>å3-ããŒã¿1</td>
</tr>
<tr>
<td>å1-ããŒã¿2</td>
<td>å2-ããŒã¿2</td>
<td>å3-ããŒã¿2</td>
</tr>
</tbody>
<table>
<thead>ã<tbody>ã¯çç¥å¯èœã ãã以äžã¡ãªããããã
- æ§é ã®æç¢ºå
âCSSã§ç°ãªãã¬ã€ã¢ãŠãã®æå®ãåºæ¥ã - ã¢ã¯ã»ã·ããªãã£ã®åäž
âã¹ã¯ãªãŒã³ãªãŒããŒãªã©ã«èªèããããã - JavaScriptã§ããŒãã«æäœãåºæ¥ã
<a>(anchor)ã¿ã°ãå©çšãã
<a href ="ãªã³ã¯ãããURL">(ãªã³ã¯ã«è¡šç€ºãããæå)</a>ä»»æã®å±æ§
| 屿§ | èšå®å 容 |
|---|---|
| target |
_blankïŒæ°ããã¿ãã§ãªã³ã¯ãéãããã©ã«ã㯠_selfïŒçŸåšã®ã¿ãã§ãªã³ã¯ãéã |
| rel | noreferrerïŒãªã³ã¯å±éæãåç
§å
ã«é¢ããæ
å ±ãæž¡ããªãæ§ã«ãã ãã©ã€ãã·ãŒä¿è·ãã»ãã¥ãªãã£å¯Ÿçããã©ããã³ã°é²æ¢ã«åœ¹ã«ç«ã€ |
<img
src="ç»åã®ãããã¹"
alt="ç»åã®èª¬ææ"
width="æ°å"
height="æ°å" />
alt屿§ã§ã¯ãwebãµã€ãã«ç»åãã¢ããããŒãããéãHTMLãœãŒã¹ã³ãŒãäžã«èšè¿°ãããimgèŠçŽ ã®ããããã£(屿§)ããšã§ãç»åã®ä»£ãããšãªãããã¹ã
ã¢ã¯ã»ã·ããªãã£ãåäžãããããã«ã¹ã¯ãªãŒã³ãªãŒããŒã«äœ¿çšãããç»åã®èªã¿èŸŒã¿ã«å€±æããå Žåã«è¡šç€ºããã
ååã<img>ã«alt屿§ãå«ããäº
width/heightã¯ãCSSã§ãå©çšæå®ã§ããããHTMLã§æå®ããŠãããšäºãé åã確ä¿ãããã¬ã€ã¢ãŠã厩ããèµ·ãã«ããªã
ãã ããCSSæå®æãšæ¯ã¹ãç»åã®æ¡å€§çž®å°ã§ç»è³ªãå£åãããããã¬ã¹ãã³ã·ãã«ãã¶ã€ã³ã«å¯Ÿå¿ãã¥ãããã¡ãªããããã
| 屿§ | èšå®å 容 | å€ |
|---|---|---|
| loading | ç»åã®èªèŸŒã¿ã¿ã€ãã³ã°ãæå® WebããŒãžã®è¡šç€ºé床ãåäžã«åœ¹ç«ã€ |
lazy: ç»åããã¥ãŒããŒãå
ã®è¡šç€ºçŽåãŸã§èªèŸŒã¿ãé
å»¶ããã eager: ç»åãããã«èªã¿èŸŒã auto: ãã©ãŠã¶ãæé©ãªã¿ã€ãã³ã°ã§èªèŸŒã â»ãã©ãŠã¶ã«ãããæåãç°ãªãå Žåããã |
<a href ="ãªã³ã¯ãããURL">
<img alt="ç»åã®èª¬ææ">
</a>
èªå·±å®çµåã®ã³ã³ãã³ãã衚ããç»åãšãã£ãã·ã§ã³ãé¢é£ä»ãããæã<figure>ããã³<figcaption>ãå©çšãã
ç»åãšãã£ãã·ã§ã³ã¯äžåäœãšããŠèãããã
alt屿§ã®æ§ã«å€±æããéã®ã¿è¡šç€ºãããã®ã§ã¯ãªããåžžã«<figcaption>ã®å
容ãç»åãšã»ããã§WebããŒãžäžã«è¡šç€ºããã
<figure>ãŸãã¯<div>
<img src="ç»åãã¡ã€ã«ã®ãã¹" alt="ç»åã®èª¬æ" />
<figcaption>ç»åã®èª¬ææ</figcaption>
</figure>ãŸãã¯</div>
SVG(Scalable Vector Graphics)ã¯ãXMLèšèªã®äžçš®
ãã¯ã¿ãŒã°ã©ãã£ãã¯(ç»åããã¯ã»ã«ã§ã¯ãªããæ°åŠçãªåŒ(ãã¯ãã«)ã§è¡šçŸ)ã®æç»ã«çšããèšèªã®ããš
ãã¯ã¿ãŒã°ã©ãã£ãã¯ã§ããããšããããã¯ã»ã«ããŒã¹ã®ç»å(JPEG, PNGãªã©)ãšç°ãªããæ¡å€§çž®å°ããŠãç»è³ªãå£åããªã
ãŸããSVGã¯XML圢åŒã§èšè¿°ããããããããã¹ããšãã£ã¿ã§ç·šéå¯èœãªããã¹ãããŒã¹ã®ç»å
ãã®çºãSVGã¯JavaScriptãšçµã¿åãããŠãã€ã³ã¿ã©ã¯ãã£ããªèŠçŽ (ãã¿ã³, ã¢ãã¡ãŒã·ã§ã³ãªã©)ãäœæããããšãåºæ¥ã
â å¿
èŠãªãã¹ãŠã®ç·ãå³åœ¢ãæå®ãã or æ¢ã«ããã©ã¹ã¿ãŒç»åã倿Žãã or ãã®äž¡æ¹ãçµåããŠç»åãäœæããŠäœ¿çšããããšãåºæ¥ã
â ç»åãšãã®éšåã座æšå€æããããäºãã«åæãããããã£ã«ã¿ãªã³ã°ãããããŠããã®èŠãç®ãå®å
šã«å€ããããšãå¯èœ
SVGã§ã¯ä»¥äžã®æ§ãªåºæ¬çãªå³åœ¢ãæäŸãããŠãã
- circleèŠçŽ : å圢 - D3.jsã®æ£åžå³ã®ããããçã§äœ¿çšãã
- rectèŠçŽ : é·æ¹åœ¢ - D3.jsã®æ£ã°ã©ãäœææãªã©ã«äœ¿çšãã
<img
src="ç»åã®ãããã¹"
alt="ç»åã®èª¬ææ"
width="æ°å"
height="æ°å" />
<video>
èªåã®WebãµãŒãã«ããåç»ãåã蟌ãéã«å©çšãã
<!-- controlsã§åç,é³é,ã·ãŒã¯,ããŒãº,ãµã€ãºãªã©ãæå®ã§ãã -->
<video controls width="å€"> muted;
<source src="åç»ã®ãã¹/åç»å.mp4" type="video/mp4" />
<source src="åç»ã®ãã¹/åç»å.webm" type="video/webm" />
</video>
mutedïŒèªã¿èŸŒã¿æã«åç»ãèªååçãããŠããé³ãåºãããšãé²ã
<iframe>
Youtubeã®åç»ãGoogleããããªã©å€éšã³ã³ãã³ããåã蟌ãéã«å©çšãã
<iframe
<!-- èªååçã -->
id="idå"
title="ã¿ã€ãã«" <!-- äž»ã«ã¹ã¯ãªãŒã³ãªãŒããŒãªã©ã§äœ¿çš -->
width="å€"
height="å€"
<!-- æ ç·ãç¡ãã -->
frameborder="0"
<!-- iframeå
ã®ã³ã³ãã³ããå®è¡ã§ããåäœãèš±å¯-->
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share":
!-- å
šç»é¢åçãèš±å¯ -->
allowfullscreen <
<!-- éåžžã®å€éšãµã€ãã§é²èЧããURLã§ã¯åã蟌ã¿ã§ããªãçºãURLã«æ³šæ -->
src="åç»ã®åã蟌ã¿çšURL" />
</iframe>
<iframe>èŠçŽ ã䜿ããšãHTMLããã¥ã¡ã³ãã®äžã«ãå¥ã®HTMLããã¥ã¡ã³ããåã蟌ãããã®èŠçŽ
ãŠã§ãããŒãžã®äžã«ãå€éšã®ãŠã§ãããŒãžãã³ã³ãã³ã(åç», å°å³, åºåãªã©)ãã·ãŒã ã¬ã¹ã«è¡šç€ºãããå Žåã«éåžžã«äŸ¿å©
åºæ¬ã®æžãæ¹ïŒ
<iframe src="åã蟌ã¿ããHTMLã®URL" width="500" height="300"></iframe>
ãã®ä»ãæ§ã ãªåŒæ°ã§çްããæå®åºæ¥ãããã詳现ã¯mdn Web docåç §ã®ããš
ã³ãŒãã衚瀺ãããæã¯ã<code>ãå©çšãã
ã³ãŒãå
ã®æ¹è¡ã空çœããã®ãŸãŸè¡šç€ºãããå Žåã¯ã<per>ã§<code>ãå²ã
â»preïŒpreformatted text(æŽåœ¢æžã¿ããã¹ã)
â HTMLã®æ¹è¡ã¿ã°(<br>ãªã©)ãæ¿å
¥ããªããŠãããã®ãŸãŸããã°ã©ã ã®æ¹è¡ãWebããŒãžäžã§åæ ããã
â ããã°ã©ã ã®ã³ãŒããã³ããŒããããã¿ã³ã衚瀺ãããã³ããŒã楜ã«ãªã
<pre><code>ã³ãŒã</code></pre>| ããããããš | æžãæ¹ | åè |
|---|---|---|
| ã»ã¯ã·ã§ã³ã®æ¿å ¥ |
<hr />ã*voidèŠçŽ |
|
| æåã倪åã«ãã |
<strong>倪åã«ãããæå</strong><b>倪åã«ãããæå</b>
|
<strong>ïŒSEO广ããã <b>ïŒãã 倪å衚瀺ãããã ã |
| æäœæåã«ãã |
<em>æäœã«ãããæå</em><i>æäœã«ãããæå</i>
|
<em>ïŒSEO广ããã <i>ïŒãã æäœå€ªåã§è¡šç€ºãããã ã |
| æåã«äžç·ãã²ã | <u>äžç·ãåŒãããæå</u> |
|
| æ¹è¡ãã |
<br />ã*voidèŠçŽ |
段èœéã®ã¹ããŒã¹ã®èª¿æŽã«è€æ°é£ç¶ããŠäœ¿çšããªãããš åºæ¬çã«ã¯CSSã§èª¿æŽãã HTML5以éã<br>ã§ã¯ãªãã<br />ãæšå¥šãããŠãã |
| ãããã¯ã¬ãã«ã§ã³ã³ãã³ããåºåã | <div>åããã£ããžã§ã³ã«ãŸãšããèŠçŽ </div> |
ã³ã³ãã³ããåºåãããã®èŠçŽ ã§æ¬è³ªçã«ã¯äœã衚ããªã ã¹ã¿ã€ã«ã·ãŒããJavaScriptã§äžæ¬ããŠæå®ããéã®ã°ã«ãŒãåãã«äœ¿çšããããšãåºæ¥ã |
| ã€ã³ã©ã€ã³ã¬ãã«ã§ã³ã³ãã³ããåºåã | <span>åããã£ããžã§ã³ã«ãŸãšããèŠçŽ </div> |
ã³ã³ãã³ããåºåãããã®èŠçŽ ã§æ¬è³ªçã«ã¯äœã衚ããªã ã¹ã¿ã€ã«ã·ãŒããJavaScriptã§äžæ¬ããŠæå®ããéã®ã°ã«ãŒãåãã«äœ¿çšããããšãåºæ¥ã |
ãŠãŒã¶ã«å
¥åããŠããã£ãŠãæ
å ±ãååŸãããå Žåã¯ã<form>ãå©çšãã
åºæ¬çãªæ§æ
<form action="ãã©ãŒã ããŒã¿ã®éä¿¡å
URL" method="get/post">
<fieldset>
<legend">fieldsetã®èª¬ææ</legend">
<label"><input id="idå" type="é
ç®ã¿ã€ãã®éžæ"/ ></label">
</fieldset>
</form>
ãŠãŒã¶ãŒãå
¥åããã³ã³ãããŒã«(input, textarea, select, buttonãªã©ãã°ã«ãŒãåãããããã®ããŒã¿ããµãŒããŒã«éä¿¡ããããã®ã³ã³ãã
<form action="éä¿¡å
ã®URL" method="éä¿¡æ¹æ³">
-- inputçã®å
¥åèŠçŽ ãé
眮
</form>
| 屿§ | 説æ |
|---|---|
| action(å¿ é ) | ãã©ãŒã ã«å ¥åãããããŒã¿ãéä¿¡ãããå ã®URLãæå®ããããã®å±æ§ |
| method | <form>ã®actionã§æå®ããããŒã¿ã®éä¿¡å
ãžååŸããŒã¿ã®éä¿¡æ¹æ³ãæå®ããpostïŒPOSTãªã¯ãšã¹ãã§éä¿¡ïŒãªã¯ãšã¹ãããã£ã®ããŒã¿ãšããŠããŒã¿ãååŸ ãæ©å¯æ§ã®é«ãããŒã¿ãã倧ããªããŒã¿ãéä¿¡ããå Žå getïŒGETãªã¯ãšã¹ãã§éä¿¡ïŒURLãã©ã¡ãŒã¿ãšããŠããŒã¿ãååŸãã ãæ©å¯æ§ã®äœãããŒã¿ããæ€çŽ¢ãªã©ã®çµæãããã¯ããŒã¯ãããå Žå |
| target | ãã©ãŒã ã®éä¿¡çµæãã©ãã«è¡šç€ºããããæå®ãã_blankãæå®ãããšæ°ãããŠã£ã³ããŠãã¿ãã§éã_self(ããã©ã«ã)ã¯çŸåšã®ãŠã£ã³ããŠã§éã_parentã_topãªã©ã®å€ããã |
| enctype | ãã©ãŒã ããŒã¿ã®ãšã³ã³ãŒãæ¹åŒãæå®ãã ã» application/x-www-form-urlencoded(ããã©ã«ã)ãã»ãšãã©ã®ãã©ãŒã ããŒã¿ã«é©ããŠãã ã» multipart/form-dataãã¡ã€ã«ãã¢ããããŒãããå Žåã«äœ¿çšãã |
ãŠãŒã¶ãŒãããã¹ããæ°å€ããã¡ã€ã«ãªã©ãå
¥åããããéžæè¢ãéžãã ãããããã®æãåºæ¬çãªãã©ãŒã ã³ã³ãããŒã«
ãŠã§ããã©ãŒã ããããŒã¿ãåéããããã®æ§ã
ãªæ¹æ³ãæäŸãã
voidèŠçŽ (ïŒ</input>ãèšè¿°ããªã)
<input type="å ¥åã¿ã€ã" id="èå¥å" name="ãµãŒããŒã«éä¿¡ããéã®ããŒ" value="åæå€" ãã®ä»ã®å±>
| 屿§ | 説æ |
|---|---|
| type(å¿ é ) | å
¥åãã£ãŒã«ãã®çš®é¡ãæå®ããtextïŒäžè¡ã®ããã¹ãå
¥åãã£ãŒã«ã(ããã©ã«ã)passwordïŒãã¹ã¯ãŒãå
¥åãã£ãŒã«ãemailïŒã¡ãŒã«ã¢ãã¬ã¹ã®å
¥åãã£ãŒã«ãnumberïŒæ°å€ã®å
¥åãã£ãŒã«ãdateïŒæ¥ä»ã®éžæãã£ãŒã«ãcheckboxïŒãã§ãã¯ããã¯ã¹radioïŒã©ãžãªãã¿ã³(åã name屿§ãæã€ã©ãžãªãã¿ã³ã¯ã°ã«ãŒãåããã)fileïŒãã¡ã€ã«éžæãã£ãŒã«ã(ãã¡ã€ã«ã®ã¢ããããŒãã«äœ¿çš)submitïŒãã©ãŒã ãéä¿¡ãããã¿ã³resetïŒãã©ãŒã ã®å
¥åå
容ãåæå€ã«æ»ããã¿ã³buttonïŒã¯ãªãã¯å¯èœãªæ±çšçãªãã¿ã³(JavaScriptãªã©ã§åäœãå®çŸ©)hiddenïŒãŠãŒã¶ãŒã«ã¯è¡šç€ºãããªã(ãµãŒããŒã«éä¿¡ããå€ãåã蟌ãéã«äœ¿çš)
|
| name(éèŠ) | ãã©ãŒã ããŒã¿ããµãŒããŒã«éä¿¡ããéã®ã㌠ãµãŒããŒåŽã¯ãã® name屿§ã®å€ã䜿ã£ãŠãéä¿¡ãããããŒã¿ãèå¥ãã |
| value | å ¥åãã£ãŒã«ãã®åæå€ãèšå®ãã |
| placeholder | ãŠãŒã¶ãŒãå ¥åãå§ãããŸã§ããã¹ããšãªã¢ã«è¡šç€ºããå 容 |
| required | å¿ é å ¥åé ç® |
| readonly | èªã¿åãå°çš |
| disabled | ç¡å¹å(ïŒæäœäžå¯,ãã©ãŒã éä¿¡ããããªã) |
| min, max, step | å€ã®ç¯å²ãå»ã¿ãæå®ãã |
| pattern | å ¥åå€ãæºããã¹ãæ£èŠè¡šçŸãæå®ãã |
| size | å ¥åãã£ãŒã«ãã®è¡šç€ºäžã®å¹ ãæå®ãã(æåæ°) |
| maxlength | å ¥åã§ããæå€§æåæ°ãæå®ãã |
| autofocus | ã«ãŒãœã«ã®èªåã»ãã |
| autocomplete | éå»ã®å
¥åã衚瀺(ON)/é衚瀺(OFF) â»ããã©ã«ãã¯ã autocomplete="on"
|
åãã©ãŒã èŠçŽ ã«ã©ãã«(説ææ)èšèŒãã
ïŒãã®å
¥åèŠçŽ ãäœã衚ããŠãããããŠãŒã¶ãŒãžæç¢ºã«äŒãã圹å²ãæãã
<label>ã®forãš<input>ã®idãäžèŽãããããšã§1ã€ã®åºãŸãã§ããããšãèªèãããããšãã§ãã
label for="name">åå:
<output>ã¯ãJavaScriptã§åçã«çæãããå€ãèšç®çµæãªã©ã衚瀺ããéã«å©çšããã
æäœ2æå以äžã®ããã¹ãã®å ¥å(å¿ é )
<label>Name
<input id="name" type="text" required minlength="2" />
</label>
ã¡ãŒã«ã¢ãã¬ã¹ã®å ¥å(å¿ é )
<label>Email
<input id="email" type="email" required />
</label>
åæå€20ã0-120ãå ¥åå¯èœãªæ°ã®å ¥å(ä»»æ)
<label>Age
<input id="age" type="number" min="0" max="120" value="20" />
</label>
ã¢ã«ãã¡ããããšæ°ã§8æå以äžã§æ§æããããã¹ã¯ãŒãã®å ¥å(å¿ é )
<label>Password
<input id="new-password" type="password" required pattern="[a-z0-5]{8,}" />
</label>
ã©ãžãªãã¿ã³
<!-- 3ã€ã®ã©ãžãªãã¿ã³ãèšçœ®ãã(åæå€ã¯éžæé
ç®1) -->
<label for="radio1">
<input type="radio" id="radio1" name="ã©ãžãªãã¿ã³ã®ã°ã«ãŒã" value="åŒãæž¡ãå€" checked > éžæé
ç®1
</label">
<label for="radio2">
<input type="radio" id="radio2" name="ã©ãžãªãã¿ã³ã®ã°ã«ãŒã" value="åŒãæž¡ãå€"> éžæé
ç®2
</label>
<label for="radio3">
<input type="radio" id="radio3" name="ã©ãžãªãã¿ã³ã®ã°ã«ãŒã" value="åŒãæž¡ãå€"> éžæé
ç®3
</label>
nameã«åãååãæå®ããããšã§ãåãã©ãžãªãã¿ã³ã®ã°ã«ãŒããšããŠèªèãããæä»å¶åŸ¡ãé©çšããã
æä»å¶åŸ¡ãããçºã«ãäœã®å€ãéžæããããããã£ããããçºãvalueã®èšå®ã¯å¿
é
"checked"ãæå®ããŠãããšãåæå€ãšããŠèšå®ããã
ãã§ãã¯ããã¯ã¹
<!-- 2ã€ã®ãã§ãã¯ããã¯ã¹ãšåãã§ãã¯ããã¯ã¹ã®å³åŽã«é
ç®åãèšèŒãã -->
<fieldset>
<legend>該åœãããã®ã«ãã§ãã¯ãå
¥ããŠãã ãã</legend>
<div>
<input type="checkbox" id="a" name="ex-checkbox" value="a" />
<label for="a">Option-A</label>
</div>
<div>
<input type="checkbox" id="b" name="ex-checkbox" value="b" />
<label for="b">ption-B</label>
</div>
</fieldset>
ãã§ãã¯ããã¯ã¹ã®<input>ãšé
ç®åã®<label>ãã°ã«ãŒãåãããããã<input>ã®idãš<label>ã®forã«åãå€ãèšå®ãã
<input>ã®nameã«åãå€ãèšå®ããããšã§ãè€æ°ã®ãã§ãã¯ããã¯ã¹ãã°ã«ãŒãåãã
<fieldset>ããã³<fieldset>ã<div>ã¯ãŠãŒã¶ã®èŠããããåäžãããçºã«èšèŒããŠãããå¿
é èŠçŽ ã§ã¯ãªã
ãããã®èŠçŽ ãèšè¿°ããããšã§ã暪æ¹åã§ã¯ãªããäžæ¹åã«é
眮ããã
<!-- ãŠãŒã¶ã«èŠçŽæžãèªãã§ãããã確èªã®ãã§ãã¯ããã¯ã¹ãé
眮ãã(å¿
é å
¥å) -->
<!-- èŠçŽæžã«ã¯ãªã³ã¯ã貌ã -->
<label for="terms">
<input class="inline" id="terms" type="checkbox" required name="terms" /> ç§ã¯<a href="URL" /">æ¬èŠçŽ</a>ã«åæããŸã
</label>
<label">ãç¡ããŠãæç«ããããéžæç¯å²ãæ¡å€§ããŠäœ¿ãããããåäžãããšãšãã«ãSEOã®åäžã«ç¹ãã
<label">ã®forãš<input">ã®idãåãå€ã«ããŠããããšã§ãé¢é£èŠçŽ ã§ãããšèªèããã
<input">ã®nameã¯ããã©ãŒã éä¿¡æã«ãµãŒããŒã«éä¿¡ãããããŒã¿ã®ååãæå®ãã
ãã«ããŠã³
å¿
é å
¥åã«ãããå Žåã¯ã<select required>ãèšå®ãã
åæå€ã«èšå®ãããå Žåã¯ã<option selected>ãèšå®ãã
<labelãfor="feelig">仿¥ã®æ°åã¯?
<select id="feeling">
<option value="" selected>(1ã€éžæããŠäžãã)</option>
<option value="1">æé«</option>
<option value="2">ãã€ãéã</option>
<option value="3">æªããªã</option>
<option value="4">è¯ããªã</option>
</select>
</label>
<label>ã®forãš<select>ã®idãåãã«ããããšã§ãã©ãã«ãšãã«ããŠã³ãã»ããã«ãªã
ããã¹ããšãªã¢
<input type="text">ãšéããè€æ°è¡ã®å
¥åãã§ãã
<label for="bio">
<textarea id="bio" rows="3" cols="30" placeholder="èªç±èšè¿°"></textarea>
</label>
rows:衚瀺ããè¡ã®æ°ãæå®
cols:衚瀺ããåã®æ°ãæå®
placeholder:ãŠãŒã¶ãŒãå
¥åãå§ãããŸã§ããã¹ããšãªã¢ã«è¡šç€ºããå
容
<label>ã®forãš<textarea>ã®idãåãã«ããããšã§ãã©ãã«ãšããã¹ããšãªã¢ãã»ããã«ãªã
ãã¿ã³èŠçŽ
<div>ã<a>ã<input type="button">ã§ãããã¿ã³ã®ãããªèŠãç®ãJavaScriptã«ããåäœãä»äžããããšã¯å¯èœã ãã
<button>ã䜿ãããšã§ããã©ãŠã¶ãã¹ã¯ãªãŒã³ãªãŒããŒãªã©ã®æ¯æŽæè¡ã«å¯ŸããŠæç¢ºã«äŒããããšãã§ããã¢ã¯ã»ã·ããªãã£ãåäžãã
-- formå
ã«buttonèŠçŽ ã眮ãæ
<form action="/submit" method="post">
<button type="submit">ãã¿ã³ã®åç§°</button>
</form>
-- formå€ã«buttonèŠçŽ ã眮ãæ
<form id="myform" action="/submit" method="post">
-- other elements
</form>
<button type="submit" form="myform">ãã¿ã³ã®åç§°</button>
| type | æå |
|---|---|
| submit | ããã©ã«ã ãã©ãŒã ããŒã¿ããµãŒããŒã«éä¿¡ãã ïŒç»é¢é·ç§»ã䌎ãformã®éä¿¡ãè¡ãããªã |
| reset | ãã©ãŒã ã®å ¥åå 容ãåæå€ã«æ»ã |
| button | ããã©ã«ãã®åäœãæããªã JavaScriptãªã©ã§ã«ã¹ã¿ã ãªåäœãå®çŸ©ããéã«äœ¿çšãã |
<button>èŠçŽ ã¯ããã®ãã¿ã³ãé
眮ãããŠãã<form>èŠçŽ ã«æé»çã«é¢é£ä»ãããã
ãã®çºã<button>èŠçŽ ã<form>ã¿ã°ã®å
åŽã«çŽæ¥èšè¿°ããŠããéã¯ãform屿§ãæå®ããå¿
èŠã¯ãªã
éã«ã<button>èŠçŽ ã<form>ã¿ã°ã®å€åŽã«èšè¿°ããŠããéã¯ãform屿§ã§<form>èŠçŽ ã«é¢é£ä»ããè¡ãå¿
èŠããã
âform屿§ã¯ãHTMLã®æè»æ§ãé«ããããè€éãªãã©ãŒã ã®ã¬ã€ã¢ãŠããæ§é ãå®çŸããããã«åœ¹ç«ã€
ãã©ãŒã å
ã®é¢é£ããã³ã³ãããŒã«ãã°ã«ãŒãåããããã«äœ¿çšãã
èŠèŠçã«ã°ã«ãŒããåºåããè«ççã«ãé¢é£ããå
¥åããŸãšããããšã§ããã©ãŒã ã®æ§é ãåããããããã
<fieldset>
<legend>é£çµ¡å
</legend>
<label for="phone">é»è©±çªå·:</label>
<input type="tel" id="phone" name="user_phone">
<label for="address">äœæ:</label>
<textarea id="address" name="user_address"></textarea>
</fieldset>
<legend>ã¯ã<fieldset>ã®èŠçŽ å
ã³ã³ãã³ãã«å¯Ÿãããã£ãã·ã§ã³ãèšè¿°ãã
ïŒ<fieldset>èŠçŽ ã®å
容ã説æããããã®ãã£ãã·ã§ã³ ãå®çŸ©ãã
<legend>èŠçŽ ã¯ã<fieldset>ã®èŠçŽ ã®æåã®åèŠçŽ ãšããŠé 眮ããå¿ èŠããã
<fieldset>
<legend>å人æ
å ±</legend>
<label for="name">åå:</label>
<input type="text" id="name" name="user_name">
<label for="email">ã¡ãŒã«ã¢ãã¬ã¹:</label>
<input type="email" id="email" name="user_email">
</fieldset>
WebããŒãžã®å
容ãããã°ããã¥ãŒã¹ãªã©1ã€ã§å®çµããèšäºãåå©çšããããšãããéã«ã¯ã<section>ããã³<article>ãå©çšãã
ããŒãžã®æ§é ãæç¢ºã«ããããã«äœ¿çšããæ€çŽ¢ãšã³ãžã³ã«WebããŒãžã®æ§é ãæ£ããäŒããããšãã§ãã
â HTML 5.0ããå°å
¥ãããSEO察çã«ãªã
<section><article>èšäºå
容</article></section>å
ã®æç« ã®ãŸãŸèšèŒããæ€çŽ¢ãšã³ãžã³ã«ã³ããŒããæç« ã§ã¯ç¡ãäºãèªèãããããã«å©çšãã
ããŒãžã®æ§é ãæç¢ºã«ããããã«äœ¿çšããæ€çŽ¢ãšã³ãžã³ã«WebããŒãžã®æ§é ãæ£ããäŒããããšãã§ãã
â HTML 5.0ããå°å
¥ãããSEO察çã«ãªã
<blockquote cite="åŒçšããURL">
<p">åŒçšæ</p">
</blockquote>
HTMLææžã®ã¡ã€ã³ã³ã³ãã³ããšã¯çŽæ¥çãªé¢é£æ§ããªããè£è¶³çãªæ
å ±ã衚瀺ããããã®èŠçŽ
ãµã€ãããŒã泚éãåŒçšãã³ã©ã ãèšèŒããéã«äœ¿çšãã
<aside>
<p">äœè«ãšããŠèšèŒãããå
容</p">
</aside>
äžé£ã®çšèªãšèª¬æããªã¹ãåãããã®
<dl> <dt>Beast of Bodmin</dt> <dd>A large feline inhabiting Bodmin Moor.</dd><dt>Morgawr</dt> <dd>A sea serpent.</dd>
<dt>Owlman</dt> <dd>A giant owl-like creature.</dd> </dl>
HTMLãèªã¿èŸŒãã§ããå®è¡ããããã«ã</body>ã®åã«<script>ãèšèŒãã
1.HTMLäžã«JavaScriptãçŽæ¥èšè¿°ãã
</body>
<script>
// JavaScriptã³ãŒããèšè¿°ãã
console.log("Hello World"); //éçºè
ããŒã«ã®ã³ã³ãœãŒã«ã¿ãã«è¡šç€ºããã
</script>
2.JavaScriptãã¡ã€ã«ã«èšè¿°ãã
<script src="./script.js"></script>
</body>
ææžãã»ã¯ã·ã§ã³ã®ããã¿ãŒãå®çŸ©ããããã«äœ¿ããã
ããã¿ãŒã«ã¯éåžžãææžã®äœè
ã«é¢ããæ
å ±ãèäœæš©ããŒã¿ãå©çšèŠçŽãžã®ãªã³ã¯ãé£çµ¡å
æ
å ±ãªã©ãå«ãŸãã
èšèŒå ŽæïŒ<main>ã®äž
æžãæ¹ãïŒ<footer>ããã¿ãŒãšããŠèšèŒãããé
ç®</footer>
äœè ã®é£çµ¡å ãå«ãããæã¯ã<addressr>ã«é£äœå æ å ±ãå«ãã
åèŠçŽ ã«accesskey屿§ãæå®ãããšãã·ã§ãŒãã«ãããèšå®ããã
<footer>
<!-- ä¿åãã¿ã³ã«"s"ã®ã·ã§ãŒãã«ãããèšå®ãã -->
<button type="submit" accesskey="s">ä¿å</button>
aria-hidden屿§ãtrueã«ããããšã§ãã¹ã¯ãªãŒã³ãªãŒããŒãªã©ã®è£å©æè¡ããããŒãžã®å 容ãé ãäºãåºæ¥ã
(äŸ)<div id="years" aria-hidden="true"></div>
aria-label屿§ã«èŠçŽ ã®å 容ãå®çŸ©ããããšã§ãã¹ã¯ãªãŒã³ãªãŒãã«èŠçŽ ã®å 容ãèªèãããããšãåºæ¥ã
(äŸ)ã<button aria-label="æ€çŽ¢"></button>
role屿§ãæå®ããããšã§ãHTMLèŠçŽ ã®æå³ãããæç¢ºã«ããã¹ã¯ãªãŒã³ãªãŒããŒãªã©ã®è£å©æè¡ãããŒãžã®å
å®¹ãæ£ç¢ºã«çè§£ã§ããããã«ãªã
ããã«ãããèŠèŠé害è
ãèŽèŠé害è
ãªã©ãæ§ã
ãªãŠãŒã¶ãŒããŠã§ããµã€ããããå¿«é©ã«å©çšã§ããããã«ãªã
WAI(Web Accessibility Initiative)ã«ãŠãåã»ã¯ã·ã§ã³èŠçŽ ã«region roleãäžããäºãæšå¥šãããŠãã
<section role="region"></section>
HTMLã«ã¯æ§ã
ãªãšã¹ã±ãŒãã·ãŒã±ã³ã¹(ç¹æ®æå)ååšãã
第è¡çãªãã®ã以äžã«ç€ºãããããäžæã衚瀺ãããªãäºã¯ãéœåºŠèª¿ã¹ãäº
| èšå·å | 衚瀺ãããæåå | ç¹æ®æå |
|---|---|---|
| å°ãªã | < | < |
| 倧ãªã | > | > |
| ã¢ã³ããµã³ã | & | & |
| ããã«ã¯ãªãŒããŒã·ã§ã³ | " | " |
| ã¢ãã¹ããã㣠| ' | ' |
| ã¹ããŒã¹ | | |
| åè§ã¹ããŒã¹1æå | ||
| å šè§ã¹ããŒã¹1æå | ã |   |
(è£è¶³)ã¹ããŒã¹ã«ã€ããŠ
ã¹ããŒã¹ããŒã§åè§/å
šè§ã¹ããŒã¹ããŒãå
¥åã§ããããåè§ã¹ããŒã¹ã¯2ã€ä»¥äžã®ã¹ããŒã¹ãå
¥ããŠã1ã€ããåæ ïœããªã
ãŸããå
šè§ã¹ããŒã¹ã¯å
¥åããåæ°ã ããåäžããå¯èœã ããã¬ã€ã¢ãŠã調æŽã«çµ¶å¯Ÿã«äœ¿çšããªãäº
å¿
ãã¬ã€ã¢ãŠã調æŽã¯CSSã§è¡ã
åçãµã€ãã«ãããHTMLã®ãã³ãã¬ãŒãã¯ããŠã§ãããŒãžã®æ§é ãå
±éã®ãã¶ã€ã³èŠçŽ ãå®çŸ©ããããã«åçãªããŒã¿ãåã蟌ãã§æçµçãªHTMLãçæããããã®ä»çµã¿
å€ãã®ããã°ã©ãã³ã°èšèªãWebãã¬ãŒã ã¯ãŒã¯ã§ãåçãªã³ã³ãã³ãçæãšè¡šç€ºã®ããã«ãã³ãã¬ãŒããšã³ãžã³ãå©çšãããŠãã
HTMLãã³ãã¬ãŒããå©çšããããšã®å©ç¹ïŒ
ã»ãã¬ãŒã³ããŒã·ã§ã³ããžãã¯ãšã¢ããªã±ãŒã·ã§ã³ããžãã¯ã®åé¢ããã
ãâHTMLã®ãã¶ã€ã³(èŠãç®)ãšãããŒã¿ãåŠçããPythonãªã©ã®ã³ãŒããåé¢ã§ããéçºãšä¿å®ã容æã«ãªã
ã»ãã¶ã€ããŒãšããã°ã©ããŒãããããã®å°éåéã«éäžã§ãã
ã»ã³ãŒãã®åå©çšæ§ãæ§é ãã
ãâå
±éã®ã¬ã€ã¢ãŠã(ããããŒãããã¿ãŒãããã²ãŒã·ã§ã³ãªã©)ããã³ãã¬ãŒããšããŠå®çŸ©ããè€æ°ã®ããŒãžã§åå©çšã§ãã
ã»éçºå¹çã®åäž
ãâç¹°ãè¿ãèšè¿°ããHTMLæ§é ããã³ãã¬ãŒãåããããšã§ãéçºè
ã¯åçãªã³ã³ãã³ãã®çæã«éäžã§ãã
ã»HTMLãããæ§é åãããå¯èªæ§ã®åäžãã
ãŠã§ããµã€ããã¢ããªã±ãŒã·ã§ã³ã«ãããŠã倧éã®ã³ã³ãã³ããè€æ°ã®ããŒãžã«åå²ããŠè¡šç€ºããããã®ä»çµã¿
äŸãã°ãæ€çŽ¢çµæãååäžèЧãããã°èšäºäžèЧãã³ã¡ã³ãäžèЧãªã©ã§ããèŠããã
å®éã®ã³ãŒãäŸã¯ãPytonã«èšè¿°
mdn web docs
ProEngineer
W3CScholl