溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CSS三列布局

發(fā)布時間:2020-06-20 11:59:56 來源:網(wǎng)絡 閱讀:287 作者:jjjyyy66 欄目:網(wǎng)絡安全

兩側(cè)定寬中間自適應布局

思路一:  float

【1】float + margin + calc

CSS三列布局

<style>p{margin: 0;}.parent{overflow: hidden;}.left,.right{float: left;width: 100px;}.center{float: left; width:calc(100% - 240px);margin: 0 20px;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>    
    <div class="center" >
        <p>center</p>
        <p>center</p>
    </div>    
    <div class="right"  >
        <p>right</p>
    </div>        </div>

CSS三列布局

【2】float + margin + (fix)

CSS三列布局

<style>p{margin: 0;}.parent{overflow: hidden;}.left,.right{position: relative;float: left;width: 100px;}.centerWrap{float: left; width:100%; margin: 0 -100px;}.center{margin: 0 120px;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>            
    <div class="centerWrap" >
        <div class="center" >
            <p>center</p>
            <p>center</p>
        </div>        
    </div>
    <div class="right"  >
        <p>right</p>
    </div>            </div>

CSS三列布局

 

思路二: inline-block

【1】inline-block + margin + calc

CSS三列布局

<style>p{margin: 0;}.parent{font-size: 0;}.left,.right,.center{display:inline-block; vertical-align: top;font-size: 16px;}.left,.right{width: 100px;}.center{width: calc(100% - 240px); margin: 0 20px;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>            
    <div class="center" >
        <p>center</p>
        <p>center</p>
    </div>        
    <div class="right"  >
        <p>right</p>
    </div>            </div>

CSS三列布局

【2】inline-block + margin + (fix)

CSS三列布局

<style>p{margin: 0;}.parent{font-size: 0;}.left,.right,.centerWrap{display:inline-block; vertical-align: top;font-size: 16px;}.left,.right{width: 100px;position:relative;}.centerWrap{width: 100%; margin: 0 -100px;}.center{margin: 0 120px;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>    
    <div class="centerWrap" >
        <div class="center" >
            <p>center</p>
            <p>center</p>
        </div>        
    </div>        
    <div class="right"  >
        <p>right</p>
    </div>            </div>

CSS三列布局

 

思路三: table

CSS三列布局

<style>p{margin: 0;}.parent{display: table; width: 100%;table-layout: fixed;}.left,.right,.centerWrap{display:table-cell;}.left,.right{width: 100px;}.center{margin: 0 20px;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>    
    <div class="centerWrap" >
        <div class="center" >
            <p>center</p>
            <p>center</p>
        </div>        
    </div>        
    <div class="right"  >
        <p>right</p>
    </div>            </div>

CSS三列布局

 

思路四: absolute

CSS三列布局

<style>p{margin: 0;}.parent{position: relative;height:40px;}.left,.right,.center{position: absolute;}.left{left: 0;width:100px;}.right{right: 0;width: 100px;}.center{left: 120px; right: 120px;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>    
    <div class="center" >
        <p>center</p>
        <p>center</p>
    </div>                
    <div class="right"  >
        <p>right</p>
    </div>            </div>

CSS三列布局

 

思路五: flex

CSS三列布局

<style>p{margin: 0;}.parent{display: flex;}.left,.right{width: 100px;}.center{flex: 1; margin: 0 20px;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>    
    <div class="center" >
        <p>center</p>
        <p>center</p>
    </div>                
    <div class="right"  >
        <p>right</p>
    </div>            </div>

CSS三列布局

 

兩列定寬一側(cè)自適應布局

  這種布局與單列定寬單列自適應布局非常相似

思路一: float

【1】float + margin

  缺點是IE6-瀏覽器的3px的bug,以及當自適應列中有元素清除浮動時,會使該元素不與左側(cè)浮動元素同行,從而出現(xiàn)文字下沉現(xiàn)象

CSS三列布局

<style>p{margin: 0;}.parent{overflow: hidden;}.left,.center{float: left;width: 100px;margin-right: 20px;}.right{margin-left: 240px;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>    
    <div class="center" >
        <p>center</p>
    </div>                
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>            </div>

CSS三列布局

【2】float + margin + calc

CSS三列布局

<style>p{margin: 0;}.parent{overflow: hidden;}.left,.center{float: left;width: 100px;margin-right: 20px;}.right{float: left; width: calc(100% - 240px);}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>    
    <div class="center" >
        <p>center</p>
    </div>                
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>            </div>

CSS三列布局

【3】float + margin + (fix)

CSS三列布局

<style>p{margin: 0;}.parent{overflow: hidden;}.left,.center{position: relative; float: left;width: 100px;margin-right: 20px;}.rightWrap{float: left; width: 100%; margin-left: -240px;}.right{margin-left:240px;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>    
    <div class="center" >
        <p>center</p>
    </div>        
    <div class="rightWrap">
        <div class="right"  >
            <p>right</p>
            <p>right</p>
        </div>            
    </div>            </div>

CSS三列布局

 【4】float + overflow

CSS三列布局

<style>p{margin: 0;}.parent{overflow: hidden;}.left,.center{position: relative; float: left;width: 100px;margin-right: 20px;}.right{overflow: hidden;zoom:1;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>    
    <div class="center" >
        <p>center</p>
    </div>        
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>                        </div>

CSS三列布局

 

思路二: inline-block

【1】inline-block + margin + calc

CSS三列布局

<style>p{margin: 0;}.parent{font-size: 0;}.left,.right,.center{display:inline-block; vertical-align: top;font-size: 16px;}.left,.center{width: 100px;margin-right:20px;}.right{width: calc(100% - 240px);}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>    
    <div class="center" >
        <p>center</p>
    </div>        
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>                        </div>

CSS三列布局

【2】inline-block + margin + (fix)

CSS三列布局

<style>p{margin: 0;}.parent{font-size: 0;}.left,.rightWrap,.center{display:inline-block; vertical-align: top;font-size: 16px;}.left,.center{position: relative;width: 100px;margin-right:20px;}.rightWrap{width:100%; margin-left: -240px;}.right{margin-left: 240px;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>    
    <div class="center" >
        <p>center</p>
    </div>        
    <div class="rightWrap" >
        <div class="right"  >
            <p>right</p>
            <p>right</p>
        </div>        
    </div>            </div>

CSS三列布局

 

思路三: table

CSS三列布局

<style>p{margin: 0;}.parent{display: table; width: 100%;table-layout: fixed;}.leftWrap,.centerWrap,.right{display:table-cell;}.leftWrap,.centerWrap{width: 120px;}.left,.center{margin-right: 20px;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="leftWrap">
        <div class="left" >
            <p>left</p>
        </div>        
    </div>
    <div class="centerWrap">
        <div class="center" >
            <p>center</p>
        </div>        
    </div>
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>            </div>

CSS三列布局

 

思路四: absolute

CSS三列布局

<style>p{margin: 0;}.parent{position: relative;width:100%;height:40px;}.left{position: absolute;left:0;width:100px;}.center{position: absolute;left:120px;width: 100px;}.right{position: absolute;left:240px; right:0;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>        
    <div class="center" >
        <p>center</p>
    </div>        
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>            </div>

CSS三列布局

 

思路五: flex

CSS三列布局

<style>p{margin: 0;}.parent{display: flex;}.left,.center{width:100px;margin-right:20px;}.right{flex:1;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>        
    <div class="center" >
        <p>center</p>
    </div>        
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>            </div>

CSS三列布局

 

中間定寬兩側(cè)自適應布局

思路一: float

CSS三列布局

<style>p{margin: 0;}.parent{overflow: hidden;}.left{float: left;margin-right: 20px;}.center{float: left;width: 100px;margin-right: 20px;}.right{overflow: hidden;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
        <p>left</p>
    </div>        
    <div class="center" >
        <p>center</p>
    </div>    
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>                    </div>

CSS三列布局

 

思路二: table

CSS三列布局

<style>p{margin: 0;}.parent{display: table; width: 100%;}.leftWrap{display: table-cell; width: 0.1%;}.centerWrap{display: table-cell;width: 120px;}.left,.center{margin-right: 20px;}.right{display:table-cell;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="leftWrap">
        <div class="left" >
            <p>left</p>
            <p>left</p>
        </div>            
    </div>
    <div class="centerWrap">
        <div class="center" >
            <p>center</p>
        </div>            
    </div>
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>                    </div>

CSS三列布局

 

思路三: flex

CSS三列布局

<style>p{margin: 0;}.parent{display: flex;}.left{margin-right: 20px;}.center{width: 100px;margin-right: 20px;}.right{flex: 1;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
        <p>left</p>
    </div>            
    <div class="center" >
        <p>center</p>
    </div>            
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>                    </div>

CSS三列布局

 

一側(cè)定寬兩列自適應布局

思路一: float

CSS三列布局

<style>p{margin: 0;}.parent{overflow: hidden;}.left{float: left;width: 100px;margin-right: 20px;}.center{float: left;margin-right: 20px;}.right{overflow: hidden;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>            
    <div class="center" >
        <p>center</p>
        <p>center</p>
    </div>            
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>                    </div>

CSS三列布局

 

思路二: table

CSS三列布局

<style>p{margin: 0;}.parent{display: table; width: 100%;}.leftWrap{display: table-cell; width: 120px;}.centerWrap{display: table-cell;width: 0.1%;}.left,.center{margin-right: 20px;}.right{display:table-cell;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="leftWrap">
        <div class="left" >
            <p>left</p>
        </div>            
    </div>
    <div class="centerWrap">
        <div class="center" >
            <p>center</p>
            <p>center</p>
        </div>            
    </div>
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>                    </div>

CSS三列布局

 

思路三: flex

CSS三列布局

<style>p{margin: 0;}.parent{display: flex;}.left{width: 100px;margin-right: 20px;}.center{margin-right: 20px;}.right{flex: 1;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
    </div>            
    <div class="center" >
        <p>center</p>
        <p>center</p>
    </div>            
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>                    </div>

CSS三列布局

 

三列自適應布局

思路一: float

CSS三列布局

<style>p{margin: 0;}.parent{overflow: hidden;}.left,.center{float: left;margin-right: 20px;}.right{overflow: hidden;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
        <p>left</p>
    </div>            
    <div class="center" >
        <p>center</p>
        <p>center</p>
    </div>            
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>                    </div>

CSS三列布局

 

思路二: table

CSS三列布局

<style>p{margin: 0;}.parent{display: table; width: 100%;}.leftWrap,.centerWrap{display: table-cell;width: 0.1%;}.left,.center{margin-right: 20px;}.right{display:table-cell;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="leftWrap">
        <div class="left" >
            <p>left</p>
            <p>left</p>
        </div>            
    </div>
    <div class="centerWrap">
        <div class="center" >
            <p>center</p>
            <p>center</p>
        </div>            
    </div>
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>                    </div>

CSS三列布局

 

思路三: flex

CSS三列布局

<style>p{margin: 0;}.parent{display: flex;}.left,.center{margin-right: 20px;}.right{flex: 1;}</style>

CSS三列布局

CSS三列布局

<div class="parent" >
    <div class="left" >
        <p>left</p>
        <p>left</p>
    </div>            
    <div class="center" >
        <p>center</p>
        <p>center</p>
    </div>            
    <div class="right"  >
        <p>right</p>
        <p>right</p>
    </div>                    </div>

CSS三列布局

 


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI