加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – 是否可以使用flexbox混合行和列?

发布时间:2020-12-14 16:37:04 所属栏目:资源 来源:网络整理
导读:换句话说,有可能实现这一目标吗? 注意:这是我能得到的最好的: html,body,.container { height: 100%;}.container { border: 1px solid green; display: flex; flex-wrap: wrap;}.container div { border: 1px solid black; background: #ececec; flex: 1;
换句话说,有可能实现这一目标吗?

注意:这是我能得到的最好的:

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

.container {
  border: 1px solid green;
  display: flex;
  flex-wrap: wrap;
}

.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%;
}
<div class="container">
  <div>Div 1</div>
  <div>Div 2</div>
  <div>Div 3</div>
  <div>Div 4</div>
</div>

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

解决方法

您可以使用几个嵌套的flexbox实现布局.这是以下代码的结果:

html,.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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读