スマートフォン・タブレットからインターネットサーバーオペレーション

APPW.jp HTML5.x

CSS Flexible Box Layout Module 検証サンプルページ(5)

2013年6月26日 (水曜日) 20:02

「CSS Flexible Box Layout Module(W3C Candidate Recommendation, 18 September 2012)」に基づく検証サンプルを作成しています。

Flex Container を2つ並べてみます。「display: inline-flex ;」の場合です。表示イメージは、Chrome 27 のスクリーンショットです。

2013年2月6日現在、Google Chrome ブラウザのバージョン 24 において -webkit- のベンダープレフィックスありで有効となっているようです。また、Opera ブラウザのバージョン 12.14 においては、ベンダープレフィックスなしでも有効のようです。その他のブラウザ、他のバージョンではまだこの仕様に対応されていないかもしれません。また、すべてに対応されていないかもしれません。

HTML


<p>Flex Container</p>
<div class="flexContainer">
  <div class="flexItem">Flex Item 1</div>
  <div class="flexItem">Flex Item 2</div>
  <div class="flexItem">Flex Item 3</div>
</div>
<div class="flexContainer">
  <div class="flexItem">Flex Item 1</div>
  <div class="flexItem">Flex Item 2</div>
  <div class="flexItem">Flex Item 3</div>
</div>    
 

CSS


.flexContainer {
  display:         inline-flex ;
  display: -webkit-inline-flex ;
    
/*          flex-flow: row nowrap ; */
/*  -webkit-flex-flow: row nowrap ; */

          flex-direction: row ;
  -webkit-flex-direction: row ;
          flex-wrap: nowrap ;
  -webkit-flex-wrap: nowrap ;
          justify-content: flex-start ;
  -webkit-justify-content: flex-start ;
          align-items: flex-start ;
  -webkit-align-items: flex-start ;
          align-content: flex-start ;
  -webkit-align-content: flex-start ;

  margin: 0 0 0 0 ;
  padding: 0 0 0 0 ;
  width: 120px ;
  height: 120px ;
  border: 5px solid #999 ;
  background: #ffeebb ;
}
.flexItem {
          flex: none ;
  -webkit-flex: none ;

  margin: 0 0 0 0 ;
  padding: 0 0 0 0 ;
  width: 45px ;
  height: 45px ;
  border: 2px solid #555 ;
  background: #dddd88 ;
}
    

表示イメージ

ご利用中のブラウザの表示

Flex Container

Flex Item 1
Flex Item 2
Flex Item 3
Flex Item 1
Flex Item 2
Flex Item 3

CSS


.flexContainer {
  display:         inline-flex ;
  display: -webkit-inline-flex ;
    
/*          flex-flow: row wrap ; */
/*  -webkit-flex-flow: row wrap ; */

          flex-direction: row ;
  -webkit-flex-direction: row ;
          flex-wrap: wrap ;
  -webkit-flex-wrap: wrap ;
          justify-content: flex-start ;
  -webkit-justify-content: flex-start ;
          align-items: flex-start ;
  -webkit-align-items: flex-start ;
          align-content: flex-start ;
  -webkit-align-content: flex-start ;

  margin: 0 0 0 0 ;
  padding: 0 0 0 0 ;
  width: 120px ;
  height: 120px ;
  border: 5px solid #999 ;
  background: #ffeebb ;
}
.flexItem {
          flex: none ;
  -webkit-flex: none ;

  margin: 0 0 0 0 ;
  padding: 0 0 0 0 ;
  width: 45px ;
  height: 45px ;
  border: 2px solid #555 ;
  background: #dddd88 ;
}
    

表示イメージ

ご利用中のブラウザの表示

Flex Container

Flex Item 1
Flex Item 2
Flex Item 3
Flex Item 1
Flex Item 2
Flex Item 3

CSS


.flexContainer {
  display:         inline-flex ;
  display: -webkit-inline-flex ;
    
/*          flex-flow: column nowrap ; */
/*  -webkit-flex-flow: column nowrap ; */

          flex-direction: column ;
  -webkit-flex-direction: column ;
          flex-wrap: nowrap ;
  -webkit-flex-wrap: nowrap ;
          justify-content: flex-start ;
  -webkit-justify-content: flex-start ;
          align-items: flex-start ;
  -webkit-align-items: flex-start ;
          align-content: flex-start ;
  -webkit-align-content: flex-start ;

  margin: 0 0 0 0 ;
  padding: 0 0 0 0 ;
  width: 120px ;
  height: 120px ;
  border: 5px solid #999 ;
  background: #ffeebb ;
}
.flexItem {
          flex: none ;
  -webkit-flex: none ;

  margin: 0 0 0 0 ;
  padding: 0 0 0 0 ;
  width: 45px ;
  height: 45px ;
  border: 2px solid #555 ;
  background: #dddd88 ;
}
    

表示イメージ

ご利用中のブラウザの表示

Flex Container

Flex Item 1
Flex Item 2
Flex Item 3
Flex Item 1
Flex Item 2
Flex Item 3

CSS


.flexContainer {
  display:         inline-flex ;
  display: -webkit-inline-flex ;
    
/*          flex-flow: column wrap ; */
/*  -webkit-flex-flow: column wrap ; */

          flex-direction: column ;
  -webkit-flex-direction: column ;
          flex-wrap: wrap ;
  -webkit-flex-wrap: wrap ;
          justify-content: flex-start ;
  -webkit-justify-content: flex-start ;
          align-items: flex-start ;
  -webkit-align-items: flex-start ;
          align-content: flex-start ;
  -webkit-align-content: flex-start ;

  margin: 0 0 0 0 ;
  padding: 0 0 0 0 ;
  width: 120px ;
  height: 120px ;
  border: 5px solid #999 ;
  background: #ffeebb ;
}
.flexItem {
          flex: none ;
  -webkit-flex: none ;

  margin: 0 0 0 0 ;
  padding: 0 0 0 0 ;
  width: 45px ;
  height: 45px ;
  border: 2px solid #555 ;
  background: #dddd88 ;
}
    

表示イメージ

ご利用中のブラウザの表示

Flex Container

Flex Item 1
Flex Item 2
Flex Item 3
Flex Item 1
Flex Item 2
Flex Item 3
 

via IPv4