HTML52020年10月18日 | |
はじめにHTML5 についてのメモ。 基本構造HTML5 の基本構造は次のようになっている。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>タイトル</title>
</head>
<body>
.. 本文 ..
</body>
</html>
その他は HTML4.01 とだいたい同じだが、<center>...</center> など、廃止されているタグもある。 スタイルシートは、<head>...</head> の中で次のように指定する。 <link rel="stylesheet" href="default.css"> 追加されたタグ追加されたタグがいくつかあるが、一番目立つのはグラフィックスを扱う <canvas>...</canvas> であろう。たとえば、スクリプトで線を描画したりできる。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Canvas</title>
</head>
<body>
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
let c = document.getElementById("myCanvas");
let ctx = c.getContext("2d");
ctx.moveTo(0, 0);
ctx.lineTo(200, 100);
ctx.stroke();
</script>
</body>
</html>
ヘッダー・フッターの固定HTML5 にはヘッダーとフッターのタグがある。ヘッダー・フッターを動かないように固定するには、CSS を用いる。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="default.css">
<title>タイトル</title>
</head>
<body>
<header>
<p>ヘッダー</p>
</header>
.. 本文 ..
<footer>
<p>フッター</p>
</footer>
</body>
</html>
defaults.css
header {
background: #ffffff;
position: fixed;
top: 0;
left: 0;
width: 100%;
}
body {
padding-top: 32px;
padding-bottom: 32px;
}
footer {
background: #ffffff;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
}
テキストでボタンを作る<div class="button"><a href="#">ボタン</a></div> CSS
div.button a {
width: 100px;
border-radius: 5px;
background-color: #0066ff;
color: #ffffff;
display: block;
font-family: sans-serif;
font-size: large;
font-weight: bold;
text-decoration: none;
margin: 5px auto;
padding: 5px 0;
text-align: center;
}
ただし、href に "#" を指定するので、1 画面で収まるページでないと使いにくい。指型ポインタにしたいだけなので、a 要素を使わずに代わりに CSS で "cursor: pointer" を指定してもよい。その際、テキストが選択されないようにする必要がある。 <div class="button">ボタン</div> CSS
div.button {
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
width: 100px;
border-radius: 5px;
background-color: #0066ff;
color: #ffffff;
display: block;
font-family: sans-serif;
font-size: large;
font-weight: bold;
text-decoration: none;
margin: 5px auto;
padding: 5px 0;
text-align: center;
}
インラインのボタンにするには、次のようにする。 <span class="button">ボタン</span> CSS
span.button {
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
width: 100px;
background-color: #0066ff;
color: #ffffff;
display: inline-block;
font-family: sans-serif;
font-size: large;
font-weight: bold;
text-decoration: none;
margin: 5px auto;
padding: 5px 0;
text-align: center;
}
画像がない場合に差し替える<img src="fig.png" onError="this.onerror=null;this.src='no_image.png';"> 画像をウインドウサイズに合わせるCSS
div img {
width: 100%;
}
画像を横に並べてスクロールCSS
div {
display: flex;
overflow-x: scroll;
}
ローカルのテキストファイルの読み取り<iframe src="text.txt" scrolling="no"></iframe> CSS
iframe {
width: 100%;
border: 0px;
display: block;
margin: auto;
}
ファイルを読み込む代わりにテキストを直接指定したい場合は、srcdoc に指定すればよい。src と srcdoc を同時に指定すると、srcdoc が優先される。 ただし、iframe 側では文字サイズを調整できない。 画像とテキストを同じ高さに置く<div class="logo"> <img src="logo.png"></img> <h1>タイトル</h> </div> CSS
.logo {
position: relative;
text-align: right;
}
.logo h1 {
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);
margin: auto;
}
ロゴを右端に表示しつつ、同じ高さでタイトルを中央に表示している。 表の線や隙間を調整する表の線を細くしたり、隙間を空けたりするには、以下のようにする。 CSS
th, td {
border: solid 1px;
padding: 5px;
}
table {
border-collapse: collapse;
}
表の色付けする奇数行にだけ色付けする。 CSS
table tr:nth-child(odd) td {
background: #eeddff;
}
最初の列だけ色付けする。 CSS
table td:nth-child(1) {
background: #ddeeff;
}
スクロールバーをつけるdiv 要素で囲って、CSS で次のように指定する。
div {
overflow-y: scroll;
}
要素を 1 画面に収める要素を 1 画面に収めるには、CSS で height に "100vh" などと指定する。 必須マーク<span class="must">必須</span> CSS
span.must {
background-color: #ff3300;
color: #ffffff;
display: inline-block;
font-family: sans-serif;
font-size: small;
font-weight: bold;
text-decoration: none;
margin: 5px auto;
padding: 2px 2px;
border-radius: 5px;
text-align: center;
}
テキストボックスを中央に配置するテキストを中央揃えにすると、すべての行が中央に配置されてしまう。そうではなくて、テキストボックスを中央に配置したい場合は、CSS で次のように指定する。 CSS
div {
width: 80%;
margin: 0 auto;
max-width: 640px;
}
グリッド状のリスト
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>グリッドリスト</title>
<style>
div#grid ol {
list-style-type: none;
margin: 0;
padding: 0;
}
div#grid li {
margin: 1px;
padding: 1px;
float: left;
width: 400px;
height: 400px;
text-align: center;
}
</style>
</head>
<body>
<div id="grid">
<ol>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ol>
</div>
</body>
</html>
動画の再生<video src="movie.mp4" controls></video> 参考 | |
| PENGUINITIS | |