詳解左右寬度固定中間自適應(yīng)html布局解決方案

本文介紹了詳解左右寬度固定中間自適應(yīng)html布局解決方案,分享給大家,具體如下:
a.使用浮動(dòng)布局
html結(jié)構(gòu)如下
<div class="box"> <div class="left">left</div> <div class="right">right</div> <div class="center">center</div> </div> //此處注意要先渲染左、右浮動(dòng)的元素才到中間的元素。元素浮動(dòng)后剩余兄弟塊級(jí)元素會(huì)占滿父元素的寬度 <style> .box{ height:200px; } .left{ float:left; width:300px; } .right{ float:right; width:300px; } </style>
b.使用固定定位
html結(jié)構(gòu)如下
<div class="box"> <div class="left">left</div> <div class="right">right</div> <div class="center">center</div> </div> //和浮動(dòng)布局同理,先渲染左右元素,使其定位在父元素的左右兩端,剩余的中間元素占滿父元素剩余寬度。 <style> .box{ position: relative; } .left{ position: absolute; width: 100px; left: 0; } .right{ width:100px; position: absolute; right: 0; } .center{ margin: 0 100px; background: red; } </style>
c.表格布局
將父元素display:table,子元素display:table-cell,會(huì)將它變?yōu)樾袃?nèi)塊。
這種布局方式的優(yōu)點(diǎn)是兼容性好。
<div class="box"> <div class="left"> left </div> <div class="center"> center </div> <div class="right"> right </div> </div> <style> .box{ display: table; width: 100%; } .left{ display: table-cell; width: 100px; left: 0; } .right{ width:100px; display: table-cell; } .center{ width: 100%; background: red; } </style>
d.彈性布局
父元素display:flex子元素會(huì)全部并列在一排。
子元素中flex:n的寬度會(huì)將父元素的寬度/n
如flex:1,寬度就等于父元素高度。
彈性布局的缺點(diǎn)是兼容性不高,目前IE瀏覽器無法使用彈性布局
<div class="box"> <div class="left"> left </div> <div class="center"> center </div> <div class="right"> right </div> </div> <style> .box{ display: flex; width: 100%; } .left{ width: 100px; left: 0; } .right{ width:100px; } .center{ flex:1; } </style>
e.網(wǎng)格布局
父元素display:grid;
grid-templatecolumns:100px auto 100px;
依次為第一個(gè)子元素寬100px 第二個(gè)自適應(yīng) 第三個(gè)100px;
網(wǎng)格布局的優(yōu)點(diǎn)是極為簡便,直接通過父元素樣式?jīng)Q定,缺點(diǎn)是兼容性不高。
<div class="box"> <div class="left"> left </div> <div class="center"> center </div> <div class="right"> right </div> </div> <style> .box{ display: grid; grid-template-columns: 100px auto 100px; width: 100%; } </style>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
- HTML表格用于在網(wǎng)頁上展示數(shù)據(jù),通過標(biāo)簽及其相關(guān)標(biāo)簽來創(chuàng)建,表格由行和列組成,每一行包含一個(gè)或多個(gè)單元格,單元格可以包含文本、圖像、鏈接等元素,本文將詳細(xì)介紹HTML表格2025-03-12
- 本文介紹了三種禁止HTML頁面滾動(dòng)的方法:通過CSS的overflow屬性、使用JavaScript的滾動(dòng)事件監(jiān)聽器以及使用CSS的position:fixed屬性,每種方法都有其適用場景和優(yōu)缺點(diǎn),感興2025-02-24
使用HTML和CSS實(shí)現(xiàn)文字鏤空效果的代碼示例
在 Web 開發(fā)中,文本的視覺效果是提升用戶體驗(yàn)的重要因素之一,通過 CSS 技巧,我們可以創(chuàng)造出許多獨(dú)特的效果,例如文字鏤空效果,本文將帶你一步一步實(shí)現(xiàn)一個(gè)簡單的文字鏤空2024-11-17Html去除a標(biāo)簽的默認(rèn)樣式的操作代碼
在Html中,a標(biāo)簽?zāi)J(rèn)的超鏈接樣式是藍(lán)色字體配下劃線,這可能不滿足所有設(shè)計(jì)需求,如需去除這些默認(rèn)樣式,可以通過CSS來實(shí)現(xiàn),本文給大家介紹Html去除a標(biāo)簽的默認(rèn)樣式的操作代碼2024-09-25HTML文本域如何設(shè)置為禁止用戶手動(dòng)拖動(dòng)
在HTML中,可以通過設(shè)置CSS的resize屬性為none,來禁止用戶手動(dòng)拖動(dòng)文本域(textarea)的大小,這種方法簡單有效,適用于大多數(shù)現(xiàn)代瀏覽器,但需要在老舊瀏覽器中進(jìn)行測試以確保2024-09-25如何通過HTML/CSS 實(shí)現(xiàn)各類進(jìn)度條的功能
本文詳細(xì)介紹了如何利用HTML和CSS實(shí)現(xiàn)多種風(fēng)格的進(jìn)度條,包括基礎(chǔ)的水平進(jìn)度條、環(huán)形進(jìn)度條以及球形進(jìn)度條等,還探討了如何通過動(dòng)畫增強(qiáng)視覺效果,內(nèi)容涵蓋了使用HTML原生標(biāo)簽2024-09-19HTML中Canvas關(guān)鍵知識(shí)點(diǎn)總結(jié)
Canvas 提供了一套強(qiáng)大的 2D 繪圖 API,適用于各種圖形繪制、圖像處理和動(dòng)畫制作,可以幫助你創(chuàng)建復(fù)雜且高效的網(wǎng)頁圖形應(yīng)用,這篇文章主要介紹了HTML中Canvas關(guān)鍵知識(shí)點(diǎn)總結(jié)2024-06-03html table+css實(shí)現(xiàn)可編輯表格的示例代碼
本文主要介紹了html table+css實(shí)現(xiàn)可編輯表格的示例代碼,主要使用HTML5的contenteditable屬性,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)2024-03-06HTML中使用Flex布局實(shí)現(xiàn)雙行夾批效果
本文主要介紹了HTML中使用Flex布局實(shí)現(xiàn)雙行夾批效果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)2024-02-22HTML+CSS實(shí)現(xiàn)炫酷登錄切換的項(xiàng)目實(shí)踐
在網(wǎng)站開發(fā)中,登錄頁面是必不可少的一部分,本文就來介紹一下HTML+CSS實(shí)現(xiàn)登錄切換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需2024-02-02