主頁 > 知識庫 > DIV+CSS網(wǎng)頁制作布局技巧學習

DIV+CSS網(wǎng)頁制作布局技巧學習

熱門標簽:沸思外呼線路 電銷智能機器人靠譜么 400電話辦理安徽 電銷機器人的宣傳語 石家莊電話機器人電話 江西防封卡外呼系統(tǒng)怎么安裝 南寧外呼電銷系統(tǒng)招商 南通電話外呼系統(tǒng)開發(fā) 北京銷售外呼系統(tǒng)線路
CSS布局常用的方法:float:none|left|right
取值:
none: 默認值。對象不飄浮
left: 文本流向對象的右邊
right: 文本流向對象的左邊

它是怎樣工作的,看個一行兩列的例子
xhtml:
div id="wrap">
div id="column1">這里是第一列/div>
div id="column2">這里是第二列/div>
div class="clear">/div> /*這是違背web標準意圖的,只是想說明在它下面的元素需要清除浮動*/
/div>
CSS:
#wrap{width:100;height:auto;}
#column1{float:left;width:40;}
#column2{float:right;width:60;}
.clear{clear:both;}

position:static|absolute|fixed|relative
取值:
static: 默認值。無特殊定位,對象遵循HTML定位規(guī)則
absolute: 將對象從文檔流中拖出,使用left,right,top,bottom等屬性相對于其最接近的一個最有定位設置的父對象進行絕對定位。如果不存在這樣的父對象,則依據(jù)body對象。而其層疊通過z-index屬性定義
fixed: 未支持。對象定位遵從絕對(absolute)方式。但是要遵守一些規(guī)范
relative: 對象不可層疊,但將依據(jù)left,right,top,bottom等屬性在正常文檔流中偏移位置

它來實現(xiàn)一行兩列的例子
xhtml:
div id="wrap">
div id="column1">這里是第一列/div>
div id="column2">這里是第二列/div>
/div>
CSS:
#wrap{position:relative;/*相對定位*/width:770px;}
#column1{position:absolute;top:0;left:0;width:300px;}
#column2{position:absolute;top:0;right:0;width:470px;}
他們的區(qū)別在哪?
顯然,float是相對定位的,會隨著瀏覽器的大小和分辨率的變化而改變,而position就不行了,所以一般情況下還是float布局!

CSS常用布局實例

單行一列
body{margin:0px;padding:0px;text-align:center;}
#content{margin-left:auto;margin-right:auto;width:400px;}

兩行一列
body{margin:0px;padding:0px;text-align:center;}
#content-top{margin-left:auto;margin-right:auto;width:400px;}
#content-end{margin-left:auto;margin-right:auto;width:400px;}

三行一列
body{margin:0px;padding:0px;text-align:center;}
#content-top{margin-left:auto;margin-right:auto;width:400px;width:370px;}
#content-mid{margin-left:auto;margin-right:auto;width:400px;}
#content-end{margin-left:auto;margin-right:auto;width:400px;}

單行兩列
#bodycenter{width:700px;margin-right:auto;margin-left:auto;overflow:auto;}
#bodycenter#dv1{float:left;width:280px;}
#bodycenter#dv2{float:right;width:420px;}

兩行兩列
#header{width:700px;margin-right:auto;margin-left:auto;overflow:auto;}
#bodycenter{width:700px;margin-right:auto;margin-left:auto;overflow:auto;}
#bodycenter#dv1{float:left;width:280px;}
#bodycenter#dv2{float:right;width:420px;}

三行兩列
#header{width:700px;margin-right:auto;margin-left:auto;}
#bodycenter{width:700px;margin-right:auto;margin-left:auto;}
#bodycenter#dv1{float:left;width:280px;}
#bodycenter#dv2{float:right;width:420px;}
#footer{width:700px;margin-right:auto;margin-left:auto;overflow:auto;clear:both;}

單行三列

絕對定位
#left{position:absolute;top:0px;left:0px;width:120px;}
#middle{margin:0px190px0px190px;}
#right{position:absolute;top:0px;right:0px;width:120px;}

float定位
xhtml:
div id="wrap">
div id="column">
div id="column1">這里是第一列/div>
div id="column2">這里是第二列/div>
div class="clear">/div>/*用法web標準不建議,但是記住下面元素需要清除浮動*/
/div>
divid="column3">這里是第三列/div>
divclass="clear">/div>/*用法web標準不建議,但是記住下面元素需要清除浮動*/
/div>
CSS:
#wrap{width:100;height:auto;}
#column{float:left;width:60;}
#column1{float:left;width:30;}
#column2{float:right;width:30;}
#column3{float:right;width:40;}
.clear{clear:both;}

