亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 開(kāi)發(fā) > CSS > 正文

css實(shí)現(xiàn)右側(cè)固定寬度 左側(cè)寬度自適應(yīng)

2024-07-11 09:08:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

反過(guò)來(lái)也可以:左側(cè)寬度固定,右側(cè)自適應(yīng)。不管是左是右,反正就是一邊寬度固定,一邊寬度自適應(yīng)。

這種布局比較常見(jiàn),博客園很多默認(rèn)主題就是這種。一般情況下,這種布局中寬度固定的區(qū)域是側(cè)邊欄,而自適應(yīng)的區(qū)域是主體內(nèi)容區(qū)——相信把側(cè)邊欄搞成自適應(yīng)的人很少吧?

要實(shí)現(xiàn)這種布局,也算比較簡(jiǎn)單。我們先給出html結(jié)構(gòu):

<div id="wrap">  <div id="sidebar" style="height:240px;">固定寬度區(qū)</div>  <div id="content" style="height:340px;">自適應(yīng)區(qū)</div></div><div id="footer">后面的一個(gè)DIV,以確保前面的定位不會(huì)導(dǎo)致后面的變形</div>

代碼中的#wrap的div,是用來(lái)包裹我們要定位的這兩個(gè)區(qū)的;他后面還有個(gè)#footer,用來(lái)測(cè)試在前面的定位搞定后會(huì)不會(huì)導(dǎo)致后面的div錯(cuò)位——如果錯(cuò)位了,那證明我們的定位方法必須改進(jìn)。

下面列舉幾個(gè)常見(jiàn)的方法:

1,固定寬度區(qū)浮動(dòng),自適應(yīng)區(qū)不設(shè)寬度而設(shè)置 margin

我們拿右邊定寬左邊自適應(yīng)來(lái)做示范,CSS代碼如下:

#wrap {    overflow: hidden; *zoom: 1;  }  #content ,#sidebar {    background-color: #eee;   }  #sidebar {    float: right; width: 300px;  }  #content {    margin-right: 310px;  }  #footer {background-color: #f00;color:#fff; margin-top: 1em}

其中,sidebar讓他浮動(dòng),并設(shè)置了一個(gè)寬度;而content沒(méi)有設(shè)置寬度。

大家要注意html中必須使用div標(biāo)簽,不要妄圖使用什么p標(biāo)簽來(lái)達(dá)到目的。因?yàn)閐iv有個(gè)默認(rèn)屬性,即如果不設(shè)置寬度,那他會(huì)自動(dòng)填滿他的父標(biāo)簽的寬度。這里的content就是例子。

當(dāng)然我們不能讓他填滿了,填滿了他就不能和sidebar保持同一行了。我們給他設(shè)置一個(gè)margin。由于sidebar在右邊,所以我們?cè)O(shè)置content的margin-right值,值比sidebar的寬度大一點(diǎn)點(diǎn)——以便區(qū)分他們的范圍。例子中是310.

假設(shè)content的默認(rèn)寬度是100%,那么他設(shè)置了margin后,他的寬度就變成了100%-310,此時(shí)content發(fā)現(xiàn)自己的寬度可以與sidebar擠在同一行了,于是他就上來(lái)了。

而寬度100%是相對(duì)于他的父標(biāo)簽來(lái)的,如果我們改變了他父標(biāo)簽的寬度,那content的寬度也就會(huì)變——比如我們把瀏覽器窗口縮小,那wrap的寬度就會(huì)變小,而content的寬度也就變小——但,他的實(shí)際寬度100%-310始終是不會(huì)變的。

這個(gè)方法看起來(lái)很完美,只要我們記得清除浮動(dòng)(這里我用了最簡(jiǎn)單的方法),那footer也不會(huì)錯(cuò)位。而且無(wú)論content和sidebar誰(shuí)更長(zhǎng),都不會(huì)對(duì)布局造成影響.

css,寬度自適應(yīng)

css,寬度自適應(yīng)

但實(shí)際上這個(gè)方法有個(gè)很老火的限制——html中sidebar必須在content之前!

