国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

CSS等高布局的6種方式介紹

來源:懂視網 責編:小OO 時間:2020-11-27 18:52:33
文檔

CSS等高布局的6種方式介紹

前面的話;等高布局是指子元素在父元素中高度相等的布局方式。等高布局的實現包括偽等高和真等高,偽等高只是看上去等高而已,真等高是實實在在的等高。本文將介紹邊框模擬、負margin這兩種偽等高以及table實現、absolute實現、flex實現和js判斷這四種真等高布局。偽等高;邊框模擬  ;因為元素邊框和元素高度始終是相同高度,用元素的邊框顏色來偽裝左右兩個兄弟元素的背景色。然后將左右兩個透明背景的元素使用absolute覆蓋在中間元素的左右邊框上,實現視覺上的等高效果。[注意]左右兩側元素高度不能大于中間元素高度,否則無法撐開容器高度。CSS Code復制內容到剪貼板。
推薦度:
導讀前面的話;等高布局是指子元素在父元素中高度相等的布局方式。等高布局的實現包括偽等高和真等高,偽等高只是看上去等高而已,真等高是實實在在的等高。本文將介紹邊框模擬、負margin這兩種偽等高以及table實現、absolute實現、flex實現和js判斷這四種真等高布局。偽等高;邊框模擬  ;因為元素邊框和元素高度始終是相同高度,用元素的邊框顏色來偽裝左右兩個兄弟元素的背景色。然后將左右兩個透明背景的元素使用absolute覆蓋在中間元素的左右邊框上,實現視覺上的等高效果。[注意]左右兩側元素高度不能大于中間元素高度,否則無法撐開容器高度。CSS Code復制內容到剪貼板。
下面小編就為大家帶來一篇CSS等高布局的6種方式介紹。小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前面的話

等高布局是指子元素在父元素中高度相等的布局方式。等高布局的實現包括偽等高和真等高,偽等高只是看上去等高而已,真等高是實實在在的等高。本文將介紹邊框模擬、負margin這兩種偽等高以及table實現、absolute實現、flex實現和js判斷這四種真等高布局

偽等高

邊框模擬  

因為元素邊框和元素高度始終是相同高度,用元素的邊框顏色來偽裝左右兩個兄弟元素的背景色。然后將左右兩個透明背景的元素使用absolute覆蓋在中間元素的左右邊框上,實現視覺上的等高效果

[注意]左右兩側元素高度不能大于中間元素高度,否則無法撐開容器高度

CSS Code復制內容到剪貼板

<style> 
body,p{margin: 0;} 
.parent{ 
 position: relative; 
} 
.center{ 
 box-sizing:border-box; 
 padding: 0 20px; 
 background-clip: content-box; 
 border-left: 210px solid lightblue; 
 border-right: 310px solid lightgreen; 
} 
.left{ 
 position: absolute; 
 top: 0; 
 left: 0; 
 width: 200px; 
} 
.rightright{ 
 position: absolute; 
 top: 0; 
 rightright: 0; 
 width: 300px; 
} 
</style>

XML/HTML Code復制內容到剪貼板

<p class="parent" style="background-color: lightgrey;">
 <p class="left">
 <p>left</p>
 </p>
 <p class="center" style="background-color: pink;">
 <p>center</p>
 <p>center</p>
 </p>
 <p class="right">
 <p>right</p>
 </p>
</p>

CSS等高布局的6種方式介紹

負margin  

因為背景是在padding區域顯示的,設置一個大數值的padding-bottom,再設置相同數值的負的margin-bottom,使背景色鋪滿元素區域,又符合元素的盒模型的計算公式,實現視覺上的等高效果

[注意]如果頁面中使用<a>錨點跳轉時,將會隱藏部分文字信息

[注意]如果頁面中的背景圖片定位到底部,將會看不到背景圖片

CSS Code復制內容到剪貼板

<style> 
body,p{margin: 0;} 
.parent{ 
 overflow: hidden; 
} 
.left,.centerWrap,.rightright{ 
 float: left; 
 width: 50%; 
 padding-bottom: 9999px; 
 margin-bottom: -9999px; 
} 
.center{ 
 margin: 0 20px; 
} 
.left,.rightright{ 
 width: 25%; 
} 
</style>

XML/HTML Code復制內容到剪貼板

<p class="parent" style="background-color: lightgrey;">
 <p class="left" style="background-color: lightblue;">
 <p>left</p>
 </p>
 <p class="centerWrap">
 <p class="center" style="background-color: pink;">
 <p>center</p>
 <p>center</p>
 </p>
 </p>

 <p class="right" style="background-color: lightgreen;">
 <p>right</p>
 </p>
</p>

CSS等高布局的6種方式介紹

真等高

table  

table元素中的table-cell元素默認就是等高的

CSS Code復制內容到剪貼板

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

XML/HTML Code復制內容到剪貼板

<p class="parent" style="background-color: lightgrey;">
 <p class="left" style="background-color: lightblue;">
 <p>left</p>
 </p>
 <p class="centerWrap">
 <p class="center" style="background-color: pink;">
 <p>center</p>
 <p>center</p>
 </p>
 </p>
 <p class="right" style="background-color: lightgreen;">
 <p>right</p>
 </p>
</p>

CSS等高布局的6種方式介紹

absolute  

