HTMLとCSSとJavaScriptをひたすら書いて動かして理解する【1回目】

#はじめに
最近は仕事でhtmlとcssとJavaScriptを使う機会が多くなりました。期待通りに動くものは作れるものの基本的な理解が追い付いていないような気がする今日この頃です。なので、基本的なことから、積み上げて、この記事に書いていこうと計画を立てております。

###まずは最も単純なページを作成する
```html:index.html
<html>
<head>
<meta charset="utf-8">
<title>タイトル</title>
</head>
<body>
ボディ
</body>
</html>
```
***

#ビデオを再生する機能を追加する
####動画ファイルを準備します。
今回はWindowsのカメラ機能を使って動画を作成しました。
1.Windowsスタート⇒カメラでカメラ機能を起動します。
2.ビデオのボタンを押して、ビデオの撮影を開始します。
3.録画停止ボタンを押して、録画を停止します。
4.ピクチャフォルダのカメラロールフォルダにmp4ファイルが生成されます。
5.mp4ファイルのファイル名をtest01.mp4に変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321513/e0035eb8-c094-1eb0-88ca-f87457bbf115.png)
index.htmlにvideoタグのプログラムを1行追加します。controlsを付けると再生ボタンが表示されますので付けましょう。

```html:index.html
<html>
<head>
<meta charset="utf-8">
<title>タイトル</title>
</head>
<body>
<video src="./test01.mp4" width="640" height="480" controls />
</body>
</html>
```
そして、index.htmlとtest01.mp4を同じフォルダに配置して、index.htmlをダブルクリックします。さっきのmp4がブラウザで再生することができました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321513/e4edb6f2-312d-d798-0288-ae4c3b9805b9.png)

#ビデオ再生画面を複数並べます。
##まずは横並びにします。
\<video\>タグを\</video\>で閉じています。

```html:index.html
<html>
<head>
<meta charset="utf-8">
<title>タイトル</title>
</head>
<body>
<video src="./test01.mp4" width="640" height="480" controls ></video>
<video src="./test01.mp4" width="640" height="480" controls ></video>
<video src="./test01.mp4" width="640" height="480" controls ></video>
<video src="./test01.mp4" width="640" height="480" controls ></video>
<video src="./test01.mp4" width="640" height="480" controls ></video>
<video src="./test01.mp4" width="640" height="480" controls ></video>
<video src="./test01.mp4" width="640" height="480" controls ></video>
</body>
</html>
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321513/623210f7-c162-fc98-ca21-c3d62d23341c.png)
横に並びました。

##つぎは縦並びにします。
\</video\>に\<br\>で改行を追加しました。

```html:index.html
<html>
<head>
<meta charset="utf-8">
<title>タイトル</title>
</head>
<body>
<video src="./test01.mp4" width="640" height="480" controls ></video><br>
<video src="./test01.mp4" width="640" height="480" controls ></video><br>
<video src="./test01.mp4" width="640" height="480" controls ></video><br>
<video src="./test01.mp4" width="640" height="480" controls ></video><br>
<video src="./test01.mp4" width="640" height="480" controls ></video><br>
<video src="./test01.mp4" width="640" height="480" controls ></video><br>
<video src="./test01.mp4" width="640" height="480" controls ></video>
</body>
</html>
```
縦に並びました。次はcssを使用して縦並びにします。

##つぎはcssを使用して縦並びにします。
index.cssファイルを作成して、index.html,test04.mp4と同じフォルダに配置します。\<br\>は削除します。

```html:index.html
<html>
<head>
    <link rel="stylesheet" href="index.css">
<meta charset="utf-8">
<title>タイトル</title>
</head>
<body>
    <video src="./test01.mp4" width="640" height="480" controls ></video>
    <video src="./test01.mp4" width="640" height="480" controls ></video>
    <video src="./test01.mp4" width="640" height="480" controls ></video>
    <video src="./test01.mp4" width="640" height="480" controls ></video>
    <video src="./test01.mp4" width="640" height="480" controls ></video>
    <video src="./test01.mp4" width="640" height="480" controls ></video>
    <video src="./test01.mp4" width="640" height="480" controls ></video>
</body>
</html>
```

ビデオ属性をブロック要素にするだけで縦に並びます。

```css:index.css
video {
    display:block;
}
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321513/31bf5067-64cd-eebd-ea83-a50fe38b039b.png)

##cssを編集して、斜めに並べます。

```css:index.css
video {
    display:block;
}
video:first-child{
    margin-left:0em;
}
video:nth-child(2){
    margin-left:40em;
}
video:nth-child(3){
    margin-left:80em;
}
video:nth-child(4){
    margin-left:120em;
}
video:nth-child(5){
    margin-left:160em;
}
video:nth-child(6){
    margin-left:200em;
}
video:nth-child(7){
    margin-left:240em;
}
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321513/cbd69ce1-3430-5e32-4898-8a63c9b7197e.png)

##マウスオーバーしたビデオを拡大するようにしてみます。
index.htmlを編集します。\<video\>を\<div\>要素で囲みます。classはclass01を付与。

```html:index.html
<html>
<head>
    <link rel="stylesheet" href="index.css">
<meta charset="utf-8">
<title>タイトル</title>
</head>
<body>
    <div class="class01">
        <video src="./test01.mp4" width="640" height="480" controls ></video>
        <video src="./test01.mp4" width="640" height="480" controls ></video>
        <video src="./test01.mp4" width="640" height="480" controls ></video>
        <video src="./test01.mp4" width="640" height="480" controls ></video>
        <video src="./test01.mp4" width="640" height="480" controls ></video>
        <video src="./test01.mp4" width="640" height="480" controls ></video>
        <video src="./test01.mp4" width="640" height="480" controls ></video>
    </div>
</body>
</html>
```

```css:index.css
.class01 video {
    transition: 1.0s;
}
.class01 video:hover {
    transform: scale(1.5, 1.5);
}

video {
    display:block;
}
video:first-child{
    margin-left:0em;
}
video:nth-child(2){
    margin-left:40em;
}
video:nth-child(3){
    margin-left:80em;
}
video:nth-child(4){
    margin-left:120em;
}
video:nth-child(5){
    margin-left:160em;
}
video:nth-child(6){
    margin-left:200em;
}
video:nth-child(7){
    margin-left:240em;
}
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/321513/59755d6a-bbf7-5603-584d-4e0ded0061a2.png)
マウスオーバーしたビデオが拡大されました。今回は1.5倍。transformのscaleを1.5にしているので。ちなみに、transitionの1.0sは拡大するまでの秒数です。10sとかにしてみると、拡大するまでに時間が掛かって気持ち悪い動きになります。



#おわりに
今回は、ブラウザで動画を再生する簡単なプログラムを作成しました。引き続き、簡単なプログラムをひたすら書いて記事にしていこうと思います。

それでは、また。