但我需要sidebar在content之后!因?yàn)槲业腸ontent里面才是網(wǎng)頁(yè)的主要內(nèi)容,我不想主要內(nèi)容反而排在次要內(nèi)容后面。

但如果sidebar在content之后,那上面的一切都會(huì)化為泡影。

可能有的人不理解,說(shuō)你干嘛非要sidebar在后面呢?這個(gè)問(wèn)題說(shuō)來(lái)話長(zhǎng),反正問(wèn)題就是——content必須在sidebar之前,但content寬度要自適應(yīng),怎么辦?

下面有兩個(gè)辦法,不過(guò)我們先把html結(jié)構(gòu)改成我們想要的樣子:

<div id="wrap">  <div id="content" style="height:340px;">自適應(yīng)區(qū),在前面</div>  <div id="sidebar" style="height:240px;">固定寬度區(qū)</div></div>

2,固定寬度區(qū)使用絕對(duì)定位,自適應(yīng)區(qū)照例設(shè)置margin

我們把sidebar扔掉,只對(duì)content設(shè)置margin,那么我們會(huì)發(fā)現(xiàn)content的寬度就已經(jīng)變成自適應(yīng)了——于是content對(duì)sidebar說(shuō),我的寬度,與你無(wú)關(guān)。

content很容易就搞定了,此時(shí)來(lái)看看sidebar,他迫不得已拋棄了float。我們來(lái)看看sidebar的特點(diǎn):在右邊,寬度300,他的定位對(duì)content不影響——很明顯,一個(gè)絕對(duì)主義分子誕生了。

于是我們的css如下:

#wrap {    *zoom: 1; position: relative;  }  #sidebar {    width: 300px; position: absolute; right: 0; top: 0;  }  #content {    margin-right: 310px;  }

這段css中要注意給wrap加上了相對(duì)定位,以免sidebar太絕對(duì)了跑到整個(gè)網(wǎng)頁(yè)的右上角而不是wrap的右上角。

好像完成了?在沒(méi)有看footer的表現(xiàn)時(shí),我很欣慰。我們來(lái)把sidebar加長(zhǎng)——增長(zhǎng)100px!不要一年,只要一條內(nèi)褲!哦,,,只要一句代碼。

css,寬度自適應(yīng)

但是,footer怎么還是在那兒呢?怎么沒(méi)有自動(dòng)往下走呢?footer說(shuō)——我不給絕對(duì)主義者讓位!

其實(shí)這與footer無(wú)關(guān),而是因?yàn)閣rap對(duì)sidebar的無(wú)視造成的——你再長(zhǎng),我還是沒(méi)感覺(jué)。

看來(lái)這種定位方式只能滿足sidebar自己,但對(duì)他的兄弟們卻毫無(wú)益處。

3,float與margin齊上陣

經(jīng)過(guò)前面的教訓(xùn),我們重新確立了這個(gè)自適應(yīng)寬度布局必須要達(dá)成的條件:

  • sidebar寬度固定,content寬度自適應(yīng)
  • content要在sidebar之前
  • 后面的元素要能正常定位,不能受影響

由于絕對(duì)定位會(huì)讓其他元素?zé)o視他的存在,所以絕對(duì)定位的方式必須拋棄。

如果content和sidebar一樣,都用float,那content的自適應(yīng)寬度就沒(méi)戲了;如果不給content加float,那sidebar又會(huì)跑到下一行去。

所以,最終我決定:float與margin都用。

我打算把content的寬度設(shè)為100%,然后設(shè)置float:left,最后把他向左移動(dòng)310,以便于sidebar能擠上來(lái)。

但這么一來(lái)content里面的內(nèi)容也會(huì)跟著左移310,導(dǎo)致被遮住了,所以我們要把他重新擠出來(lái)。為了好擠,我用了一個(gè)額外的div包裹住內(nèi)容,所以html結(jié)構(gòu)變成了這種樣子:

<div id="wrap">  <div id="content" style="height:140px;">    <div id="contentb">      content自適應(yīng)區(qū),在前面    </div>  </div>  <div id="sidebar" style="height:240px;">sidebar固定寬度區(qū)</div></div>

css則變成這樣:

#sidebar {    width: 300px; float: right;  }  #content {    margin-left: -310px; float: left; width: 100%;  }  #contentb {    margin-left: 310px;  }

