成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

高手總結CSS書寫技巧

開發 前端
不同的瀏覽器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,對CSS的解析認識不一樣,因此會導致生成的頁面效果不一樣,得不到我們所需要的頁面效果。這里我們就需要注意CSS書寫技巧了。

這個時候我們就需要針對不同的瀏覽器去寫不同的CSS,讓它能夠同時兼容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面效果。這個針對不同的瀏覽器寫不同的CSS code的過程,就叫CSS hack,也叫寫CSS hack。

由于不同的瀏覽器對CSS的支持及解析結果不一樣,還由于CSS中的優先級的關系。我們就可以根據這個來針對不同的瀏覽器來寫不同的CSS。

比如 IE6能識別下劃線"_"和星號" * ",IE7能識別星號" * ",但不能識別下劃線"_",而firefox兩個都不能認識。等等

書寫順序,一般是將識別能力強的瀏覽器的CSS寫在后面。下面列舉常用的CSS hack方法

CSS書寫技巧-1:!important

!important作用是提高指定樣式規則的應用優先權。

IE7以及所有標準瀏覽器能識別!important

區別IE6與IE7與其他瀏覽器

  1. .browserTest
  2. {
  3. border:20pxsolid#60A179!important;
  4. border:20pxsolid#00F;
  5. }

在Mozilla中或者IE7瀏覽時候,能夠理解!important的優先級,因此顯示#60A179的顏色:

在IE6中瀏覽時候,不能夠理解!important的優先級,因此顯示#00F的顏色:

CSS書寫技巧-2:*

IE都能識別*;標準瀏覽器(如火狐)不能識別*

區別IE6與火狐

  1. .browserTest
  2. {
  3. border:20pxsolid#60A179;
  4. *border:20pxsolid#00F;
  5. }

區別IE7與火狐

  1. .browserTest
  2. {
  3. border:20pxsolid#60A179;
  4. *border:20pxsolid#00F;
  5. }

區別IE7,IE6與火狐

  1. .browserTest
  2. {
  3. border:20pxsolid#60A179;
  4. *border:20pxsolid#00F!important;
  5. *border:20pxsolid###;
  6. }

CSS書寫技巧-3:_

IE6支持下劃線,IE7和firefox均不支持下劃線

區別IE7,IE6與火狐

  1. .browserTest
  2. {
  3. border:20pxsolid#60A179;
  4. *border:20pxsolid#00F;
  5. _border:20pxsolid###;
  6. }
  7. /*不管是什么方法,書寫的順序都是firefox的寫在前面,IE7的寫在中間,IE6的寫在***面*/

CSS書寫技巧-4:*+html 與 *html

*+html 與 *html 是IE特有的標簽, firefox 暫不支持.而*+html 又為 IE7特有標簽

  1. .browserTest{width:120px;}/*FireFoxfixed*/
  2. *html.browserTest{width:80px;}/*ie6fixed*/
  3. *+html.browserTest{width:60px;}/*ie7fixed*/

注意:

*+html 對IE7的HACK 必須保證HTML頂部有如下聲明:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/*****************************************************************************/

/*****************************************************************************/

以下是一些常用的CSS兼容技巧

1)火狐下給div設置padding后會導致width和height 增加, 但IE不會.(可用!important解決)

2)垂直居中,將 line-height設置為當前div相同的高度, 再通過vertical-align: middle;( 注意內容不要換行)

3)水平居中,margin:0 auto;(當然不是***)

4)若需給a標簽內內容加上樣式, 需要設置 display: block;(常見于導航標簽)

5)浮動IE產生的雙倍距離

在IE下,當一個div設置了float后,然后給他設置margin,就會出現加倍的margin,解決的辦法是給div設置

  1. display:inline
  2. <divid=”float”></div>
  3. 相應的css為
  4. #float
  5. {
  6. float:left;
  7. margin:5px;/*IE下理解為10px*/
  8. display:inline;/*IE下再理解為5px*/
  9. }

Block元素的特點是:總是在新行上開始,高度,寬度,行高,邊距都可以控制(塊元素);Inline元素的特點是:和其他元素在同一行上,...不可控制(內嵌元素);

6)IE和FF對盒模型的解釋區別

  1. #browserTest{width:650px!important;width:648px;padding-left:2px;background:#fff;}

browserTest顯示的寬度是650px;

IE Box的總寬度是:width+padding+border+margin寬度總和;

FF Box的總寬度就是:width的寬度,padding+border+margin的寬度在含在width內。

如果有BOX{WIDTH:"300"; PADDING:"5PX";}

則BOX在IE的寬度應該為:310

而在FF的寬度則是300

所以在BOX有填充的情況下應該這樣使用

