css3で新しく追加された機能display:flex、Flexboxと呼ぶのですね、webサイトの配置をする際、とても便利で使用頻度が高くなりましたので、コピペをしやすくしたページです。
基本のdisplay:flex
ここが基本
.flex-container {
display: -webkit-flex; /* Safari */
display: flex;
}
インラインにdisplay:flex
.flex-container {
display: -webkit-inline-flex; /* Safari */
display: inline-flex;
}
折り返しの設定
.flex-container {
-webkit-flex-wrap: wrap; /* Safari */
flex-wrap: wrap;
}
横の設定
中央に揃える設定
.flex-container {
-webkit-justify-content: center; /* Safari */
justify-content: center;
}
両サイドにも間隔をあける
.flex-container {
-webkit-justify-content: space-around; /* Safari */
justify-content: space-around;
}
横の幅を割合で指定
横並びのスペースの中で任意のスペースに他のスペース1に対しての割合で横幅(width)を指定します。
.flex-item {
-webkit-flex-grow: <number>; /* Safari */
flex-grow: <number>;
}
縦の設定
縦に並べる
display:flexで縦に並べたい場合の記述はこちらになります。
.flex-container {
-webkit-flex-direction: column; /* Safari */
flex-direction: column;
}
縦の中央揃え
与えられたスペースの縦に対して中央揃えをします。
.flex-container {
-webkit-align-items: center; /* Safari */
align-items: center;
}
縦の均等配置
.flex-container {
-webkit-align-content: space-between; /* Safari */
align-content: space-between;
}
最初と最後に空間をあけた均等配置
.flex-container {
-webkit-align-content: space-around; /* Safari */
align-content: space-around;
}
細かい指定
指定のwidthをつける
.flex-item {
-webkit-flex-basis: auto | <width>; /* Safari */
flex-basis: auto | <width>;
}
使用例まとめ
使い勝手の良い基本例
- 並び順
- 横並び正順
- 折り返し
- 折り返しあり
- 横配置
- 左詰め
- 縦配置(行の中での配置)
- 中央
- 縦配置(行の配置)
- 中央
.flex-container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
align-content: center;
align-items: center;
}
使用例2
黄金比を使用して三分割の配置とその下に一列を作成しました。
flex-basisで高さに単位vhを使用して画面に対しての高さで検証しています。
<style type="text/css">
.section1 {
display: flex;
flex-direction: column;
}
.flexbox1 {
display: flex;
flex-basis: 61.8vh;
}
.yokonarabi {
flex-basis: 33vw;
}
.yokonarabi:nth-child(1) {
background-color: #f3f4f5;
}
.yokonarabi:nth-child(2) {
background-color: #d9daf3;
}
.yokonarabi:nth-child(3) {
background-color: #e3fff6;
}
.gedan {
flex-basis: 38.2vh;
background-color: #b4bfca;
}
</style>
<div class="section1">
<div class="flexbox1">
<div class="yokonarabi"></div>
<div class="yokonarabi"></div>
<div class="yokonarabi"></div>
</div><!--flexbox-->
<div class="gedan"></div><!--gedan-->
</div><!--section1-->
<?php endif; ?>