這樣一改,真正的“content”就變成了contentb,他的寬度跟以前的content一樣,是100%-310.

大家可能注意到了代碼中的兩個(gè)margin-left,一個(gè)-310px一個(gè)310px,最后結(jié)合起來(lái)相當(dāng)于什么都沒(méi)干,著實(shí)蛋疼。但他確實(shí)解決了content與sidebar的順序問(wèn)題。

這個(gè)方法的缺點(diǎn)就是:太怪異,以及額外多了一層div。

4,標(biāo)準(zhǔn)瀏覽器的方法

當(dāng)然,以不折騰人為標(biāo)準(zhǔn)的w3c標(biāo)準(zhǔn)早就為我們提供了制作這種自適應(yīng)寬度的標(biāo)準(zhǔn)方法。那就簡(jiǎn)單了:把wrap設(shè)為display:table并指定寬度100%,然后把content+sidebar設(shè)為display:table-cell;然后只給sidebar指定一個(gè)寬度,那么content的寬度就變成自適應(yīng)了。

代碼很少,而且不會(huì)有額外標(biāo)簽。不過(guò)這是IE7都無(wú)效的方法。

———————割尾巴————————-

如果不考慮ie7及以下版本,則使用標(biāo)準(zhǔn)方法;如果不在意sidebar與content的順序,則用第一種方法;否則用第3種方法。

以上代碼都沒(méi)在IE6測(cè)試,有問(wèn)題不負(fù)責(zé)解釋。個(gè)人覺(jué)得,讓IE6壽終正寢的辦法就是——從此不再理他。

 