BOX{WIDTH:"300" !IMPORTANT; WIDTH:"290";}

7)ul標簽在FF下面默認有list-style和padding, ***事先聲明, 以避免不必要的麻煩;(常見于導航標簽和內容列表)

8)作為外部wrapper的div不要定死高度, ***還加上 overflow: hidden;以達到高度自適應;

9)頁面的最小寬度

min-width是個非常方便的CSS命令,它可以指定元素最小也不能小于某個寬度,這樣就能保證排版一直正確。但IE不認得這個, 而它實際上把width當做最小寬度來使。為了讓這一命令在IE上也能用,可以把一個<div> 放到 <body> 標簽下,然后為div指定一個類:

然后CSS這樣設計:

  1. #container{min-width:600px;width:expression(document.body.clientWidth<600?"600px":"auto");}

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

CSS書寫技巧-10:***float閉合

將以下代碼加入Global CSS 中,給需要閉合的div加上

  1. <style>
  2. /*ClearFix*/
  3. .clearfix:after
  4. {
  5. content:".";
  6. display:block;
  7. height:0;
  8. clear:both;
  9. visibility:hidden;
  10. }
  11. *html.clearfix{
  12. height:1%;
  13. }
  14. *+html.clearfix{
  15. height:1%;
  16. }
  17. .clearfix
  18. {
  19. display:inline-block;
  20. }
  21. /*HidefromIEMac*/
  22. .clearfix{display:block;}
  23. /*EndhidefromIEMac*/
  24. /*endofclearfix*/
  25. </style>
  26. /**********************************************/
  27. <divid="wrap">
  28. <divclass="column_left">
  29. <h1>Floatleft</h1>
  30. </div>
  31. <divclass="column_right">
  32. <h1>Floatright</h1>
  33. </div>
  34. </div>
  35. #wrap{border:6px#cccsolid;overflow:auto;_height:1%;}
  36. .column_left{float:left;width:20%;padding:10px;}
  37. .column_right{float:right;width:75%;padding:10px;border-left:6px#eeesolid;}

【編輯推薦】

  1. CSS 3中的炫目新功能搶先預覽
  2. CSS 3備受期待的8大功能
  3. CSS網頁布局困擾新手的八個問題
  4. 25個下拉菜單導航腳本下載
  5. HTML 5 正式標準恐將2022年才能正式發布
責任編輯:彭凡 來源: cnblogs
相關推薦

2010-08-27 17:48:38

CSS

2010-09-01 10:27:12

CSS

2017-07-20 11:11:39

前端CSS書寫規范

2010-08-31 11:25:15

2010-09-01 09:59:32

CSS

2021-05-06 07:26:55

CSS 文字動畫技巧

2010-09-01 10:17:38

CSShack注釋

2020-08-26 08:54:17

CSSFont Size屬性

2020-01-03 09:27:10

UI設計師網格

2009-12-18 16:00:48

2010-09-08 12:55:34

CSS

2010-08-30 13:38:10

CSS

2018-11-30 15:44:49

可視化圖表數據

2010-09-06 09:06:22

CSS

2010-09-01 09:39:07

CSS

2010-01-27 17:45:15

Android應用技巧

2020-06-04 10:49:53

Pandas字符串技巧

2013-01-30 13:18:38

Redis監控

2010-09-07 10:20:21

CSS

2009-12-29 14:50:00

ADSL常見硬件問題
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区在线视频 | 日日综合| 国产精品黄色 | 婷婷久久一区 | 黄色国产在线播放 | 中文字幕精品一区二区三区精品 | 亚洲九九| 精品国产伦一区二区三区观看说明 | 国产黄色在线观看 | 国产精品成人一区二区三区 | 三级欧美 | 久久久精彩视频 | 久草免费视 | 国产在线观看一区二区 | 狠狠色综合久久丁香婷婷 | 国产亚洲欧美另类一区二区三区 | 亚洲一区二区精品视频在线观看 | 天天天天天天天干 | 中文字幕一区二区三区精彩视频 | 天天操天天插 | 99精品免费久久久久久久久日本 | 欧美激情精品久久久久久变态 | 久久久久亚洲精品 | 91亚洲精华国产 | 精品美女 | 性高湖久久久久久久久aaaaa | 91精品久久久久久久久久入口 | 欧美日韩一区二区三区四区五区 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 欧美一区免费 | 国产精品成人一区 | 一区二区三区在线观看视频 | 99久久婷婷国产综合精品电影 | 日日操操 | 午夜国产精品视频 | 久久久久亚洲 | 一区二区三区在线 | 国产在线91 | 久久国产一区二区三区 | 亚洲一二三在线 | 日韩在线观看中文字幕 |