2021년 7월 13일 12일차

신종원·2021년 7월 13일

학습한 내용

html

<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- 모바일에 맞는 화면 제공 -->

<title>키즈가오</title>

<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel="stylesheet" type="text/css" href="css/animation.css">
<link rel="stylesheet" type="text/css" href="css/mobile.css">
<header id="intro">




	<div class="introWrap">
		<div class="logo"></div>
		<div class="lion"></div>
		<div class="rabbit"></div>
		<div class="bear"></div>
		<div class="monkey"></div>
	</div>

	<div class="cloudWrap">
		<div class="leftCloud"></div>
		<div class="rightCloud"></div>
		<div class="dragonfly"></div>
	</div>
</header>

<div id="farm1">
	<div class="leftRice1"></div>
	<div class="farmer"></div>
	<div class="rightRice1"></div>

	<div class="farmSpeechWrap">
		<img src="img/farm/farm1/farmspeech.png" align="우리쌀 점토">

		<p class="farmSpeech">
			 식재료만 넣은 안전한<br>
			 우리쌀 점토 키즈가오<br>
			 우리 쌀을 사용하여 만들어요.<br>
			 화학물질을 사용하지 않고,<br>
			 식재료를 사용해서 만든<br>
			 안전한 제품이랍니다.<br>
			 <!-- <br>: 줄바꿈 -->
		</p>
	</div>
</div>

<div id="farm2">
	<div class="leftRice2"></div>
	<div class="scarecrow"></div>
	<div class="rightRice2"></div>
</div>

<div id="farm3">
	<div class="farm3Window"></div>
	<div class="machineWrap">
		<div class="machine1"></div>
		<div class="sawShadow"></div>
		<div class="saw1"></div>
		<div class="saw2"></div>
		<div class="machineBird"></div>
		<div class="timer"></div>
	</div>

	<img class="farm3Bubble" src="img/farm/farm3/farm3bubble.png" alt="기계를 통해서 쌀알이 딱딱한 껍질은 벗어 냅니다.">
</div>

css - style

/ Default CSS 초기화 작업/
html, body {
margin: 0;
padding: 0;
}

body {
overflow-x: hidden;
}
/overflow-x: hidden : x축이 브라우저를 넘어가면 숨김처리(태그를 안하면 가로축에 스크롤이 생성됨)/

h1, h2, h3, h4, h5, h6, p {
margin: 0;
padding: 0;
}

button {
border: none;
background-color: transparent;
/배경색 투명/
}

.clearfix {
clear: both;
}

/Intro/
#intro {
width: 100%;
height: 1600px;
background-image: url(../img/intro/intro_bg.png);

/*padding-top: 100px -> 모든 컨텐츠들이 밀리기 때문에 사용 어려움*/

}

#intro .introWrap {
position: relative;
/중앙 정렬을 하기 위해(2차원, 3차원 특성 가지고있음)/
width: 760px;
height: 516px;
/background-color: yellow;/

left: 50%;
margin-left: -300px;

}

#intro .introWrap .logo {
position: absolute;

width: 760px;
height: 516px;
background-image: url(../img/intro/logo.png);

z-index: 100;

/*margin-top: 100px -> 마진 병합현상 때문에 사용하기 어려움*/

}

#intro .introWrap .lion {
position: absolute;
/부모의 포지션 상태에 따라서 3차원 특징이 적용된 자식의 top, left, right, bottom의 기준이 달라질 수 있다./

width: 161px;
height: 161px;
background-image: url(../img/intro/lion.png);

margin: 80px 0 0 30px;

}

#intro .introWrap .rabbit {
position: absolute;

width: 105px;
height: 129px;
background-image: url(../img/intro/rabbit.png);

margin: 90px 0 0 500px;

}

#intro .introWrap .bear {
position: absolute;

width: 112px;
height: 105px;
background-image: url(../img/intro/bear.png);

margin: 310px 0 0 560px;

z-index: 200;
/*logo 위쪽으로 올라감 z축이 더 위쪽에 있으므로*/

}

#intro .introWrap .monkey {
position: absolute;

width: 85px;
height: 93px;
background-image: url(../img/intro/monkey.png);

margin: 310px 0 0 50px;

z-index: 200;

}

#intro .cloudWrap {
position: relative;

width: 100%;
height: 1050px;
/*background-color: pink;*/

}

#intro .cloudWrap .leftCloud {
position: absolute;
/부모를 relative로 감싸주는 것이 안전/
width: 934px;
height: 816px;
background-image: url(../img/intro/cloud1.png);

left: 0;
z-index: 2;

}

#intro .cloudWrap .rightCloud {
position: absolute;

width: 834px;
height: 858px;
background-image: url(../img/intro/cloud2.png);

right: 0;

}

#intro .cloudWrap .dragonfly {
position: absolute;

width: 360px;
height: 228px;
background-image: url(../img/intro/dragonfly.png);

top: 800px;

}

/ Farm1 /

#farm1 {
position: relative;

width: 100%;
height: 800px;
background-image: url(../img/farm/farm1/farm1_bg.png);

}

