css多列布局幾種方式

在我們日常開發(fā)中布局是我們必不可少的步驟,今天介紹日常開發(fā)中常見的幾種頁面布局方式,如有錯誤,歡迎指正,少廢話,直接上代碼。

1:左邊定寬右邊不定寬

如圖:
1.png
html代碼
 <div class="parent">
          <div class="left">
           <p>左邊固定寬度100px</p>
          </div> 
          <div class="right">
             <p>右邊寬度不固定</p>
             <p>右邊寬度不固定</p>
             </div>
         </div>
css代碼一
  .left{
         width: 100px;
         float: left;
      }
      .left p{
         background:red;
       }
      .right{
        margin-left: 120px;
       }
      .right p{
         background: pink;
        }
css代碼二
   .left{
         width: 100px;
         float: left;
      }
      .left p{
         background:red;
        
       }
      .right{
         overflow: hidden;
       }
      .right p{
         background: pink;
        }
css代碼三
.parent{
         display: table;
         width: 100%;
         table-layout: fixed;
      }

      .left,.right{
          display: table-cell;
      }
      .left{width: 100px}
      .left p{
         background:red;
       }
      .right p{
         background: pink;
        }
css代碼四
.parent{
          display: flex;
      }
      .left{
            width: 100px; 
            margin-right: 20px;
            background:red;
        }
      .right {
          background: pink;
          flex: 1
        }

就先介紹這四種方式布局了 現(xiàn)代開發(fā)不考慮老版本瀏覽器兼容更多喜歡flex布局 ,尤其是移動端,如果pc端考慮到兼容問題 則前面的比較合適
還有兩列定寬右邊不定寬 道理一樣 在此代碼上加就OK了

2:左右等高布局

如圖:


6.png
html代碼
   <div class="parent">
       <div class="left">
           <p>我的高度跟隨右邊的高度</p>
       </div> 
       <div class="right">
            <p>右邊寬度不固定</p>
            <p>右邊寬度不固定</p>
            <p>右邊寬度不固定</p>
            <p>右邊寬度不固定</p>
            <p>右邊寬度不固定</p>
            <p>右邊寬度不固定</p>
            <p>右邊寬度不固定</p>
            <p>右邊寬度不固定</p>
       </div>
 </div>
css代碼一
    .parent{
         display: table;
         width: 100%;
         table-layout: fixed;
      }
      .left,.right{
           display: table-cell;
        }
      .left {
          width: 100px;
          background: red;
          margin-right: 60px;
        }
         
        .right{
            background: pink;
        }
css代碼二
 .parent{
         display: flex;
         }
  .left {
         width: 100px;
         background: red;
         margin-right: 20px;
        }
   .right{
            flex: 1;
            background: pink;
        }
3:等寬布局

如圖:


3.png
html代碼
<div class="parent_flex">
<div class="parent">
         <div class="column"><p>1</p></div>
         <div class="column"><p>2</p></div>
         <div class="column"><p>3</p></div>
         <div class="column"><p>4</p></div>
   </div>
 </div>
css代碼一
 .parent_flex{
           margin-left: -20px;
            }
  .parent{
           display: table;
           width: 100%;
           table-layout: fixed;
           background: #ccc;
           height: 200px;
         }
  .parent .column{
         display: table-cell;
         padding-left: 20px;
     } 
   .parent .column p{
              background: pink;
      }
css代碼二
    .parent{
           width: 80%;
           background: #ccc;
           height: 300px;
           display: flex;
           margin:0 auto;
     }
     .parent .column{
            height: 150px;
            background: pink;
            flex: 1;
     }
     .column+.column{
             margin-left: 20px;
     }
4:兩邊定寬中間不定寬

如圖:

8.png
html代碼:
<div class="parent">
               <div class="left"><p>左邊</p></div>
               <div class="right"><p>右邊</p></div>
               <div class="center"><p>中間</p></div>
 </div>
css代碼一
     .parent{
             width: 80%;
             background: #ccc;
             margin:0 auto;
       }
       .left{
          width: 100px;
          float: left;
          margin-right: 10px;
          background: red;
       }
       .right{ 
            width: 100px;
            float: right;
            margin-left: 10px;
            background: red;
       }
       .center{
           overflow: hidden;
           background: pink;
       }

上面的寫法就是需要交換div center 的代碼放到后面 浮動的方式 來布局
下面用table或flex 就不需要

html代碼二
<div class="parent">
                 <div class="left"><p>左邊</p></div>
             <div class="center"><p>中間</p></div>
                 <div class="right"><p>右邊</p></div>
 </div>
css代碼一
    .parent{
              width: 100%;
              background: #ccc;
              margin:0 auto;
              display: table;
              table-layout: fixed;
           }
       .left{
             width: 100px;
             padding-right: 10px;
            display: table-cell;
           }
       .right{
              width: 100px;
              padding-left: 10px;
              display: table-cell;
          }
        .center{
           display: table-cell;
           }
         p{
             background: pink;
           }
css代碼二
 .parent{
             width: 100%;
             background: #ccc;
              display: flex;
              height: 200px;
       }
       .left,.right{
             background: red;
             width: 100px;
       }
       .left{
              margin-right: 10px;
       }
       .right{
               margin-left: 10px;
       }
       .center{
           flex: 1;
           background: pink;
       }

看到這里,恭喜你2018年新的開始了,文章寫得比較簡單都是些基礎的知識,記得幫點個贊哦 ,如有問題可以留言 !祝大家在新的一年2018 收獲多多,共同學習成長。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容