背景の色を変えるコードの練習をしました。
ヘッダーとボディでそれぞれ色を変えて
組み合わせを考えるウェブサイトです。
①index.html
まずはindex.html
<!DOCTYPE html>
<html lang="ja">
<head >
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ColorChart for WebSite Color</title>
<link rel="stylesheet" href="css/styles.css">
<link rel="stylesheet" href="css/responsive.css">
</head>
<body id ="bodyTarget">
<header id = "headTarget">
<div class ="logo"></div>
<h1>Color</h1>
<main class = "mainH" >
<div class="box11" id="target11">pink</div>
<div class="box12" id="target12">orange</div>
<div class="box13" id="target13">orchid</div>
<div class="box14" id="target14">tomato</div>
<div class="box15" id="target15">skyblue</div>
<div class="box16" id="target16">wheat</div>
<div class="box17" id="target17">forestgreen</div>
<div class="box18" id="target18">coral</div>
<div class="box19" id="target19">lightblue</div>
<div class="box20" id="target20">greenyellow</div>
</main>
<div class ="sp-menu">
<span class="material-icons" id ="open"> menu </span>
</div>
</header>
<div class ="overlay">
<span class="material-icons" id ="close"> close </span>
<nav>
<ul>
<li><a href="#">Menu</a></li>
<li><a href="#">Menu</a></li>
<li><a href="#">Menu</a></li>
</ul>
</nav>
</div>
<div class = "colorBtn">
<main class = "mainC" >
<div class="box1" id="target1">pink</div>
<div class="box2" id="target2">orange</div>
<div class="box3" id="target3">orchid</div>
<div class="box4" id="target4">tomato</div>
<div class="box5" id="target5">skyblue</div>
</main>
<main class = "mainB">
<div class="box6" id="target6">wheat</div>
<div class="box7" id="target7">forestgreen</div>
<div class="box8" id="target8">coral</div>
<div class="box9" id="target9">lightblue</div>
<div class="box10" id="target10">greenyellow</div>
</main>
</div>
<script src ="js/main.js"></script>
</body>
</html>
次にstylesheet.css
body {
margin: 0;
font-family: Verdana,sans-serif;
background-color: rgb(121, 153, 196);
}
header {
display: flex;
padding: 0 16px;
background-color: aquamarine;
}
/* ヘッダーの高さはline-height */
header h1 {
margin: 0;
padding-right: 10px;
font-size: 32px;
line-height: 80px;
}
/* ヘッダーのカラーボタン */
.sp-menu {
margin-left: auto;
}
.sp-menu #open {
font-size: 32px;
line-height: 64px;
cursor: pointer;
}
.sp-menu #open.hide {
display: none;
}
/* ヘッダー部分 */
.overlay {
text-align: center;
padding: 64px;
opacity:0;
pointer-events: none;
position: fixed;
transition:opacity .6s;
top: 0;
bottom: 0;
right: 0;
left: 0;
background:rgba(225,225,225,0.95)
}
.overlay.show {
opacity: 1;
pointer-events: auto;
}
.overlay #close{
position: absolute;
top: 16px;
right: 16px;
font-size: 32px;
cursor: pointer;
}
.overlay ul {
list-style: none;
}
.overlay li {
margin-top: 24px;
opacity: 0;
transform: translate(16px);
transition: opacity .3s; transform: .3s;
}
.overlay.show li {
opacity: 1;
transform: none;
}
.overlay.show li:nth-child(1) {
transition-delay: .1s;
}
.overlay.show li:nth-child(2) {
transition-delay: .2s;
}
.overlay.show li:nth-child(3) {
transition-delay: .3s;
}
/* mainの中身は均等横並び */
main {
padding: 2px 16px 0 16px;
text-align: center;
display: flex;
color:rgba(0, 0, 0, 0.918);
}
.mainH{
padding: 2px 16px 0 16px;
text-align: center;
display: contents;
}
/* フレックスボックスの指定 */
/* body要素の色変更 */
.box1 {
margin: auto;
margin-top: 20px;
width: 136px;
height: 30px;
background: pink;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box2 {
margin: auto;
margin-top: 20px;
width: 136px;
height: 30px;
background: orange;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box3 {
margin: auto;
margin-top: 20px;
width: 136px;
height: 30px;
background: orchid;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box4 {
margin: auto;
margin-top: 20px;
width: 136px;
height: 30px;
background: tomato;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box5 {
margin: auto;
margin-top: 20px;
width: 136px;
height: 30px;
background: skyblue;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box6 {
margin: auto;
margin-top: 20px;
width: 136px;
height: 30px;
background: wheat;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box7 {
margin: auto;
margin-top: 20px;
width: 136px;
height: 30px;
background: forestgreen;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box8 {
margin: auto;
margin-top: 20px;
width: 136px;
height: 30px;
background: coral;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box9 {
margin: auto;
margin-top: 20px;
width: 136px;
height: 30px;
background: lightblue;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box10 {
margin: auto;
margin-top: 20px;
width: 136px;
height: 30px;
background: greenyellow;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
/* header フレックスボックス指定 */
/* ヘッダー要素の背景変更 */
.box11 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: pink;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box12 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: orange;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box13 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: orchid;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box14 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: tomato;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box15 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: skyblue;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box16 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: wheat;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box17 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: forestgreen;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box18 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: coral;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box19 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: lightblue;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box20 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: greenyellow;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
それから、responsive.css
@media (max-width: 1030px) {
body {
font-family: Verdana,sans-serif;
background-color: rgb(121, 153, 196);
}
header {
display: flex;
padding: 0 16px;
background-color: aquamarine;
}
/* ヘッダーの高さはline-height */
header h1 {
margin: 0;
font-size: 16px;
line-height: 80px;
padding-right: 5px;
}
/* ヘッダーのカラーボタン */
.sp-menu {
margin-left: auto;
}
.sp-menu #open {
font-size: 16px;
padding-left: 5px;
line-height: 80px;
cursor: pointer;
}
.sp-menu #open.hide {
display: none;
}
/* ヘッダー部分 */
.overlay {
text-align: center;
padding: 64px;
opacity:0;
pointer-events: none;
position: fixed;
transition:opacity .6s;
top: 0;
bottom: 0;
right: 0;
left: 0;
background:rgba(225,225,225,0.95)
}
.overlay.show {
opacity: 1;
pointer-events: auto;
}
.overlay #close{
position: absolute;
top: 16px;
right: 16px;
font-size: 32px;
cursor: pointer;
}
.overlay ul {
list-style: none;
}
.overlay li {
margin-top: 24px;
opacity: 0;
transform: translate(16px);
transition: opacity .3s; transform: .3s;
}
.overlay.show li {
opacity: 1;
transform: none;
}
.overlay.show li:nth-child(1) {
transition-delay: .1s;
}
.overlay.show li:nth-child(2) {
transition-delay: .2s;
}
.overlay.show li:nth-child(3) {
transition-delay: .3s;
}
/* mainの中身は均等横並び */
main {
padding: 2px 16px 0 16px;
text-align: center;
display: contents;
}
.mainH{
font-size: 5px;
padding: 10px 16px 0 16px;
text-align: center;
display: contents;
}
/* フレックスボックスの指定 */
/* body要素の色変更 */
.box1 {
margin: auto;
margin-top: 20px;
width: 320px;
height: 30px;
background: pink;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box2 {
margin: auto;
margin-top: 20px;
width: 320px;
height: 30px;
background: orange;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box3 {
margin: auto;
margin-top: 20px;
width: 320px;
height: 30px;
background: orchid;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box4 {
margin: auto;
margin-top: 20px;
width: 320px;
height: 30px;
background: tomato;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box5 {
margin: auto;
margin-top: 20px;
width: 320px;
height: 30px;
background: skyblue;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box6 {
margin: auto;
margin-top: 20px;
width: 320px;
height: 30px;
background: wheat;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box7 {
margin: auto;
margin-top: 20px;
width: 320px;
height: 30px;
background: forestgreen;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box8 {
margin: auto;
margin-top: 20px;
width: 320px;
height: 30px;
background: coral;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box9 {
margin: auto;
margin-top: 20px;
width: 320px;
height: 30px;
background: lightblue;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box10 {
margin: auto;
margin-top: 20px;
width: 320px;
height: 30px;
background: palegoldenrod;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
/* header フレックスボックス指定 */
/* ヘッダー要素の背景変更 */
.box11 {
margin: auto;
margin-top: 20px;
width: 65px;
height: 30px;
background: pink;
cursor: pointer;
padding-top: 10px;
border-radius: 5%;
}
.box12 {
margin: auto;
margin-top: 20px;
width: 65px;
height: 30px;
background: orange;
cursor: pointer;
padding-top: 10px;
border-radius: 5%;
}
.box13 {
margin: auto;
margin-top: 20px;
width: 65px;
height: 30px;
background: orchid;
cursor: pointer;
padding-top: 10px;
border-radius: 5%;
}
.box14 {
margin: auto;
margin-top: 20px;
width: 65px;
height: 30px;
background: tomato;
cursor: pointer;
padding-top: 10px;
border-radius: 5%;
}
.box15 {
margin: auto;
margin-top: 20px;
width: 65px;
height: 30px;
background: skyblue;
cursor: pointer;
padding-top: 10px;
border-radius: 5%;
}
.box16 {
margin: auto;
margin-top: 20px;
width: 65px;
height: 30px;
background: wheat;
cursor: pointer;
padding-top: 10px;
border-radius: 5%;
}
.box17 {
margin: auto;
margin-top: 20px;
width: 65px;
height: 30px;
background: forestgreen;
cursor: pointer;
padding-top: 10px;
border-radius: 5%;
}
.box18 {
margin: auto;
margin-top: 20px;
width: 65px;
height: 30px;
background: coral;
cursor: pointer;
padding-top: 10px;
border-radius: 5%;
}
.box19 {
margin: auto;
margin-top: 20px;
width: 65px;
height: 30px;
background: lightblue;
cursor: pointer;
padding-top: 10px;
border-radius: 5%;
}
.box20 {
margin: auto;
margin-top: 20px;
width: 65px;
height: 30px;
background: greenyellow;
cursor: pointer;
padding-top: 10px;
border-radius: 5%;
}
}
@media (max-width: 670px) {
body {
margin: 0;
font-family: Verdana,sans-serif;
background-color: rgb(121, 153, 196);
}
header {
display: none;
padding: 0 16px;
background-color: aquamarine;
}
/* ヘッダーの高さはline-height */
header h1 {
margin: 0;
font-size: 32px;
line-height: 80px;
}
/* ヘッダーのカラーボタン */
.sp-menu {
margin-left: auto;
}
.sp-menu #open {
font-size: 32px;
line-height: 64px;
cursor: pointer;
}
.sp-menu #open.hide {
display: none;
}
/* ヘッダー部分 */
.overlay {
text-align: center;
padding: 64px;
opacity:0;
pointer-events: none;
position: fixed;
transition:opacity .6s;
top: 0;
bottom: 0;
right: 0;
left: 0;
background:rgba(225,225,225,0.95)
}
.overlay.show {
opacity: 1;
pointer-events: auto;
}
.overlay #close{
position: absolute;
top: 16px;
right: 16px;
font-size: 32px;
cursor: pointer;
}
.overlay ul {
list-style: none;
}
.overlay li {
margin-top: 24px;
opacity: 0;
transform: translate(16px);
transition: opacity .3s; transform: .3s;
}
.overlay.show li {
opacity: 1;
transform: none;
}
.overlay.show li:nth-child(1) {
transition-delay: .1s;
}
.overlay.show li:nth-child(2) {
transition-delay: .2s;
}
.overlay.show li:nth-child(3) {
transition-delay: .3s;
}
/* mainの中身は均等横並び */
main {
padding: 2px 16px 0 16px;
text-align: center;
font-size: 18px;
}
/* フレックスボックスの指定 */
/* body要素の色変更 */
.box1 {
margin: auto;
margin-top: 20px;
width: 150px;
height: 30px;
background: pink;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box2 {
margin: auto;
margin-top: 20px;
width: 150px;
height: 30px;
background: orange;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box3 {
margin: auto;
margin-top: 20px;
width: 150px;
height: 30px;
background: purple;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box4 {
margin: auto;
margin-top: 20px;
width: 150px;
height: 30px;
background: tomato;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box5 {
margin: auto;
margin-top: 20px;
width: 150px;
height: 30px;
background: skyblue;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box6 {
margin: auto;
margin-top: 20px;
width: 150px;
height: 30px;
background: wheat;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box7 {
margin: auto;
margin-top: 20px;
width: 150px;
height: 30px;
background: forestgreen;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box8 {
margin: auto;
margin-top: 20px;
width: 150px;
height: 30px;
background: coral;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box9 {
margin: auto;
margin-top: 20px;
width: 150px;
height: 30px;
background: lightblue;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box10 {
margin: auto;
margin-top: 20px;
width: 150px;
height: 30px;
background: greenyellow;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
/* header フレックスボックス指定 */
/* ヘッダー要素の背景変更 */
.box11 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: pink;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box12 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: orange;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box13 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: purple;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box14 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: tomato;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box15 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: skyblue;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box16 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: wheat;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box17 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: forestgreen;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box18 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: coral;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box19 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: lightblue;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
.box20 {
margin: auto;
margin-top: 20px;
width: 100px;
height: 30px;
background: greenyellow;
cursor: pointer;
padding-top: 5px;
border-radius: 5%;
}
}
最後にmain.js
'use strict';
{
const open = document.getElementById("open");
const overlay = document.querySelector(".overlay");
const close = document.getElementById("close");
open.addEventListener("click",()=>{
overlay.classList.add("show");
open.classList.add("hide");
});
close.addEventListener("click",()=>{
overlay.classList.remove("show");
open.classList.remove("hide");
});
// bodyの背景を変えるスクリプト
document.getElementById('target1').addEventListener('click',function(){
document.getElementById('bodyTarget').style.background = 'pink';
})
document.getElementById('target2').addEventListener('click',function(){
document.getElementById('bodyTarget').style.background = 'orange';
})
document.getElementById('target3').addEventListener('click',function(){
document.getElementById('bodyTarget').style.background = 'orchid';
})
document.getElementById('target4').addEventListener('click',function(){
document.getElementById('bodyTarget').style.background = 'tomato';
})
document.getElementById('target5').addEventListener('click',function(){
document.getElementById('bodyTarget').style.background = 'skyblue';
})
document.getElementById('target6').addEventListener('click',function(){
document.getElementById('bodyTarget').style.background = 'wheat';
})
document.getElementById('target7').addEventListener('click',function(){
document.getElementById('bodyTarget').style.background = 'forestgreen';
})
document.getElementById('target8').addEventListener('click',function(){
document.getElementById('bodyTarget').style.background = 'coral';
})
document.getElementById('target9').addEventListener('click',function(){
document.getElementById('bodyTarget').style.background = 'lightblue';
})
document.getElementById('target10').addEventListener('click',function(){
document.getElementById('bodyTarget').style.background = 'greenyellow';
})
// ヘッダーの背景を変えるスクリプト
// bodyの背景を変えるスクリプト
document.getElementById('target11').addEventListener('click',function(){
document.getElementById('headTarget').style.background = 'pink';
})
document.getElementById('target12').addEventListener('click',function(){
document.getElementById('headTarget').style.background = 'orange';
})
document.getElementById('target13').addEventListener('click',function(){
document.getElementById('headTarget').style.background = 'orchid';
})
document.getElementById('target14').addEventListener('click',function(){
document.getElementById('headTarget').style.background = 'tomato';
})
document.getElementById('target15').addEventListener('click',function(){
document.getElementById('headTarget').style.background = 'skyblue';
})
document.getElementById('target16').addEventListener('click',function(){
document.getElementById('headTarget').style.background = 'wheat';
})
document.getElementById('target17').addEventListener('click',function(){
document.getElementById('headTarget').style.background = 'forestgreen';
})
document.getElementById('target18').addEventListener('click',function(){
document.getElementById('headTarget').style.background = 'coral';
})
document.getElementById('target19').addEventListener('click',function(){
document.getElementById('headTarget').style.background = 'lightblue';
})
document.getElementById('target20').addEventListener('click',function(){
document.getElementById('headTarget').style.background = 'greenyellow';
})
}