#farm1 .leftRice1 {
position: absolute;

width: 390px;
height: 670px;
background-image: url(../img/farm/farm1/leftrice.png);

left: 0;

}

#farm1 .rightRice1 {
position: absolute;

width: 335px;
height: 570px;
background-image: url(../img/farm/farm1/rightrice.png);
right: 0;
top: 100px;

}

#farm1 .farmer {
position: absolute;

width: 747px;
height: 1078px;
background-image: url(../img/farm/farm1/farmer.png);

left: 50%;
margin-left: -310px;

}

#farm1 .farmSpeechWrap {
position: relative;

top: 250px;
left: 150px;

}

#farm1 .farmSpeechWrap .farmSpeech {
color: #895c2f;
font-size: 18px;
line-height: 27px;
}

/ Farm2 /
#farm2 {
position: relative;
width: 100%;
height: 850px;
background-image: url(../img/farm/farm2/farm2_bg.png);
}

#farm2 .leftRice2 {
float: left;

width: 250px;
height: 850px;
background-image: url(../img/farm/farm2/leftrice2.png);

}

#farm2 .rightRice2 {
float: right;

width: 236px;
height: 850px;
background-image: url(../img/farm/farm2/rightrice2.png);

}

#farm2 .scarecrow {
position: absolute;

width: 103px;
height: 206px;
background-image: url(../img/farm/farm2/scarecrow.png);

margin: 200px 0 0 300px;

}

/ Farm3 /

#farm3 {
position: relative;

width: 100%;
height: 850px;
background-image: url(../img/farm/farm3/farm3_bg.png);

}

#farm3 .farm3Window{
position: absolute;

width: 247px;
height: 169px;
background-image: url(../img/farm/farm3/window.png);

margin: 100px 0 0 100px;

}

#farm3 .machineWrap {
position: relative;

width: 600px;
height: 455px;
/*background-color: yellow;*/

left: 50%;
margin-left: -285px;
top: 150px;

}

#farm3 .machineWrap .machine1 {
position: absolute;
width: 586px;
height: 455px;
background-image: url(../img/farm/farm3/machine1.png);

z-index: 900;

}

#farm3 .machineWrap .sawShadow {
position: absolute;

width: 95px;
height: 95px;
background-image: url(../img/farm/farm3/sawshadow.png);

margin: 145px 0 0 145px;

}

#farm3 .machineWrap .saw1,
#farm3 .machineWrap .saw2 {
position: absolute;
width: 95px;
height: 95px;
background-image: url(../img/farm/farm3/saw.png);
}

#farm3 .machineWrap .saw1 {
margin: 140px 0 0 140px;
}

#farm3 .machineWrap .saw2 {
margin: 140px 0 0 350px;
}

#farm3 .machineWrap .timer {
position: absolute;

width: 103px;
height: 104px;
background-image: url(../img/farm/farm3/second.png);

margin: 125px 0 0 45px;

z-index: 999;

}

#farm3 .machineWrap .machineBird {
position: absolute;

width: 44px;
height: 49px;
background-image: url(../img/farm/farm3/machineBird.png);

margin: 220px 0 0 20px;

z-index: 999;

}

#farm3 .farm3Bubble {
position: absolute;

top: 350px;
right: 80px;

}

css - animation

/intro/

#intro .introWrap .lion {
animation: spinLion 1500ms linear infinite alternate;
}

@keyframes spinLion {
from {
transform: rotate(-10deg);
}

to {
	transform: rotate(10deg);
}

}

#intro .introWrap .rabbit {
animation: spinRabbit 1000ms linear infinite alternate;
}

@keyframes spinRabbit {
from {
transform: rotate(0deg);
}

to {
	transform: rotate(5deg);
}

}

#intro .introWrap .bear {
animation: spinBear 1000ms linear infinite alternate;
}

@keyframes spinBear {
from {
transform: rotate(10deg);
}

to {
	transform: rotate(-10deg);
}

}

#intro .introWrap .monkey {
animation: spinMonkey 800ms linear infinite alternate;
}

@keyframes spinMonkey {
from {
transform: rotate(20deg);
}

to {
	transform: rotate(50deg);
}

}

#intro .cloudWrap .dragonfly {
animation: flyDragonfly linear 7s infinite;
}

@keyframes flyDragonfly {
from {
left: -366px;
}

to {
	left: 100%;
	/*px로 설정하면 쓸데 없는 움직임이나 매번 브라우징 사이즈가 바뀌면 바꿔줘야한다.*/
}

}

/Farm3/

#farm3 .machineWrap .timer {
animation: rotateTimer 10000ms linear infinite;
}

@keyframes rotateTimer {
from {transform: rotate(0deg);}
to {transform: rotate(360deg);}
}

#farm3 .machineWrap .saw1 {
animation: rotateLeftSaw 10000ms linear infinite;
}

@keyframes rotateLeftSaw {
from {transform: rotate(0deg);}
to {transform: rotate(360deg);}
}

