プロフィールサイトを作って公開してみる

HTMLとCSS

作成するサイトイメージ

実際の見本は以下で確認できます。

作成内容

  1. スマホ等で各自が撮影した画像を紹介する
  2. おすすめするYouTube動画の紹介
  3. 好きな場所をGoogleマップの地図埋め込みで紹介

もちろんパソコン、スマートフォンどちらで閲覧しても見やすいサイトにします。

ファイル構成

XXXXはアップロードフォルダ名です。

ファイルの説明

index.htmlHTMLファイル
style.cssCSSファイル
icon.pngイケてる似顔絵メーカーで作成した各自のプロフィール画像
imgフォルダに保存
準備した画像ファイル(~.jpg)スマホやデジカメで撮影したJPEG形式の画像
※長辺を1280ピクセルにしてimgフォルダに保存

ひな型ダウンロード

イメージのひな型をZIP形式にて用意しました。必要部分を修正してお使いください。
※画像ファイルはicon.pngのみサンプルとして入っています。

HTMLとCSSのソースコード

index.html

<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width,user-scalable=yes">
	<link rel="stylesheet" type="text/css" href="style.css">
	<title>Profile of XXXXXX</title>
</head>

<body>

	<header>
		<h1>XXXXXX</h1>
	</header>
	
	<div id="contents">

		<!-- メイン -->
		<div id="main">

			<div class="waku">
				<h2>画像タイトル</h2>
				<p><img src="img/XXXXXX.jpg" alt="画像ファイルの説明"></p>
				<p class="caption">画像についてひとこと</p>
			</div>

			<div class="waku">
				<h2>動画タイトル</h2>
				<div class="umekomi">
					<!-- ここにYouTubeから取得したiframeタグを挿入 -->
				</div>
				<p class="caption">動画についてひとこと</p>
			</div>
			
			<div class="waku">
				<h2>地図タイトル</h2>
				<div class="umekomi">
					<!-- ここにGoogleマップから取得したiframeタグを挿入 -->
				</div>
				<p class="caption">地図についてひとこと</p>
			</div>
			
		</div>
		<!-- /メイン -->

		<!-- サイドバー -->
		<div id="sidebar">
			<p class="icon"><img src="img/icon.png" width="128" height="128" alt="管理人画像"></p>
			<p class="author">Author: XXXXXX</p>
			<p>自己紹介文</p>
		</div>
		<!-- /サイドバー -->

	</div>
	
	<footer>
		<p><small>&copy; 2021 XXXXXX</p>
	</footer>

</body>

</html>

style.css

/* style.css */
*{
	margin: 0;
	padding: 0;
}

body, p, form, ul, ol, input, button{
	font-size: 14pt;
	font-family: '游ゴシック', Futura, Helvetica, 'メイリオ', Osaka;
	color: #546e7a;
}

/* ヘッダー部分 */
header{
	font-family:  Monaco, 'Courier New';
	padding: 1em;
	background-color: forestgreen;
	color: #fffafa;
}

/* コンテンツ部分 */
#contents{
	display: flex;		/* 内包するボックスにフレキシブル要素を適用する */
}

/* メイン(左側要素) */
#main{
	flex: 1;			/* 伸び縮みする要素 */
	padding: 1em;
	background-color: white;
}

#main h2{
	font-size: 16pt;
	font-weight: 900;
}

#main .waku{
	margin-bottom: 1em;
	border: 1px solid #fff;
	padding: 10px;
	box-shadow: #aaa 3pt 3pt 7pt;
}

#main .waku .caption{
	background-color: #fffafa;
	padding : 0.5em 1em;
	border-radius: 5px;
	margin-top: 1em;
	font-size: 12pt;
}

#main img{
	width: 100%;
	height: auto;
}

/* GoogleマップやYouTube動画の埋め込みタグ(iframeタグ)をフィットさせる */
	/* 参考: https://whitewood-hp.com/web-tips/archives/3634 */
#main .umekomi{
	position : relative;
	height : 0;
	padding-bottom : 56.25%; /* 縦横比の指定 */
	overflow : hidden;
}
 
#main .umekomi iframe{
	position : absolute;
	top : 0;
	left : 0;
	width : 100%;
	height : 100%;
}
/* /GoogleマップやYouTube動画の埋め込みタグ(iframeタグ)をフィットさせる */

/* サイドバー(右側要素) */
#sidebar{
	flex-basis: 300px;	/* 固定幅の要素 */
	padding: 1em;
	background-color: #fff;
}

#sidebar .icon{
	text-align: center;
}

#sidebar .icon img{
	border-radius: 128px;
}

#sidebar .author{
	text-align: center;
	font-size: 10pt;
}

/* フッター部分 */
footer{
	padding: 1em;
	background-color: forestgreen;
	text-align: center;
}

footer p{
	color: #fff;
}

footer a{
	text-decoration: none;
	color: #fff;
}

/* 幅が狭くなったら、縦に並べる */
@media screen and (max-width: 800px){
	h1{
		text-align: center;
	}
	#contents{
		flex-direction: column;	/* 縦に */
	}
	#main{
		flex-basis: 100%;	/* 幅を再設定 */
	}
	#sidebar{
		flex-basis: 100%;	/* 幅を再設定 */
	}
	#sidebar p{
		text-align: center;
		font-size: 12pt;
	}
}

参考

GoogleマップとYouTube動画を埋め込む手順です

プロフィールサイトに利用したCSSフレックスボックス他レイアウトについての資料です

CSS GridとFlexboxで驚くほど簡単にレスポンシブレイアウトを実装する方法
レスポンシブWebデザインの実装に欠かせないメディアクエリを使わずに、CSS GridとFlexboxでレスポンシブなレ...

GoogleWebフォントを使ってみる

Google Web Fontsを使ってみよう

コメント

タイトルとURLをコピーしました