float定位二
xhtml
div id="center"class="column">
h1>Thisisthemaincontent./h1>
/div>
div id="left"class="column">
h2>Thisistheleftsidebar./h2>
/div>
div id="right"class="column">
h2>Thisistherightsidebar./h2>
/div>
CSS
body{
margin:0;
padding-left:200px;/*LCfullwidth*/
padding-right:190px;/*RCfullwidth CCpadding*/
min-width:200px;/*LCfullwidth CCpadding*/
}
.column{
position:relative;
float:left;
}
#center{
width:100;
}
#left{
width:200px;/*LCwidth*/
right:200px;/*LCfullwidth*/
margin-left:-100;
}
#right{
width:190px;/*RCwidth*/
margin-right:-100;
}


/***IEFix***/
*html#left{
left:190px;/*RCfullwidth*/
}

兩行三列
xhtml:

div id="header">這里是頂行/div>
div id="warp">
div id="column">
div id="column1">這里是第一列/div>
div id="column2">這里是第二列/div>
div class="clear">/div>
/div>
div id="column3">這里是第三列/div>
div class="clear">/div>
/div>
CSS:
#header{width:100;height:auto;}
#wrap{width:100;height:auto;}
#column{float:left;width:60;}
#column1{float:left;width:30;}
#column2{float:right;width:30;}
#column3{float:right;width:40;}
.clear{clear:both;}

三行三列
xhtml:
div id="header">這里是頂行/div>
div id="wrap">
div id="column">
div id="column1">這里是第一列/div>
div id="column2">這里是第二列/div>
div class="clear">/div>
/div>
div id="column3">這里是第三列/div>
div class="clear">/div>
/div>
div id="footer">這里是底部一行/div>
CSS:
#header{width:100;height:auto;}
#wrap{width:100;height:auto;}
#column{float:left;width:60;}
#column1{float:left;width:30;}
#column2{float:right;width:30;}
#column3{float:right;width:40;}
.clear{clear:both;}
#footer{width:100;height:auto;}

PS: 這里列出的是常用的例子,而非研究之用,對一每個盒子,我都沒有設置margin,padding,boeder等屬性,是因為我個人覺得,含有寬度定位的時候,最好不好用到他們,除非必不得已,因為如果不是這樣的話,解決瀏覽器兼容問題,會讓你頭疼,而且產生一系列CSS代碼,我覺得這樣的效率和效果都不好!

CSS布局高級技巧
margin和padding總是有可能要用到,而產生的問題如何解決呢?由于瀏覽器解釋容器寬度的方法不同:
IE6.0FirefoxOpera等是
真實寬度=width padding border margin
IE5.X
真實寬度=width-padding-border-margin

IE中有浮動對象的雙倍距離之BUG(IEDoubledFloat-MarginBug),這里還需要具體問題具體解決,下面是解決辦法www.forest53.com/tutorials/tutorials_show.asp?id=31

很明顯,第一種下很完美的布局在第二種情況下后果是很凄慘的!
解決的方法是hack
div.content{
width:400px;//這個是錯誤的width,所有瀏覽器都讀到了
voice-family:"\"}\"";//IE5.X/win忽略了"\"}\""后的內容
voice-family:inherit;
width:300px;//包括IE6/win在內的部分瀏覽器讀到這句,新的數(shù)值(300px)覆蓋掉了舊的
}
html>body.content{//html>body是CSS2的寫法
width:300px;//支持CSS2該寫法的瀏覽器(非IE5)有幸讀到了這一句
}

div.content{
width:300px!important;//這個是正確的width,大部分支持!important標記的瀏覽器使用這里的數(shù)值
width(空格)/**/:400px;//IE6/win不解析這句,所以IE6/win仍然認為width的值是300px;而IE5.X/win讀到這句,新的數(shù)值(400px)覆蓋掉了舊的,因為!important標記對他們不起作用
}
html>body.content{//html>body是CSS2的寫法
width:300px;//支持CSS2該寫法的瀏覽器有幸讀到了這一句
}

列等高技巧
n行n列布局,每列高度(事先并不能確定哪列的高度)的相同,是每個設計師追求的目標,做法有:背景圖填充、加JS腳本的
方法和容器溢出部分隱藏和列的負底邊界和正的內補丁相結合的方法。

背景圖填充法:
xhtml:
div id="wrap">
div id="column1">這是第一列/div>
div id="column1">這是第二列/div>
div class="clear">/div>
/div>
css:
#wrap{width:776px;background:url(bg.gif)repeat-y300px;}
#column1{float:left;width:300px;}
#column2{float:right;width:476px;}
.clear{clear:both;}

就是將一個npx寬的一張圖片在外部容器縱向重復,定位到兩列交錯的位置縱向重復,在視覺上產生了兩列高度一樣的錯覺。

標簽:來賓 鹽城 衢州 寧夏 北海 云南 晉中 陽泉

巨人網(wǎng)絡通訊聲明:本文標題《DIV+CSS網(wǎng)頁制作布局技巧學習》,本文關鍵詞  DIV+CSS,網(wǎng)頁制作,布局,技巧,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《DIV+CSS網(wǎng)頁制作布局技巧學習》相關的同類信息!
  • 本頁收集關于DIV+CSS網(wǎng)頁制作布局技巧學習的相關信息資訊供網(wǎng)民參考!
  • 推薦文章