是否可以使用flexbox混合行和列? [英] Is it possible to mix rows and columns with flexbox?

查看:189
本文介绍了是否可以使用flexbox混合行和列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

换句话说,是否可以实现这一点?





注意:这是我可以得到的最好的:

  

< div class =container>
< div> Div 1< / div>
< div> Div 2< / div>
< div> Div 3< / div>
< div> Div 4< / div>
< / div>

// CSS

html,
body,
.container {
height:100%;
}

.container> div {
border:1px solid black;
background:#ececec;
flex:1;
}

.container> div:nth-​​of-type(1){
flex:1 1 100%;
}

.container> div:nth-​​of-type(4){
flex:1 1 100%;
}



  html,body,.container {height:100%; background-color:white;}。container {display:flex; flex-direction:column; / * flex-wrap:wrap; * /}。container div {margin:10px; flex:1; background-color:orange;}。container> div:first-child {} .container> div:nth-​​child(2){display:flex; background-color:white;}。container> div:nth-​​child(2)> div:first-child {display:flex; flex-direction:column; background-color:white; margin-right:20px;}。container> div:nth-​​child(2)div {flex:1; margin:0;}。container> div:nth-​​child(2)> div:first-child> div:first-child {margin-bottom:20px;}。container> div:last-child {}  

 < div class = container> <! -  flex container  - > < div> Div 1< / div> <! -  flex item#1  - > < div> <! -  flex item#2和嵌套的flex容器 - > < div> <! -  flex item and nested flex container  - > < div> Div 2.1.1< / div> <! -  flex item  - > < div> Div 2.1.2< / div> <! -  flex item  - > < / div> <! -  end flex item / container 2.1  - > < div> Div 2.2< / div> <! -  flex item  - > < / div> <! -  end flex item / container#2  - > < div> Div 3< / div> <! -  flex item#3  - > < / div> <! -  end .container  - >  



a href =http://jsfiddle.net/kzbbb/252/ =nofollow noreferrer> jsFiddle


In other words, is it possible to achieve this?

Note: This is the best I could get:

// HTML   

<div class="container">
  <div>Div 1</div>
  <div>Div 2</div>
  <div>Div 3</div>
  <div>Div 4</div>
</div>

// CSS

html,
body,
.container {
  height: 100%;
}

.container > div {
  border: 1px solid black;
  background: #ececec;
  flex: 1;
}

.container > div:nth-of-type(1) {
  flex: 1 1 100%;
}

.container > div:nth-of-type(4) {
  flex: 1 1 100%;
}

http://jsfiddle.net/kzbbb/249/

解决方案

You can achieve the layout with a few nested flexboxes. Here's the result of the code below:

html, body, .container {
    height: 100%;
    background-color: white;
}

.container {
    display: flex;
    flex-direction: column;       
    /* flex-wrap: wrap; */
}

.container div {                   
    margin: 10px;
    flex: 1;
    background-color: orange;
}

.container > div:first-child { }

.container > div:nth-child(2) {
    display: flex;
    background-color: white;
}

.container > div:nth-child(2) > div:first-child {
    display: flex;
    flex-direction: column;
    background-color: white;
    margin-right: 20px;
}

.container > div:nth-child(2) div {
    flex: 1;
    margin: 0;
}

.container > div:nth-child(2) > div:first-child > div:first-child {
    margin-bottom: 20px;
}

.container > div:last-child { }

<div class="container">                <!-- flex container -->

    <div>Div 1</div>                   <!-- flex item #1 -->
    
    <div>                              <!-- flex item #2 and nested flex container -->
    
        <div>                          <!-- flex item and nested flex container -->
        
            <div>Div 2.1.1</div>       <!-- flex item -->
            
            <div>Div 2.1.2</div>       <!-- flex item -->

        </div>                         <!-- end flex item / container 2.1 -->
        
        <div>Div 2.2</div>             <!-- flex item -->
        
    </div>                             <!-- end flex item / container #2 -->
    
  <div>Div 3</div>                     <!-- flex item #3 -->
  
</div>                                 <!-- end .container -->

jsFiddle

这篇关于是否可以使用flexbox混合行和列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