注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到CSS教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
日韩精品一线二线三线| 国产精品传媒在线观看| 欧美日韩三级在线观看| av黄色免费网站| 成人好色电影| 国产中文字字幕乱码无限| 小小女视频网站色琼网站| 欧美夫妻性生活视频| 综合在线观看色| 爱啪啪综合导航| 日韩一区二区三区四区五区六区| 成人黄色一区二区| 黄色片一区二区三区| 色婷婷综合视频在线观看| 国内外成人在线| 成人性生交大片免费看视频直播| 亚洲av成人片色在线观看高潮| 国内精品视频在线观看| 日韩欧美在线电影| 亚洲欧美日韩国产中文在线| 欧美另类网站| 午夜精品久久久久久久99热| 日韩一区二区三区免费观看| 免费免费啪视频在线观看| 久久精品亚洲94久久精品| 午夜老司机精品| 免费看av成人| 欧美日韩一区二区三| 乱子伦一区二区三区| 91视频久色| 最近2018中文字幕免费在线视频| 在线视频你懂得| 中文字幕在线观看免费| 久久久久久久久久影视| 免费网站看黄yyy222| 在线观看区一区二| 久久香蕉精品视频| 最好看的中文字幕久久| 婷婷五月精品中文字幕| 最近最新中文字幕在线| 国产精品20p| 日韩激情av| 精品国产一区二区三区性色av| 国产传媒日韩欧美成人| 亚洲精品理论片| 欧美激情在线观看视频免费| 超免费在线视频| 欧美一级欧美三级在线| 日韩精品最新网址| 国产偷自视频区视频一区二区| 国产一区二区麻豆| 国产黄色av网站| 亚洲天堂电影网| 在线麻豆国产传媒1国产免费| 久久久久久久999精品视频| www.99riav| 中文字幕色婷婷在线视频| 日本污视频在线观看| 激情欧美一区二区三区| 国产激情在线看| 日韩成人一区二区| 91国内精品久久久久| 欧美亚洲国产另类| 在线免费视频你懂得| 亚洲综合无码一区二区| 在线观看视频91| 成人h片在线播放免费网站| 精品国产伦一区二区三区观看体验| 成人欧美精品久久久久影院| 中文天堂资源在线| 国产视频在线视频| 屁屁影院国产第一页| 国产l精品国产亚洲区久久| 岛国爱情动作片在线| 日本一区免费视频| 好吊色视频988gao在线观看| xxxxxx国产精品视频| 日本在线观看视频| 欧美日韩高清一区二区| 成人欧美视频在线观看播放| 国产一区在线免费| 少妇喷水在线观看| 色屁屁草草影院ccyycom| 中国 免费 av| 亚洲国产精品一区在线观看不卡| 老牛国产精品一区的观看方式| 最新国产成人在线观看| 深夜福利小视频| 高清hd写真福利在线播放| 一区二区亚洲精品国产| 91传媒在线免费观看| 国产精品一区二三区| 水蜜桃精品av一区二区| 国产老妇伦国产熟女老妇视频| 高清在线一区二区| jizz一区二区三区| 国产精品一区二区免费视频| 西西人体一区二区| 亚洲国产中文字幕在线视频综合| 亚洲国产精品资源| 国产在线观看色| 老司机精品视频网站| 久久久久99精品国产片| 亚洲欧美一区二区视频| 97欧美精品一区二区三区| 成人短视频在线观看免费| 日韩一级大片在线| 亚洲精品国产一区二区在线| 中文字字幕在线中文乱码| 国产精品免费区二区三区观看| 中文字幕亚洲日本| 神马影视一区二区| 青青草.com| 天堂中文最新版在线中文| 黄色手机在线视频| 精品人妻一区二区三区浪潮在线| 国产精自产拍久久久久久| 日本在线观看视频网站| 亚洲欧美一区二区三区四区| 米奇四色影视| 麻豆av免费在线观看| 欧美熟妇精品一区二区| 四虎4545www精品视频| 中文字幕乱码人妻综合二区三区| 色欲av无码一区二区三区| 欧美成人精品福利网站| 日本天码aⅴ片在线电影网站| 国产女同性恋一区二区| 亚欧无线一线二线三线区别| 亚洲综合五月天婷婷丁香| 亚洲看片网站| 亚洲永久av| 草莓视频丝瓜在线观看丝瓜18| 裸体丰满少妇做受久久99精品| 国产chinese中国hdxxxx| 亚洲欧美日本国产有色| 亚洲一卡二卡三卡| 激情伊人五月天久久综合| 国产一级在线观看视频| 天天爱天天操天天干| 真实国产乱子伦对白在线| 欧美精品少妇一区二区三区| 91动漫免费网站| 露出调教综合另类| 91免费精品国自产拍在线不卡| 日本久久久久久久| 欧美日韩在线看片| 日韩欧美在线视频一区二区| 日韩精品亚洲一区| 日韩av片在线免费观看| 久久av一区| 成人三级伦理片| 一区二区三区中文字幕| 天天操天天碰| 三级黄色的网站| 国产乱码精品一区二区三区不卡| 国产ts一区二区| 精品无人区乱码1区2区3区在线| 粉嫩av一区二区三区在线播放| 久久久国际精品| 99久久99久久精品国产| 久久www免费人成精品| 亚洲国产午夜精品| 在线影院福利| 亚洲s色大片| 美女黄视频在线播放| 成年人视频网址| 麻豆国产欧美一区二区三区| 色婷婷综合成人| 国产成人精品福利| 亚洲色图另类色图| 国产免费av一区二区三区| 欧美一级淫片丝袜脚交| 中文字幕高清一区| 黄色av片三级三级三级免费看| 久久久久久久亚洲| 久久精品免视着国产成人| 色哟哟一区二区三区| 免费视频二区| 久久99精品波多结衣一区| 亚洲黄色av网站| 久久国产精品首页| 欧美午夜电影在线播放| 久久免费看少妇高潮v片特黄| 午夜精品一区二区三区在线| 黑人糟蹋人妻hd中文字幕| 国产精品一二三区在线观看| 久久综合久久久久| 91精品视频网站| 成人小视频在线| 中文字幕在线国产精品| 国产精品剧情一区二区在线观看| 中文字幕在线观看网站| 日韩专区中文字幕| 韩国中文免费在线视频| 日韩影片中文字幕| 日本aa大片在线播放免费看| 在线免费av播放| 免费无码毛片一区二三区| 国产三级伦理片| 小早川怜子一区二区的演员表| 天堂在线视频观看| 日本不卡一区二区三区视频| 国产91色蝌蚪视频| 99热在线成人| 91久久夜色精品国产九色| 国产精品免费视频一区| 亚洲欧美久久精品| 91高潮精品免费porn| 国产精品一区二区久久不卡| 在线观看av每日更新免费| 成人免费区一区二区三区| 日本黄色免费视频| 国产欧美视频在线观看| 成人免费在线观看网站| 少妇熟女视频一区二区三区| 国产午夜三级一区二区三| 欧美性生活久久| 精品视频导航| 国产亚洲成年网址在线观看| 亚洲夜晚福利在线观看| 狠狠操视频网站| 欧美另类videoxo高潮| 天美一区二区三区| 久久福利免费视频| 国产精品日韩在线播放| 美国av一区二区三区| 亚洲色图第一区| 51精品国产黑色丝袜高跟鞋| 精人妻无码一区二区三区| 亚洲女女做受ⅹxx高潮| 亚洲日本va午夜在线影院| 国产一二三四区| 大地资源高清在线视频观看| 一级黄色在线观看| 中国老头性行为xxxx| 成人网在线免费观看| 成人午夜天堂| 国产中文在线视频| 亚洲成a人片在线观看中文| 国产午夜手机精彩视频| 97超碰人人模人人爽人人看| 亚洲日韩中文字幕在线播放| 精品久久久久久久久久久久久久久| 日韩综合视频在线观看| 毛片基地网站| 在线免费av电影| 中文字幕在线视频第一页| 韩国av在线免费观看| h网站在线免费观看| 欧美日韩伦理| 日韩和的一区二区| 欧美成人精精品一区二区频| 国产精品ⅴa在线观看h| 欧美日韩一区二区欧美激情| 永久免费无码av网站在线观看| 欧美裸体xxxx极品少妇| 精品一区二区三区在线观看视频| 色婷婷av一区二区三区在线观看| 国产精品乱码一区二区三区视频| 日本精品一区二区在线观看| 欧美亚洲人成在线| 嫩草视频免费在线观看| 欧美一区亚洲一区| 91精品尤物| 青青草97国产精品免费观看无弹窗版| 久草视频在线资源站| 免费在线观看黄| 美女搡bbb又爽又猛又黄www| 亚洲午夜一区| 亚洲精品一区二区三区99| 亚洲人成网站影音先锋播放| 天天揉久久久久亚洲精品| 久草国产在线视频| 樱桃视频在线观看一区| 国产99久久久国产精品| 999色成人| 色的视频在线观看免费播放| 99蜜月精品久久91| 欧美揉bbbbb揉bbbbb| 免费裸体视频网站| 精品无码一区二区三区电影桃花| 国产一二区在线观看| 黄色三级视屏| 亚洲精品99久久久久| 桃乃木香奈和黑人aⅴ在线播放| 中文字幕校园春色| 欧美一区二不卡视频| 国产精品久久综合青草亚洲AV| 亚洲综合色在线观看| 91最新国产视频| 日本十八禁视频无遮挡| 欧美一级日韩不卡播放免费| 日韩视频中午一区| 一区在线观看| 天堂资源在线中文| 国产一区二区在线观看免费视频| 怡红院一区二区| 中文字幕高清不卡| 深夜福利日韩在线看| 国产精品伦一区二区三区级视频频| 制服丝袜影音先锋| 亚洲私人黄色宅男| 黄网页在线观看| h网站免费在线观看| 国产91xxx| 日韩一级片网址| 99久久国产综合精品成人影院| 国产精品久久久久婷婷| 成人伊人精品色xxxx视频| 激情图片小说一区| 国产一区二区不卡视频在线观看| 久久久久久亚洲精品美女| av美女网站| 国产成人精品综合久久久久99| 欧美wwwwww| 中文一区一区三区高中清不卡| www成人免费观看网站| 女同久久另类99精品国产| 天堂av中文在线资源库| 国产精品美女久久福利网站| 色噜噜狠狠一区二区三区狼国成人| 国产日韩欧美| 国产精品人人爽人人爽| 国产一区二区不卡视频在线观看| 亚洲国产毛片aaaaa无费看| 91夜夜蜜桃臀一区二区三区| 懂色一区二区三区av片|