※サイト模写用に作成したページの解説です。
※使用画像はフリー素材からダウンロードしています。
※下記、模写サイトへボタンから該当のサイトへGo!!
MEMO
1.body
- 最大幅1080px
- 左右の余白は画面の4%
- フォントはArial, Helvetica, sans-serif
2.メインビジュアル
- 横幅いっぱい
- 高さは画面の60%表示
- ロゴを右下に配置
3.製品の特長
- 画像とテキストを横並び表示にし、コンテンツを交互に表示
- スマホの際は交互に表示を解除し、画像とテキストを縦表示
4.製品の歴史
- テキストはcssのpositionで配置
- スマホの際はpositionを解除し、画像とテキストを縦表示
5.お問合せ
- 背景に横幅いっぱいの画像を置く。高さは画面の80%
- その上に透過の白背景を置き、テキストを左右に配置
- スマホの際は背景画像の高さは画面の100%にし、テキストは縦に配置
6.フッター
- PCは4カラム、スマホは2カラム
7.レスポンシブ
- ブレークポイントは600px
HTML
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>camera|サイト模写</title>
<meta name="description" content="テキストテキストテキストテキスト">
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1 class="logo">
<img src="img/logo.png" alt="logo">
</h1>
</header>
<section id="flow">
<h2 class="section-title">Product specifications<br>
<span>製品の特長</span>
</h2>
<div class="wrapper">
<div class="box">
<div class="item">
<img src="img/01.jpg" alt="camera">
</div>
<div class="txt">
<div class="txtWrap">
<h2><span>01.</span>タイトルタイトル</h2>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
</div>
</div>
</div>
<div class="box">
<div class="item">
<img src="img/02.jpg" alt="camera">
</div>
<div class="txt">
<div class="txtWrap">
<h2><span>02.</span>タイトルタイトル</h2>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
</div>
</div>
</div>
<div class="box">
<div class="item">
<img src="img/03.jpg" alt="camera">
</div>
<div class="txt">
<div class="txtWrap">
<h2><span>03.</span>タイトルタイトル</h2>
<p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
</div>
</div>
</div>
</div>
</section>
<section id="feature">
<h2 class="section-title">Product history<br>
<span>製品の歴史</span>
</h2>
<div class="wrapper">
<div class="item">
<img src="img/04.jpg" alt="camera">
</div>
<div class="txt">
<h2>タイトルタイトルタイトルタイトル</h2>
<ul>
<li>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</li>
<li>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</li>
<li>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</li>
<li>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</li>
<li>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</li>
<li>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</li>
</ul>
</div>
</div>
</section>
<section id="contact">
<div class="wrapper">
<h2 class="section-title">Contact us<br>
<span>お問い合わせ</span>
</h2>
<div class="contactWrap">
<dl>
<dt>住所</dt>
<dd>〒000-0000<br>
テキストテキストテキストテキストテキスト</dd>
<dt>電話番号</dt>
<dd>00-0000-0000</dd>
<dt>営業時間</dt>
<dd>10:00 ~ 20:00</dd>
<a href="#">お問い合わせはこちら</a>
</dl>
<div class="online">
<p>オンラインショップの取り扱いはこちら</p>
<a href="#">amazon</a>
<a href="#">rakuten</a>
<a href="#">Yahoo</a>
</div>
</div>
</div>
</section>
<footer>
<div class="source wrapper">
<a href="index02.html#memo">MEMO</a>
<a href="index02.html#html">HTML</a>
<a href="index02.html#css">CSS</a>
</div>
<div class="footWrap wrapper">
<div class="item">
<h2>テキストテキストテキスト</h2>
<p>テキストテキストテキスト</p>
<p>テキストテキストテキスト</p>
</div>
<div class="item">
<h2>テキストテキストテキスト</h2>
<p>テキストテキストテキスト</p>
<p>テキストテキストテキスト</p>
</div>
<div class="item">
<h2>テキストテキストテキスト</h2>
<p>テキストテキストテキスト</p>
<p>テキストテキストテキスト</p>
</div>
<div class="item logo">
<img src="img/logo.png" alt="">
</div>
</div>
<p class="copy">© camera</p>
</footer>
</body>
</html>
css
html {
font-size: 100%;
}
body {
font-family: Arial, Helvetica, sans-serif;
line-height: 1.6;
}
*, *::before, *::after {
box-sizing: border-box;
}
a {
text-decoration: none;
color: #333;
}
a:hover {
opacity: 0.7;
}
img {
max-width: 100%;
vertical-align: bottom;
}
.wrapper {
max-width: 1080px;
margin: 0 auto;
padding: 0 4%;
}
.section-title {
text-align: center;
font-weight: bold;
font-size: 1.6rem;
margin-bottom: 60px;
}
.section-title span {
display: inline-block;
padding-top: 10px;
font-size: 0.8rem;
letter-spacing: 0.2rem;
font-weight: normal;
position: relative;
}
.section-title span::before, .section-title span::after {
content: "";
width: 120px;
height: 1px;
background-color: #333;
position: absolute;
bottom: 10px;
}
.section-title span::after {
left: 120px;
}
.section-title span::before {
right: 120px;
}
header {
background-image: url(img/mv.jpg);
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
width: 100%;
height: 70vh;
position: relative;
margin-bottom: 120px;
}
header .logo {
position: absolute;
bottom: 20px;
right: 30px;
width: 120px;
}
#flow {
margin-bottom: 120px;
}
#flow .wrapper .box {
display: flex;
flex-wrap: wrap;
}
#flow .wrapper .box:nth-child(odd) {
flex-direction: row-reverse;
}
#flow .wrapper .box .txt {
width: 50%;
display: flex;
align-items: center;
}
#flow .wrapper .box .txt .txtWrap {
padding: 0 8%;
}
#flow .wrapper .box .txt .txtWrap h2 {
font-size: 1.1rem;
font-weight: bold;
}
#flow .wrapper .box .txt .txtWrap h2 span {
font-size: 2rem;
}
#flow .wrapper .box .txt .txtWrap p {
font-size: 0.9rem;
}
#flow .wrapper .box .item {
width: 50%;
}
#feature {
margin-bottom: 120px;
}
#feature .wrapper {
padding: 40px 80px;
background-color: #000;
position: relative;
}
#feature .wrapper .item {
margin-left: 50%;
width: 50%;
}
#feature .wrapper .item img {
height: 500px;
object-fit: cover;
}
#feature .wrapper .txt {
position: absolute;
top: 22%;
color: #fff;
}
#feature .wrapper .txt h2 {
font-weight: bold;
font-size: 1.3rem;
margin-bottom: 30px;
}
#feature .wrapper .txt ul li {
margin-bottom: 15px;
margin-left: 30px;
list-style: disc;
}
#contact {
padding: 80px 0;
height: 80vh;
background-image: url(img/bgimg.jpg);
background-position: center top;
padding: 100px 0;
}
#contact .wrapper {
font-size: 0.9rem;
background-color: #fff;
opacity: 0.6;
height: calc(80vh - 200px);
padding: 50px 0;
text-align: center;
}
#contact .wrapper .section-title {
margin-bottom: 30px;
}
#contact .wrapper .contactWrap {
display: flex;
}
#contact .wrapper .contactWrap dl {
width: 50%;
text-align: left;
display: flex;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 30px;
padding: 0 5%;
border-right: 1px solid #333;
}
#contact .wrapper .contactWrap dl dt {
width: 25%;
margin-bottom: 15px;
}
#contact .wrapper .contactWrap dl dd {
width: 75%;
margin-bottom: 15px;
}
#contact .wrapper .contactWrap dl a {
display: block;
padding: 10px 30px;
border: 1px solid #333;
margin-top: 10px;
}
#contact .wrapper .contactWrap .online {
width: 50%;
}
#contact .wrapper .contactWrap .online p {
font-weight: bold;
font-size: 1rem;
margin-bottom: 30px;
}
#contact .wrapper .contactWrap .online a {
display: inline-block;
width: 30%;
border: 1px solid #333;
margin-right: 2px;
}
footer {
font-size: 0.8rem;
padding: 100px 0 10px;
background-color: #000;
color: #fff;
}
footer .source {
display: flex;
justify-content: end;
margin-bottom: 20px;
}
footer .source a {
font-size: 0.8rem;
padding: 10px 30px;
border: 1px solid #fff;
color: #fff;
margin: 0 2px 20px;
}
footer .footWrap {
display: flex;
justify-content: space-between;
align-items: center;
}
footer .footWrap .item {
margin-right: 10px;
width: calc(25% - 30px);
margin-bottom: 15px;
}
footer .footWrap .item:last-child {
margin-right: 0;
}
footer .footWrap .item h2 {
font-weight: bold;
font-size: 1rem;
border-bottom: 1px solid #fff;
margin-bottom: 10px;
}
footer .footWrap .item img {
width: 120px;
}
footer .copy {
text-align: center;
}
@media screen and (max-width: 600px) {
.section-title {
margin-bottom: 30px;
}
.section-title span::before, .section-title span::after {
width: 60px;
}
header {
margin-bottom: 60px;
}
#flow {
margin-bottom: 60px;
}
#flow .wrapper .box {
flex-direction: column;
}
#flow .wrapper .box .item {
width: 100%;
margin-bottom: 10px;
}
#flow .wrapper .box .txt {
width: 100%;
margin-bottom: 30px;
}
#flow .wrapper .box .txt .txtWrap {
position: static;
}
#flow .wrapper .box .txt .txtWrap h2 {
font-size: 1.2rem;
}
#flow .wrapper .box .txt .txtWrap h2 span {
font-size: 1.6rem;
}
#feature {
margin-bottom: 60px;
}
#feature .wrapper {
padding: 40px 4%;
}
#feature .wrapper .item {
margin-left: 0;
width: 100%;
margin-bottom: 30px;
}
#feature .wrapper .txt {
position: static;
font-size: 0.9rem;
}
#feature .wrapper .txt h2 {
font-size: 1.2rem;
margin-bottom: 10px;
}
#contact {
padding: 30px 4%;
height: 100vh;
}
#contact .wrapper {
height: calc(100vh - 60px);
}
#contact .wrapper .contactWrap {
flex-direction: column;
}
#contact .wrapper .contactWrap dl {
width: 100%;
border-right: none;
}
#contact .wrapper .contactWrap .online {
width: 100%;
}
#contact .wrapper .contactWrap .online a {
display: block;
margin: 0 auto;
width: 80%;
margin-bottom: 10px;
}
#contact .wrapper .contactWrap .online p {
margin-bottom: 10px;
}
footer .source {
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 20px;
}
footer .source a {
width: 49.5%;
margin-bottom: 2px;
margin: 0 0 2px;
}
footer .footWrap {
flex-wrap: wrap;
}
footer .footWrap .item {
width: 45%;
margin-right: 0;
}
}