CSS学習(20)-flexboxモデル
10295 ワード
一、理論:
1.ハイブリッドバージョンflexboxモデル
a.display
1)flexbox設定要素がブロックレベルコンテナ
2)inline-flexbox設定要素がインラインブロック伸縮容器
b.display容器の基本使用
1)主にIE 10ブラウザ用
2.伸縮流方向flex-direction
a.flex-direction
1)row ltr-->左から右へ、rtl-->右から左へ
2)row-reverse ltr-->右から左へ、rtl-->左から右へ
3)columnは出現順に上から下へ並ぶ
4)column-reverse伸縮項目を下から上へ並べる
二、実践:
(注:1,2,3は伸縮レイアウトボックス、4,5はflexboxモデル)
1.
1.ハイブリッドバージョンflexboxモデル
a.display
1)flexbox設定要素がブロックレベルコンテナ
2)inline-flexbox設定要素がインラインブロック伸縮容器
b.display容器の基本使用
1)主にIE 10ブラウザ用
2.伸縮流方向flex-direction
a.flex-direction
1)row ltr-->左から右へ、rtl-->右から左へ
2)row-reverse ltr-->右から左へ、rtl-->左から右へ
3)columnは出現順に上から下へ並ぶ
4)column-reverse伸縮項目を下から上へ並べる
二、実践:
(注:1,2,3は伸縮レイアウトボックス、4,5はflexboxモデル)
1.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css" media="screen">
*{
margin: 0;
padding: 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#header,#footer{
width:100%;
padding:10px;
background-color:#ccc;
}
#sidebar-left,
#sidebar-right{
width:220px;
padding:10px;
background-color: #123589;
}
#main{
background-color: #9eaab6;
padding: 10px;
margin : 0 10px;
}
#page{
width:100%;
display:-moz-box;
display:-webkit-box;
display:box;
}
#main{
-moz-box-flex: 1;
-webkit-box-flex:1;
-moz-box-flex: 1;
}
</style>
</head>
<body>
<div id = "header">
<h1>Header</h1>
</div>
<div id = "page">
<div id="main">
<h1>MainContent</h1>
</div>
<div id="sidebar-left">
<h1>LeftContent</h1>
</div>
<div id="sidebar-right">
<h1>RightContent</h1>
</div>
</div>
<div id="footer">
<p>footer</p>
</div>
</body>
</html>
2. <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css" media="screen">
*{
margin: 0;
padding: 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#header,#footer{
width:100%;
padding:10px;
background-color:#ccc;
}
#sidebar-left,
#sidebar-right{
width:220px;
padding:10px;
background-color: #123589;
}
#sidebar-right{
-moz-box-ordinal-group: 2;
-webkit-box-ordinal-group: 3;
-moz-box-ordinal-group: 3;
}
#main{
background-color: #9eaab6;
padding: 10px;
margin : 0 10px;
-moz-box-flex:1;
-webkit-box-flex:1;
box-flex:1;
-moz-box-ordinal-group: 2;
-webkit-box-ordinal-group: 2;
box-ordinal-group:2;
}
#page{
width:100%;
display:-moz-box;
display:-webkit-box;
display:box;
}
#main{
-moz-box-flex: 1;
-webkit-box-flex:1;
-moz-box-flex: 1;
}
</style>
</head>
<body>
<div id = "header">
<h1>Header</h1>
</div>
<div id = "page">
<div id="main">
<h1>MainContent</h1>
</div>
<div id="sidebar-left">
<h1>LeftContent</h1>
</div>
<div id="sidebar-right">
<h1>RightContent</h1>
</div>
</div>
<div id="footer">
<p>footer</p>
</div>
</body>
</html>
3. <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css" media="screen">
body{
height: 100%;
display: -webkit-box;
display:-moz-box;
display:box;
-moz-box-orient: vertical;
-webkit-box-orient:vertical;
box-orient:vertical;
width:100%;
}
*{
margin: 0;
padding: 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-box-sizing:border-box;
}
#header,#footer{
width:100%;
padding:10px;
background-color:#ccc;
}
#sidebar-left,
#sidebar-right{
width:220px;
padding:10px;
background-color: #123589;
}
#sidebar-right{
-moz-box-ordinal-group: 3;
-webkit-box-ordinal-group: 3;
box-ordinal-group: 3;
}
#main{
background-color: #9eaab6;
padding: 10px;
margin:0 10px;
-moz-box-ordinal-group: 2;
-webkit-box-ordinal-group: 2;
-moz-box-group: 2;
}
#page{
width:100%;
display:-moz-box;
display:-webkit-box;
display:box;
}
#main{
-moz-box-flex: 1;
-webkit-box-flex:1;
-moz-box-flex: 1;
}
</style>
</head>
<body>
<div id = "header">
<h1>Header</h1>
</div>
<div id = "page">
<div id="main">
<h1>MainContent</h1>
</div>
<div id="sidebar-left">
<h1>LeftContent</h1>
</div>
<div id="sidebar-right">
<h1>RightContent</h1>
</div>
</div>
<div id="footer">
<p>footer</p>
</div>
</body>
</html>
4. <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css" media="screen">
*{
margin:0;
padding: 0;
}
.flexbox-container{
padding:10px;
border:1px solid hsla(120,30%,50%,0.8);
margin:50px;
background-color: hsla(10,80%,10%,0.2);
}
.flexbox-container >div{
width: 100%;
height: 100px;
border:1px solid hsla(120,30%,50%,0.8);
margin: 5px;
font-size:20px;
text-align: center;
line-height: 100px;
color:#fff;
font-weight: bold;
}
.flexbox-container > div:nth-child(1){
background-color: hsla(120,30%,50%,0.8);
}
.flexbox-container > div:nth-child(2){
background-color: hsla(120,30%,10%,0.8);
}
.flexbox-container > div:nth-child(3){
background-color: hsla(20,30%,50%,0.8);
}
.flexbox-container > div:nth-child(4){
background-color: hsla(20,80%,50%,0.8);
}
.flexbox-container > div:nth-child(5){
background-color: hsla(320,80%,50%,0.8);
}
.flexbox-container > div:nth-child(6){
background-color: hsla(320,80%,50%,0.8);
}
.flexbox-container{
display: ms-flexbox;
-ms-flex-direction: row;
}
</style>
</head>
<body>
<div class="flexbox-container">
<div>Box1</div>
<div>Box2</div>
<div>Box3</div>
<div>Box4</div>
<div>Box5</div>
<div>Box6</div>
</div>
</body>
</html>
5. <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css" media="screen">
*{
margin:0;
padding: 0;
}
.flexbox-container{
padding:10px;
border:1px solid hsla(120,30%,50%,0.8);
margin:50px;
background-color: hsla(10,80%,10%,0.2);
}
.flexbox-container >div{
width: 100%;
height: 100px;
border:1px solid hsla(120,30%,50%,0.8);
margin: 5px;
font-size:20px;
text-align: center;
line-height: 100px;
color:#fff;
font-weight: bold;
}
.flexbox-container > div:nth-child(1){
background-color: hsla(120,30%,50%,0.8);
}
.flexbox-container > div:nth-child(2){
background-color: hsla(120,30%,10%,0.8);
}
.flexbox-container > div:nth-child(3){
background-color: hsla(20,30%,50%,0.8);
}
.flexbox-container > div:nth-child(4){
background-color: hsla(20,80%,50%,0.8);
}
.flexbox-container > div:nth-child(5){
background-color: hsla(320,80%,50%,0.8);
}
.flexbox-container > div:nth-child(6){
background-color: hsla(320,80%,50%,0.8);
}
.flexbox-container{
display:-ms-flexbox;
-ms-flex-direction:column;
}
</style>
</head>
<body>
<div class="flexbox-container">
<div>Box1</div>
<div>Box2</div>
<div>Box3</div>
<div>Box4</div>
<div>Box5</div>
<div>Box6</div>
</div>
</body>
</html>