#farm3 .machineWrap .saw2 {
animation: rotateRightSaw 10000ms linear infinite;
}

@keyframes rotateRightSaw {
from {transform: rotate(360deg);}
to {transform: rotate(0deg);}
}

css - mobile

@media (max-width: 767px) {

#intro {
	height: 1150px;
	background-image: url(../img/mobile/intro/mobile_intro_bg.png);
}

#intro .introWrap {
	width: 189px;
	height: 129px;

	margin-left: -94.5px;
	/*width의 절반값으로 센터 지정*/
	/*background-color: yellow;*/

	top: 230px;
}

#intro .introWrap .logo {
	width: 189px;
	height: 129px;
	background-image: url(../img/mobile/intro/mobile_intro_logo);
}

#intro .introWrap .lion,
#intro .introWrap .rabbit,
#intro .introWrap .bear,
#intro .introWrap .monkey,
#intro .cloudWrap .dragonfly {
	display: none;
}

#intro .cloudWrap {
	height: 350px;

	top: 280px;
}

#intro .cloudWrap .leftCloud {
	width: 267px;
	height: 314px;
	background-image: url(../img/mobile/intro/mobile_cloud1.png);
}

#intro .cloudWrap .rightCloud {
	width: 237px;
	height: 309px;
	background-image: url(../img/mobile/intro/mobile_cloud2.png);
}

/* Farm1 */
#farm1 {
	height: 450px;
	background-image: url(../img/mobile/farm/farm1/mobile_farm1_bg.png);
}

#farm1 .leftRice1{
	width: 86px;
	height: 150px;
	background-image: url(../img/mobile/farm/farm1/mobile_leftrice.png);
}

#farm1 .rightRice1{
	width: 95px;
	height: 170px;
	background-image: url(../img/mobile/farm/farm1/mobile_rightrice.png);

	top: -20px;
}

#farm1 .farmer{
	width: 160px;
	height: 250px;
	background-image: url(../img/mobile/farm/farm1/mobile_farmer.png);

	margin-left: -69px;
}

#farm1 .farmSpeechWrap {
	width: 300px;
	
	text-align: center;

	left: 50%;
	margin-left: -150px;
}

#farm1 .farmSpeechWrap img {
	width: 79px;
}

#farm1 .farmSpeechWrap .farmSpeech {
	line-height: 20px;
	font-size: 12px;
}	

#farm2 {
	height: 440px;
	background-image: url(../img/mobile/farm/farm2/mobile_farm2_bg.png);
}

#farm2 .leftRice2 {
	width: 57px;
	height: 201px;
	background-image: url(../img/mobile/farm/farm2/mobile_leftrice2.png);
}

#farm2 .rightRice2 {
	width: 54px;
	height: 202px;
	background-image: url(../img/mobile/farm/farm2/mobile_rightrice2.png);
}

#farm2 .scarecrow {
	display: none;
}

#farm3{
	height: 500px;
	background-image: url(../img/mobile/farm/farm3/mobile_farm3_bg.png);
}

#farm3 .farm3Window {
	width: 82px;
	height: 56px;
	background-image: url(../img/mobile/farm/farm3/mobile_window.png);

	margin-left: 10px 0 0 10px;
}

#farm3 .machineWrap{
	width: 200px;
	height:  150px;
	
	top: 120px;
	margin-left: -96px;
	}

#farm3 .machineWrap .machine1 {
	width: 191px;
	height: 149px;
	background-image: url(../img/mobile/farm/farm3/mobile_machine1.png);
}

#farm3 .machineWrap .msawSahdow {
	display: none;
}

#farm3 .machineWrap .saw1,
#farm3 .machineWrap .saw2,
#farm3 .machineWrap .machineBird {
	width: 31px;
	height: 31px;
	background-image: url(../img/mobile/farm/farm3/mobile_saw.png);
}

#farm3 .machineWrap .saw1 {
	margin: 50px 0 0 50px;
}

#farm3 .machineWrap .saw2 {
	margin: 50px 0 0 115px;
}


#farm3 .farm3Bubble {
	position: absolute;

	width: 152px;

	left: 50%;
	margin: 0 0 0 -70px;
}

}

결과물

여태까지 배운 내용들을 종합하여 kidsgao를 실습해 보았다.

학습내용 중 어려웠던 점

아무래도 종합적으로 하다보니 헷갈리는 내용도 있었고, 실전은 내가 배웠던 내용과 달랐던 부분도 있었다.

해결방법

바로바로 결과물을 확인하지 않으면 나중에 어떤 부분이 다르고 틀렸는지 찾기가 힘들어진다. 자주 저장하고 결과물을 확인해야 함

학습 소감

강사님과 다른 결과물이 나와서 코드를 뚫어져라 쳐다보느라 시간이 금방 지나가버렸다. 그리고 배웠던 이론도 어려웠지만 실전은 아무것도 없는 상태에서 시작하다보니 막막해보였다. 연습을 통해 끊임없이 발전해야겠다.

profile
나는 돈 많이 버는 개발자가 될 것이다.

0개의 댓글