設置子元素的top:0;bottom:0;使得所有子元素的高度都和父元素的高度相同,實現等高效果

CSS Code復制內容到剪貼板

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

XML/HTML Code復制內容到剪貼板

<p class="parent" style="background-color: lightgrey;">
 <p class="left" style="background-color: lightblue;">
 <p>left</p>
 </p>
 <p class="center" style="background-color: pink;">
 <p>center</p>
 <p>center</p>
 </p>
 <p class="right" style="background-color: lightgreen;">
 <p>right</p>
 </p>
</p>

CSS等高布局的6種方式介紹

flex  

flex中的伸縮項目默認都拉伸為父元素的高度,也實現了等高效果

CSS Code復制內容到剪貼板

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

XML/HTML Code復制內容到剪貼板

<p class="parent" style="background-color: lightgrey;">
 <p class="left" style="background-color: lightblue;">
 <p>left</p>
 </p>
 <p class="center" style="background-color: pink;">
 <p>center</p>
 <p>center</p>
 </p>
 <p class="right" style="background-color: lightgreen;">
 <p>right</p>
 </p>
</p>

CSS等高布局的6種方式介紹

js  

當子元素高度不同時,進行js判斷,增加較低子元素的padding-bottom,使得各個子元素實現等高效果

CSS Code復制內容到剪貼板

<style> 
body,p{margin: 0;} 
.parent{overflow: hidden;} 
.left,.center,.rightright{ 
 float: left; 
 width: 25%; 
} 
.center{ 
 width: 50%; 
 padding: 0 20px; 
 background-clip: content-box; 
 box-sizing: border-box; 
} 
</style>

XML/HTML Code復制內容到剪貼板

<p class="parent" id="parent" style="background-color: lightgrey;">
 <p class="left" style="background-color: lightblue;">
 <p>left</p>
 </p>
 <p class="center" style="background-color: pink;">
 <p>center</p>
 <p>center</p>
 </p>
 <p class="right" style="background-color: lightgreen;">
 <p>right</p>
 </p>
</p>

JavaScript Code復制內容到剪貼板

<script> 
function getCSS(obj,style){ 
 if(window.getComputedStyle){ 
 return getComputedStyle(obj)[style]; 
 } 
 return obj.currentStyle[style]; 
} 
var oParent = document.getElementById('parent'); 
var oLeft = oParent.getElementsByTagName('p')[0]; 
var oCenter = oParent.getElementsByTagName('p')[1]; 
var oRight = oParent.getElementsByTagName('p')[2]; 
function eqHeight(obj1,obj2){ 
 var oDis = obj1.clientHeight - obj2.clientHeight; 
 if(oDis > 0){ 
 obj2.style.paddingBottom = parseFloat(getCSS(obj2,'padding-bottom')) + oDis + 'px'; 
 }else{ 
 obj1.style.paddingBottom = parseFloat(getCSS(obj1,'padding-bottom')) + Math.abs(oDis) + 'px'; 
 } 
} 
eqHeight(oLeft,oCenter); 
eqHeight(oLeft,oRight); 
</script>

CSS等高布局的6種方式介紹

以上這篇淺析CSS等高布局的6種方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

CSS等高布局的6種方式介紹

前面的話;等高布局是指子元素在父元素中高度相等的布局方式。等高布局的實現包括偽等高和真等高,偽等高只是看上去等高而已,真等高是實實在在的等高。本文將介紹邊框模擬、負margin這兩種偽等高以及table實現、absolute實現、flex實現和js判斷這四種真等高布局。偽等高;邊框模擬  ;因為元素邊框和元素高度始終是相同高度,用元素的邊框顏色來偽裝左右兩個兄弟元素的背景色。然后將左右兩個透明背景的元素使用absolute覆蓋在中間元素的左右邊框上,實現視覺上的等高效果。[注意]左右兩側元素高度不能大于中間元素高度,否則無法撐開容器高度。CSS Code復制內容到剪貼板。
推薦度:
標簽: 方法 種方式 幾種
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美日韩国产在线人 | 无遮挡免费看 | 日韩一区二区视频 | 国产成人精品一区二区三在线观看 | 亚洲v日韩v欧美在线观看 | 国产亚洲欧美一区 | 精品在线播放 | 中文字字幕码一二三区 | 国产精品亚洲国产三区 | 午夜免费啪啪 | 国产a网站 | 国产免费视屏 | 国产精品一区在线播放 | 另类交 | 九九九影院 | 欧美色人阁 | 欧美专区日韩专区 | 亚洲国产成人精彩精品 | 欧美亚洲欧美 | 欧美亚洲另类综合 | 国产精品国产亚洲精品看不卡 | www.国产精品.com | 欧美中文一区 | 曰韩欧美 | 日本不卡一区二区三区四区 | 亚洲图片在线观看 | a级毛片在线播放 | 亚洲日韩图片专区第1页 | 亚洲欧美日韩在线播放 | 中文字幕 日韩有码 | 国产原创91 | 国产91精品一区二区视色 | 日韩午夜电影 | 成人三级在线观看 | 亚洲一区色图 | 国产在线成人一区二区三区 | 91亚洲欧美综合高清在线 | 久久精品国产亚洲精品2020 | 一级毛片免费下载 | 精品国产亚一区二区三区 | 国产在线播放一区二区 |