div+css中常見的問題

來源:互聯網
上載者:User

 1、置中問題
div裡的內容,ie預設為置中,而ff預設為靠左對齊。
使ff內容置中的方法是增加代碼margin:auto;

2、高度問題
設有兩橫行div排列,上面的div設定高度(height),如果div裡的實際內容大於所設高度,在ff中會出現兩個div重疊的現象;但在ie中, 下面的div會自動給上面的div讓出空間。所以為避免出現層的重疊,高度一定要控制恰當,或者乾脆不寫高度,讓他自動調節。
或者設定:overflow:hidden

3、clear:both;
拿footer為例,有時候如果上面使用 了float控制的n列的布局,那麼在用ff瀏覽時footer很有可能不老實,到處亂動——因為他還在受到浮動(float)的控制。如果想讓它老老實 實呆在頁面下方,在footer的div中寫入clear:both;就可以達到效果了!

4、浮動Ie產生的雙倍距離
#box{
float:left;
width:100px;
margin:0 0 0 100px; //這種情況之下IE會產生200px的距離
display:inline; //使浮動忽略
}

5、重點講解:display:block,inline兩個元素 display(顯示)
display:block; //可以為內嵌元素類比為塊元素

總是在新行上開始;
高度,行高以及頂和底邊距都可控制;
寬度預設是它的容器的100%,除非設定一個寬度
<div>, <p>, <h1>, <form>, <ul> 和 <li>是塊元素的例子。
display:inline; //實現同一行排列的的效果
display:inline就是將元素顯示為行內元素.
inline元素的特點是:
和其他元素都在一行上;
高,行高及頂和底邊距不可改變;
寬度就是它的文字或圖片的寬度,不可改變。
<span>, <a>, <label>, <input>, <img>, <strong> 和<em>是inline元素的例子。

diplay:table; //for ff,類比table的效果
6、IE與FF寬度和高度的問題
min -width是個非常方便的CSS命令,它可以指定元素最小也不能小於某個寬度,這樣就能保證排版一直正確。整體最窄770px,最寬1024px,也就 是說視窗小於770xp就出底部捲軸,如果大於1024px自動螢幕置中。IE不認得min-這個定義,但實際上它把正常的width和height當 作有min的情況來使。這樣,如果只用寬度和高度,正常的瀏覽器裡這兩個值就不會變,如果只用min-width和min-height的話,IE下面根 本等於沒有設定寬度和高度。
CSS這樣設計:
#container{
min-width: 600px;
width:expression(document.body.clientWidth < 600? "600px": "auto" );
}

第一個min-width是正常的;但第2行的width使用了Javascrīpt,這隻有IE才認得,這也會讓你的HTML文檔不太正規。它實際上通過Javascrīpt的判斷來實現最小寬度。

同樣的辦法也可以為IE實現最大寬度:
#container
{
min-width: 600px;
max-width: 1200px;
width:expression(document.body.clientWidth < 600? "600px" : document.body.clientWidth > 1200? ”1200px“ : ”auto";
}

7、FF: 支援 !important, IE 則忽略,
可用 !important (例:height:30px!important; height:26px;)為 FF 特別設定樣式
div 的垂直置中問題: vertical-align:middle; 將行距增加到和整個DIV一樣高 line-height:200px; 然後插入文字,就垂直置中了。缺點是要控制內容不要換行
cursor: pointer 可以同時在 IE FF 中顯示遊標手指狀, hand 僅 IE 可以
FF: 連結加邊框和背景色,需設定 display: block, 同時設定 float: left 保證不換行(背景圖片需要設定 float: left )。參照 menubar, 給 a 和 menubar 設定高度是為了避免底邊顯示錯位, 若不設 height, 可以在 menubar 中插入一個空格
在FF和IE中的盒子模型解釋不一致導致相差2px解決方案:
div{margin:30px!important;margin:28px;}

注意這兩個margin的順序一定不能寫反,!important這個屬性IE不能識別,但別的瀏覽器可以識別。所以在IE下其實解釋成這樣:

div css xhtml xml Example Source Code Example Source Code [www.52css.com]
div{maring:30px;margin:28px}

重複定義的話按照最後一個來執行,所以不可以唯寫margin:XXpx!important;

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.