イセンチュートリアルサイト
  • CSS
    • スクロールダウン
    • テキストナビゲーション
    • ボタン
    • メニュー
    • 動画
    • 検索
    • 画像リンクの動き
    • 背景の動き
  • Illustrator
  • JS
    • アコーディオンパネル
    • アニメーション
    • エリアの動き
    • ギャラリー
    • グラフ
    • スライド
    • テキストの動き
    • ニュースティッカー
    • ページトップリンク
    • ページ内リンク
    • メニュー
    • モーダルウィンドウ
    • ローディング
  • Photoshop
  • PHP
  • WordPress
    • プラグイン
    • リンク
  • お客様観覧用
    • WEB制作プラン
    • アニメーション
    • グローバルナビゲーション
    • スライド
  • サーバー
    • CPI
  • 未分類
  • 法律
    • 医療法
    • 柔道整復師法
TOP CSS 動画

CSS

カテゴリーページ

  • YouTubeを使って、画面全体に背景動画を流す

    カテゴリー:動画


     

    HTMLの書き方

    head終了タグ直前に自作のCSSを読み込みます。

    <link rel="stylesheet" type="text/css" href="css/6-3-2.css">

    body内の背景動画を表示させたい場所にHTMLを記載します。

    <header id="header">
    	<div id="loading">Loading...</div>
    	<div id="youtube-area">
    		<h1>Title</h1>
    		<div id="youtube"></div><!--youtube表示エリア-->
    		<div id="youtube-mask"></div><!--youtubeマスクエリア-->
    	</div>
    </header>
    <div id="container">
    	<p>ここに下のコンテンツが入ります</p>
    <!--/container--></div>

    body 終了タグ直前に jQuery、動きを制御する自作のJS の2 つを読み込みます。

    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
    <!--自作のJS-->
    <script src="js/6-3-2.js"></script>

     

    CSSの書き方

    /*========= 背景動画設定のCSS ===============*/
    /*header設定*/
    #header{
    	position: relative;/*ローディング画像などを表示す際の基点とするため指定*/
    	height: 100vh;/*高さを全画面にあわせる*/
    	text-align: center;
    	color: #fff;
    	
    	/*ローディング画面時&動画が表示されないときに表示する背景画像のレスポンシブ化*/
    	background: url("../img/movie.jpg") no-repeat;
    	background-size: cover;
    }
    
    /* ローディングアイコン設定 */
    #loading {
    	position: absolute;
    	top: 50%;
    	left: 50%;
    	transform: translate(-50%, -50%);
    	font-weight: bold;
    }
    
    /*jQueryで付与されたdisappearクラスがついたらロゴエリアを非表示*/
    #loading.disappear{
    	display: none;   
    }
    
    /* youtube設定 */
    #youtube-area{
    	position: fixed;
    	z-index: 1;/*最背面に設定*/
    	top: 0;
    	right:0;
    	left:0;
    	bottom:0;
    	overflow: hidden;
    	opacity: 0;    
    }
    
    /*jQueryで付与されたappearクラスがついたらYoutubeエリアをふわっと表示*/
    #youtube-area.appear {
    	animation-name:PageAnimeAppear;
    	animation-duration:.5s;
    	animation-fill-mode:forwards;
    }
    
    @keyframes PageAnimeAppear{
    	0% {
    		opacity: 0;
    	}
    	100% {
    		opacity: 1;
    	}
    }
    
    #youtube {
    	/*天地中央配置*/
    	position: absolute;
    	top: 50%;
    	left: 50%;
    	transform: translate(-50%, -50%);
    
    	/*縦横幅指定*/
    	width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9= 177.77% */
    	height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    	min-height: 100%;
    	min-width: 100%;
    }
    
    /*youtubeがクリックされないためのマスク*/
    #youtube-mask{
    	position: absolute;
    	z-index: 2;/*下から2番目に表示*/
    	top:0;
    	width:100%;
    	height: 100%;
    }
    
    /*youtube 上のロゴ */
    h1{
    	position:absolute;
    	z-index: 2;/*下から2番目に表示*/
    
    	/*天地中央配置*/
    	top: 50%;
    	left: 50%;
    	transform: translateY(-50%) translateX(-50%);
    
    	/*色指定*/
    	color:#fff;
    	text-shadow: 0 0 15px #666;
    }
    
    /*下のコンテンツ*/
    #container{
    	position: relative;/*relativeを指定してfixed指定をした#youtube-areaの上に表示*/
    	z-index: 3;/*一番上に表示*/
    
    	/*見た目の調整*/
    	background:#333;
    	color: #fff;
    	padding:300px 0;
    	text-align: center;
    }
    

     

    JSの書き方

    //ローディング画面
    $(window).on('load',function(){    
    	$("#youtube-area").addClass('appear');
    	$("#loading").addClass('disappear');
    });
    
    //youtube API
    var tag = document.createElement('script');
    tag.src = "https://www.youtube.com/iframe_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
    var ytPlayer;
    function onYouTubeIframeAPIReady() {
    	ytPlayer = new YT.Player('youtube', {//動画を表示させたいIDを指定
    		videoId: 'Kq95zgCrxeY',//動画のアドレスの指定
    		playerVars: {
    			playsinline: 1,// インライン再生を行う
    			autoplay:1,//自動再生を行う
    			fs:0,//全画面表示ボタンを表示しない    
    			rel: 0,// 再生中の動画と同じチャンネルの関連動画を表示
    			controls: 0,// プレーヤー コントロールを表示しない
    			modestbranding: 1, // YouTubeロゴの非表示
    			iv_load_policy: 3, // アノテーションの非表示
    			start:50,//50秒後から動画がスタート
    		},    
    		events: {// イベント
    			'onReady': onPlayerReady,
    			'onStateChange': onPlayerStateChange
    		}
    	});
    }
    
    //ミュートにしてから再生する設定
    function onPlayerReady(event) {
    	event.target.mute();
    	event.target.playVideo();
    }
    
    
    //ループ設定
    function onPlayerStateChange(event) {
    	if (event.data == YT.PlayerState.ENDED) {
    		event.target.playVideo();
    	}
    }
    
    投稿日:2022年07月28日
  • 画面全体に背景動画を流す

    カテゴリー:動画


     

    HTMLの書き方

    head終了タグ直前に自作のCSSを読み込みます。

    <link rel="stylesheet" type="text/css" href="css/6-3-1.css">

    video ファイルと代替え画像を用意します。video ファイルは各ブラウザに対応するため .mp4、.ogv、.webmの3 種類を用意します。

    ※動画は、ユーザーのページの読み込み時間や再生時の挙動を削減するため4MB 以下を目安に制作しましょう。
    ※無料の高画質video 素材は Pixabay (https://pixabay.com/)などのサービスを活用しましょう。

    body内の背景動画を表示させたい場所にHTMLを記載します。

    <header id="header">
    	<h1>Title</h1>
    	<div id="video-area">
    		<video id="video" poster="img/movie.jpg" webkit-playsinline playsinline muted autoplay loop>
    			<!--
    				poster:動画ファイルが利用できない環境で代替表示される画像
    				webkit-playsinline:iOS 9までのSafari用インライン再生指定
    				playsinline:iOS 10以降のSafari用インライン再生指定
    				muted:音声をミュートさせる
    				autoplay:動画を自動再生させる
    				loop:動画をループさせる
    				controls:コントロールバーを表示する
    			-->
    			<source src="video/movie.mp4" type="video/mp4">
    			<source src="video/movie.ogv" type="video/ogv">
    			<source src="video/movie.webm" type="video/webm">
    			<p>動画を再生できる環境ではありません。</p>
    		</video>
    	<!--/video-area--></div>
    </header>

     

    CSSの書き方

    /*========= 背景動画設定のCSS ===============*/
    
    /*header設定*/
    #header{
    	position: relative;/*h1の中央寄せ配置の起点とするためのrelative*/
    	height: 100vh;/*高さを全画面にあわせる*/
    }
    
    #video-area{
    	position: fixed;
    	z-index: -1;/*最背面に設定*/
    	top: 0;
    	right:0;
    	left:0;
    	bottom:0;
    	overflow: hidden;
    }
    
    #video {
    	/*天地中央配置*/
    	position: absolute;
    	z-index: -1;
    	top: 50%;
    	left: 50%;
    	transform: translate(-50%, -50%);
    
    	/*縦横幅指定*/
    	width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9= 177.77% */
    	height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    	min-height: 100%;
    	min-width: 100%;
    }
    
    /*見出し設定*/
    h1{
    	/*要素の配置*/
    	position:absolute;
    
    	/*要素を天地中央寄せ*/
    	top: 50%;
    	left: 50%;
    	transform: translateY(-50%) translateX(-50%);
    
    	/*見た目の調整*/
    	color:#fff;
    	text-shadow: 0 0 15px #666;
    }
    
    投稿日:2022年07月28日
