網頁相容網頁寬度margin padding

2021-06-22 15:34:30 字數 1571 閱讀 8300

hack相容:

-moz-  /* firefox 4 */

-webkit- /* safari 和 chrome */

-o-  /* opera */

ie6識別*和_和+,不識別!important

ie7識別*和+,不識別_,識別!imortant

而firfox兩個都不識別,識別!important

selector

當然,還有專門針對ie7的寫法:+background-color:#00f;

之前對css hack做過乙個簡單的彙總《css hack 彙總》,現在進行一些更新:

「\9「  只在ie6/ie7/ie8/ie9/ie10下生效

「\0」  只在 ie8/ie9/ie10下生效

「\9\0」只在ie9/ie10下生效

故目前如果需要只針對ie8的hack,可先使用在ie8/ie9/ie10生效的「\0」,再用僅在ie9/ie10生效的「\9\0」hack覆蓋之前的樣式。

如selector

框架用990,非框架用1000

1、設了float:left的元素允許它的右邊存在任何元素同行顯示,不論是內聯元素還是塊元素。但它的左邊還是不允許存在任何元素與之同行顯示,哪怕其它的元素的**在前,除非也給前面的元素加上float:left後,才允許同行顯示。

設了display:inline的元素,允許它的前後存在其它的內聯元素同行顯示。關於**在其前面的塊元素之同行顯示,則要讓前面的元素浮動(不管是左還是右浮動)或設為display:inline,還有**在後面的是塊元素(管它有沒有浮動,是左浮動還是右浮動),均不能與之同行,除非設為display:inline。

另外,給塊級元素設上display:inline是解決有名的ie6中雙倍浮動的利器。

2、float 能使塊級元素變成行間元素!

3、.行間元素只有左右外邊距,無上下外邊距,且左右外邊距不會合併!只有普通文件流中塊框的垂直外邊距才會發生外邊距合併。行內框、浮動框或絕對定位之間的外邊距不會合併。

4、ie6對box理解的差異導致設為float的div在ie下margin的值會加倍(塊級元素margin都會加倍,且float方向和margin同方向時),如:

#box

//這種情況之下ie會產生100px的距離

解決方法如下:

#box

//只需給其加display:inline屬性使使浮動忽略,即可解決

5、float元素的寬度之和要小於100%

6. float元素務必指定width屬性

很多瀏覽器在顯示未指定width的float元素時會有bug。所以不管float元素的內容如何,一定要為其指定width屬性。

另外指定元素時盡量使用em而不是px做單位。

7. float元素不能指定margin和padding等屬性

ie在顯示指定了margin和padding的float元素時有bug。因此不要對float元素指定margin和padding屬性(可以在float元素內部巢狀乙個div來設定margin和padding)。也可以使用hack方法為ie指定特別的值。

8、padding:增加padding值整個大小都會加大

相容的網頁寬度margin padding

hack相容 moz firefox 4 webkit safari 和 chrome o opera ie6承認 和 和 不承認 important ie7識別 和 不識別 識別 imortant 而firfox兩個都不識別,識別 important selector 當然。還有專門針對ie7的寫...

網頁寬度自動調整響應式網頁

1.允許網頁寬度自動調整 自適應網頁設計 到底是怎麼做到的?其實並不難。首先,在網頁 的頭部,加入一行viewport元標籤。viewport是網頁預設的寬度和高度,上面這行 的意思是,網頁寬度預設等於螢幕寬度 width device width 原始縮放比例 initial scale 1 為1...

網頁設計中對網頁寬度的研究

眾所周知,標準網頁設計一般不能出現橫向滾動條,這是由網頁美觀,易用性等多方面決定的。而現在主流設計還都是針對800 600解析度設計的。在這可憐的800畫素寬裡,設計師既要考慮到最大限度表現出文字與,還要為了美觀來美化 增加質感和效果。真可謂是每畫素必爭 至少我是這樣 所以經常會有朋友問,到底800...