유튜브 강의
CSS 레이아웃 정리 display, position 완성 | 프론트엔드 개발자 입문편: HTML, CSS, Javascript
코드
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<!-- Block-level -->
<div>1</div>
<div>2</div>
<div>3</div>
<!-- Inline-level -->
<span>1</span>
<span>2</span>
<span>3</span>
</body>
</html>
div, span {
width: 80px;
height: 80px;
margin: 20px;
background: pink;
}
div {
background: red;
display: inline;
}
span {
background: blue;
display: block;
}
결과
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<article class='container'>
<div></div>
<div class='box'>I'm box</div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div>
</body>
</html>
div {
width: 50px;
height: 50px;
margin-bottom: 20px;
background: red;
}
.container {
background: yellow;
left: 0px;
top: 0px;
position: relative;
}
.box {
background: blue;
left: 20px;
top: 0px;
position: sticky;
}
결과
호환성 확인하는 사이트
Can I use... Support tables for HTML5, CSS3, etc
유튜브 강의
CSS Flexbox 완전 정리. 포트폴리오 만드는 날까지! | 프론트엔드 개발자 입문편: HTML, CSS, Javascript
cf) float
container
Item
cf) 100% vs 100vh
색상 사이트
Color - Style - Material Design
코드
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div class="container">
<div class="item item1">1</div>
<div class="item item2">2</div>
<div class="item item3">3</div>
<div class="item item4">4</div>
<div class="item item5">5</div>
<div class="item item6">6</div>
<div class="item item7">7</div>
<div class="item item8">8</div>
<div class="item item9">9</div>
<div class="item item10">10</div>
<div class="item item1">1</div>
<div class="item item2">2</div>
<div class="item item3">3</div>
<div class="item item4">4</div>
<div class="item item5">5</div>
<div class="item item6">6</div>
<div class="item item7">7</div>
<div class="item item8">8</div>
<div class="item item9">9</div>
<div class="item item10">10</div>
</div>
</body>
</html>
.container {
background: beige;
height: 100vh;
display: flex;
flex-direction: row;
flex-wrap: wrap;
/* flex-flow: column nowrap; */
justify-content: space-between;
align-items : baseline;
align-content: space-between;
}
.item {
width: 40px;
height: 40px;
border: 1px solid black;
}
.item1 {
background: #ef9a9a;
}
.item2 {
background: #ef9abd;
}
.item3 {
background: #e49aef;
}
.item4 {
background: #b29aef;
}
.item5 {
background: #9ac2ef;
}
.item6 {
background: #9aefe5;
}
.item7 {
background: #9aefb2;
}
.item8 {
background: #ddef9a;
}
.item9 {
background: #efd09a;
}
.item10 {
background: #efa09a;
}
참고사이트
코드
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<div class="container">
<div class="item item1">1</div>
<div class="item item2">2</div>
<div class="item item3">3</div>
</div>
</body>
</html>
.container {
padding-top: 100px;
background: beige;
height: 100vh;
display: flex;
}
.item {
width: 40px;
height: 40px;
border: 1px solid black;
}
.item1 {
background: #ef9a9a;
/* flex-grow: 2;
flex-shrink: 2; */
flex-basis: 60%;
}
.item2 {
background: #ef9abd;
/* flex-grow: 1;
flex-shrink: 1; */
flex-basis: 30%;
}
.item3 {
background: #e49aef;
/* flex-grow: 1;
flex-shrink: 1; */
flex-basis: 10%;
}
연습 사이트
container 파일을 분리하여 작성 후 main에서는 그 파일을 불러옴
container마다 controller 파일도 작성
과제
main 파일에서 container, controller 분리
BottomContainer.js 코드
Ext.define('MyApp.view.main.containerBox.BottomContainer', {
extend: 'Ext.Container',
alias: 'widget.bottom-container',
controller: {
type: 'bottom-container-controller'
},
container 작성
});
BottomContainerController.js 코드
Ext.define('MyApp.view.main.containerBox.BottomContainerController', {
extend: 'Ext.app.ViewController',
alias: 'controller.bottom-container-controller',
함수 작성
});
과제
카드 만들기 (CardComponent 파일 새로 만들어서)
결과