1 / 11

アーカイブ

  • CSS (117)
    • スクロールダウン (8)
    • テキストナビゲーション (11)
    • ボタン (52)
    • メニュー (1)
    • 動画 (2)
    • 検索 (3)
    • 画像リンクの動き (23)
    • 背景の動き (17)
  • Illustrator (8)
  • JS (93)
    • アコーディオンパネル (2)
    • アニメーション (1)
    • エリアの動き (7)
    • ギャラリー (6)
    • グラフ (7)
    • スライド (9)
    • テキストの動き (17)
    • ニュースティッカー (1)
    • ページトップリンク (9)
    • ページ内リンク (2)
    • メニュー (28)
    • モーダルウィンドウ (1)
    • ローディング (3)
  • Photoshop (1)
  • PHP (20)
  • WordPress (4)
    • プラグイン (2)
    • リンク (1)
  • お客様観覧用 (11)
    • WEB制作プラン (1)
    • アニメーション (8)
    • グローバルナビゲーション (1)
    • スライド (1)
  • サーバー (6)
    • CPI (1)
  • 未分類 (6)
  • 法律 (2)
    • 医療法 (1)
    • 柔道整復師法 (1)
TOP
  • CSS
    • スクロールダウン
    • テキストナビゲーション
    • ボタン
    • メニュー
    • 動画
    • 検索
    • 画像リンクの動き
    • 背景の動き
  • Illustrator
  • JS
    • アコーディオンパネル
    • アニメーション
    • エリアの動き
    • ギャラリー
    • グラフ
    • スライド
    • テキストの動き
    • ニュースティッカー
    • ページトップリンク
    • ページ内リンク
    • メニュー
    • モーダルウィンドウ
    • ローディング
  • Photoshop
  • PHP
  • WordPress
    • プラグイン
    • リンク
  • お客様観覧用
    • WEB制作プラン
    • アニメーション
    • グローバルナビゲーション
    • スライド
  • サーバー
    • CPI
  • 未分類
  • 法律
    • 医療法
    • 柔道整復師法
© 2022 isen-print.