隨筆 - 28, 文章 - 0, 評論 - 3, 引用 - 0
          數據加載中……

          制作網頁的一般大小

          高度:沒有一個固定值,因為每個人的瀏覽器的工具欄不同。
          寬度:
          1、在IE6.0下,寬度為顯示器分辨率減21,比如1024的寬度-21就變成1003。但值得注意的是IE6.0(或更低)無論你的網頁多高都會有右側的滾動條框。
          2、在Firefox下,寬度的分率辨減19。比如1024的寬度-19就變成1005
          3、在Opear下,寬度的分率辨減23。比如1024的寬度-23就變成1001
          注:Firefox或Opear在內容少于瀏覽器高度時不顯示右側滾動條。

          所以如果是1024的分辨率,你的網頁不如設成1000安全一點。
          如果是800的分辨率一般都設成770

          posted @ 2010-02-21 09:17 Angle Wang 閱讀(302) | 評論 (0)編輯 收藏

          一個關于美工的面試題(轉)

           軟件應用能力(2)

          1Ps或者其他圖像處理軟件做一個如圖的漸變按鈕

          2Flash做一個簡單的圖形遮罩效果

          3.把網站童車列表頁的結構美感重新設計

          4.用ps或者Fw等圖像處理軟件對一個網頁平面圖做切片(例圖為:)

           網頁設計分析能力

          1. 購物網站的主色調應該是什么樣色?交友網站?體育網站?軟件網站?年輕的互聯網?搜索引擎?

          2. 一個網站最多有幾種色彩

          3. 百度和google,你看哪個覺得更舒服一點?

          4. 列出你所知道的幾種圖像格式,并說出它們之間的不同點和大部分的用途

          5. 一般網站的版式有哪幾種?

          6. 如果背景是黑色,那么字體用什么顏色能突出字體,且不顯得刺眼?

          7. 在紅色中加入少量的黑色,你覺得應該是種什么感覺?

           網頁制作能力

          1. tablediv分別設計一個三行三列的網頁(頭部,身體,底部;身體部分為三列)

          2. 列出你所用過的Html元素

          3. li做一個橫向的導航菜單,不少于三個菜單

          4.背景的哪個屬性來確定背景圖像是否固定?

           高級應用能力(選做)

          1. js代碼寫出一個頁面加載后能不斷變換背景的效果

          2. 利用DOM知識是列出一個ulli的總數,li中的內容

          3. 寫出你會用的兼容個中不同瀏覽器的hack css代碼,如IE7 FF

          4. 說出你所知道的web標準方面的知識

          5. 高級圖像處理(可網上查詢教程):模仿例圖

          6. Form表單的哪個屬性是表單數據的傳送方式?

          7. /images/123.jpg images/123.jpg,那種寫法是相對根目錄的?

          posted @ 2010-02-20 13:34 Angle Wang 閱讀(2808) | 評論 (0)編輯 收藏

          CSS網頁布局中易犯的10個小錯誤

          即使是CSS高手,也難免在書寫CSS代碼的時候出一些小錯誤,或者說,任何一種代碼都是如此。小錯誤卻往往造成大問題,浪費很多無辜的時間來調試和排錯。查看下面這份CSS網頁布局中易犯的10個小錯誤,努力的修正你可能會犯的錯誤,加速你的前端開發效率。

          1. 檢查html元素是否有拼寫錯誤、是否忘記結束標記

          即使是老手也經常會弄錯div的嵌套關系。可以用dreamweaver的驗證功能檢查一下有無錯誤。

          2. 檢查CSS是否書寫正確

          檢查一下有無拼寫錯誤、是否忘記結尾的 } 等。可以利用CleanCSS來檢查 CSS的拼寫錯誤。CleanCSS本是為CSS減肥的工具,但也能檢查出拼寫錯誤。

          3. 用刪除法確定錯誤發生的位置

          如果錯誤影響了整體布局,則可以逐個刪除div塊,直到刪除某個div塊后顯示恢復正常,即可確定錯誤發生的位置。

          4. 利用border屬性確定出錯元素的布局特性

          使用float屬性布局一不小心就會出錯。這時為元素添加border屬性確定元素邊界,錯誤原因即水落石出。

          5. float元素的父元素不能指定clear屬性

          MacIE下如果對float的元素的父元素使用clear屬性,周圍的float元素布局就會混亂。這是MacIE的著名的bug,倘若不知道就會走彎路。

          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. float元素的寬度之和要小于100%

          如果float元素的寬度之和正好是100%,某些古老的瀏覽器將不能正常顯示。因此請保證寬度之和小于99%。

          9. 是否重設了默認的樣式?

          某些屬性如margin、padding等,不同瀏覽器會有不同的解釋。因此最好在開發前首先將全體的margin、padding設置為0、列表樣式設置為none等。

          10. 是否忘記了寫DTD?

          如果無論怎樣調整不同瀏覽器顯示結果還是不一樣,那么可以檢查一下頁面開頭是不是忘了寫下DTD聲明。

          : 本文來源于網絡,出處不明。

          posted @ 2010-01-30 11:31 Angle Wang 閱讀(163) | 評論 (0)編輯 收藏

          默認WEB字體樣式(轉)

          通常用戶看到的頁面的樣式會受到三層控制,第一層是瀏覽器的默認樣式,第二層是網頁定義樣式,第三層是用戶自定義樣式。和CSS一樣,后面的優先級高于前面的,也就是說網頁定義樣式可以覆蓋瀏覽器的默認樣式,而用戶自定義樣式優先級最高。實際情況是雖然瀏覽器都或多或少提供了用戶自定義樣式的功能,但是極少數會有用戶去自定義,一般用也是高級用戶。而瀏覽器默認的樣式往往在不同的瀏覽器、不同的語言版本甚至不同的系統版本都有不同的設置,這就導致如果直接利用默認樣式的頁面在各個瀏覽器下顯示非常不一致,于是就有了類似YUI的reset之類用來盡量重寫瀏覽器的默認設置保證各個瀏覽器樣式一致性的做法。

          拿字體來說,各個瀏覽器默認的字體種類、字體大小和字體行高都不一樣,比如IE8的中文版在Windows XP下顯示網頁時默認字體是宋體,而英文版肯定不會如此。所以我們需要統一設置默認的字體樣式,以便實現一致的顯示效果來保證設計的一致性和提高開發效率。

          以后準備使用如下默認字體樣式:

          body{
          font: 12px/1.5 arial;
          }

          字體:arial

          我們頁面的絕大部分內容字符都是中文,毫無疑問目前為止在網頁上最常用也是最通用的顯示中文的字體是宋體,但是宋體在顯示英文、數字和英文符號時過于糟糕,比如©字符,所以我們一般期望通過CSS來實現用更好的字體樣式來顯示它們,然后用宋體來顯示中文和中文符號。之所以選擇arial是因為:

          1. Windows和Mac都預裝了這款字體,應該是使用最廣泛的網頁字體了。它的潛在對手tahomahelvetica就沒有這么幸運了。
          2. 視覺設計的專業人士可能會認為在Windows中使用tahoma、在Mac中使用helvetica更好,比如淘寶的默認字體樣式font: 12px/1 Tahoma, Helvetica, Arial, "\5b8b\4f53", sans-serif;
            這是一個很不錯的選擇,但是你也會發現Google、YAHOO、Youtube、Bing甚至MSN的新版都使用arial作為第一默認字體。所以從美觀和可讀性上來講arial應該是完全可以接受的。
          3. 一般情況下設置font-family都會在最后設置通用字體族以保證其安全性,比如Google的設置為font-family:arial,sans-serif;,但是至少在非中文版的Win7下當編碼是GBK時,IE8會因sans-serif來渲染宋體,導致字體出現變形,這就是為什么淘寶需要在sans-serif前加上宋體而Google無需這樣做的原因。
          4. 因為中文字體的選擇非常有限,所以目前所有的主流瀏覽器都設置使用宋體來顯示中文。Baidu的首頁和搜索結果頁使用font-family:arial;可以從側面說明這樣做的安全性。可能有人注意到Firefox中國版默認顯示的中文字體是微軟雅黑,這是因為謀智網絡擅自修改了用戶自定義樣式,不允許網頁的樣式覆蓋瀏覽器設置的樣式。也是由于類似的情況,我們要彈性設計網頁非常重要。

          使用英文字體作為第一默認字體會導致的問題之一就是中英文以及符號混排時的對齊問題、通過設置行高和hasLayout能解決絕大部分情況,但是都不會很完美,如果把字體改成“宋體”能徹底的解決問題。很明顯,這個問題只出現在IE上。所以,如果你的網站很少使用英文、數字和英文符號,那么直接設置{font-family:\5b8b\4f53;}也是很合理的選擇。

          大小:12px

          1. 12px是宋體能顯示的極限,雖然微軟雅黑能顯示更小的字體,但目前的應用環境尚未成熟。由于宋體基本上是目前顯示中文唯一的通用Web字體,所以12px成為最常用的字體大小。我們當然可以依據產品的需要來修改這個默認值。
          2. 不用考慮基于字體大小(em)的設計
          3. 在Chrome3.0之后的中文版中,字體大小最小值是12px,比如你設置最小字體為10px,最后也變成12px。

          行高:1.5倍

          1. 這是一個經驗值,不同的產品對這個值要求可能不同,但我們一般會設置最常用的為默認值。比如YUI的font中是font:13px/1.231 arial,helvetica,clean,sans-serif;即字體大小默認值是13px,行高是13*1.231=16.003px,默認的行高是默認字體的1.231倍。對于中文來說,常用的字體大小12px、14px、16px、18px等偶數大小,在IE6和IE7設置其行高也為偶數能解決一些特殊情況下的字體對其問題。
          2. 在IE6和IE7中,行高值必須大于字體的2px才能保證字體的完整顯示或當其作為鏈接時能有效顯示下劃線。
          3. 設置line-height時,注意不要使用單位(包括%在內),因為子節點會繼承經過運算后的line-height值,所以當使用單位后瀏覽器會把line-height計算成第一次定義的絕對值,而不會隨著字體大小的變化而變化,而無單位的數值表示是所在容器的font-size的倍數,所以設置為無單位的數值是最佳選擇。
          4. 深入CSS 行高非常有利于理解line-height,值得一讀。

          性能和效率

          1. 大部分平臺都有arial,減少瀏覽器的查找時間。
          2. 代碼最少,書寫方便。arial基本上是名字最短的字體了,可以節約CSS的大小。
          3. 所有的字母都小寫,目前Google就是這樣做的,好處是既可以編寫更快也能提升Gzip壓縮的效率
          4. 中文最好用unicode表示,比如使用宋體是{font-family:\5b8b\4f53;},使用微軟雅黑是{font-family:\5fae\8f6f\96c5\9ed1;},這樣的好處是避免編碼問題,同時能得到所有的主流瀏覽器的支持。
          5. 使用正確的字體種類寫法,避免使用引號,這樣可以縮小CSS的大小。中文字體可以按上一條方式來編寫。

          未來

          1. 通過對中英文及符號混排的測試,我發現微軟雅黑其實表現相當不錯,包括英文數字和英文字符以及在IE6和IE7的顯示效果上,但唯一的遺憾是在XP下如果安裝了微軟雅黑字體的用戶沒有打開“使用屏幕字體的邊緣平滑”選項的話,在Firefox、Safari和Opera、特別是IE6下會非常模糊難以辨認。針對這個問題目前并沒有很好的解決方案,所以只有等到IE6使用比率非常小的時候才可能正式的使用它。或許需要到2014年,XP死掉的時候。
          2. 雖然很早就有了@font-face,但是瀏覽器的支持、網速和商業問題,導致它很少被應用。最近關于字體的好消息是Firefox3.6將支持Web Open Font Forma。關于Web字體未來的相關信息可以看Web 字體的未來關于 Web 字體:現狀與未來再談 Web 字體的現狀與未來

          最后推薦一下玉伯的《再談 Web 默認字體》

          posted @ 2010-01-30 11:25 Angle Wang 閱讀(245) | 評論 (0)編輯 收藏

          DIV+CSS結合js控制頁面滾動的效果(轉)

          DIV+CSS結合js控制頁面滾動的效果,非常實用,兼容ie,ff。
              

          <head>
          <style type="text/css">
            #container{
            text-align: left;
            background-color: #faf7ec;
            width: 500px;
            margin: 20px auto 0 auto;
            padding: 0;
            font-family:Arial, Helvetica, sans-serif;
            font-size:12px;
           }
          #block0, #block1, #block2, #block3, #block4, #block5
          {
            border-top: solid 1px #785a3c;
            margin: 0;
            padding: 10px;
          }
          .active {  background-color: #fff;}
          .visited {  background-color: #ede7da;}
          #block0, #block0.active, #block0.visited
          {
            text-align: center;
            background-color: #a0dcf8;
            border-top: none;
            border-bottom: solid 4px #785a3c;
          }
          </style>

          <script>
          var ScrollWin = {
            w3c : document.getElementById,
            iex : document.all,
            scrollLoop : false,
            scrollInterval : null, // setInterval id
            currentBlock : null,   // object reference
            getWindowHeight : function(){
              if(this.iex) return (document.documentElement.clientHeight) ?
          document.documentElement.clientHeight : document.body.clientHeight;
              else return window.innerHeight;
            },
            getScrollLeft : function(){
              if(this.iex) return (document.documentElement.scrollLeft) ?
          document.documentElement.scrollLeft : document.body.scrollLeft;
              else return window.pageXOffset;
            },
            getScrollTop : function(){
              if(this.iex) return (document.documentElement.scrollTop) ?
          document.documentElement.scrollTop : document.body.scrollTop;
              else return window.pageYOffset;
            },
            getElementYpos : function(el){
              var y = 0;
              while(el.offsetParent){
                y += el.offsetTop
                el = el.offsetParent;
              }
              return y;
            },
            scroll : function(num){
              if(!this.w3c){
                location.href = "#"+this.anchorName+num;
                return;
              }
              if(this.scrollLoop){
                clearInterval(this.scrollInterval);
                this.scrollLoop = false;
                this.scrollInterval = null;
              }
              if(this.currentBlock != null) this.currentBlock.className = this.offClassName;
              this.currentBlock = document.getElementById(this.blockName+num);
              this.currentBlock.className = this.onClassName;
              var doc = document.getElementById(this.containerName);
              var documentHeight = this.getElementYpos(doc) + doc.offsetHeight;
              var windowHeight = this.getWindowHeight();
              var ypos = this.getElementYpos(this.currentBlock);
              if(ypos > documentHeight - windowHeight) ypos = documentHeight - windowHeight;
              this.scrollTo(0,ypos);
            },
            scrollTo : function(x,y){
              if(this.scrollLoop){
                var left = this.getScrollLeft();
                var top = this.getScrollTop();
                if(Math.abs(left-x) <= 1 && Math.abs(top-y) <= 1){
                  window.scrollTo(x,y);
                  clearInterval(this.scrollInterval);
                  this.scrollLoop = false;
                  this.scrollInterval = null;
                }else{
                  window.scrollTo(left+(x-left)/10, top+(y-top)/10);  
                }
              }else{
                this.scrollInterval = setInterval("ScrollWin.scrollTo("+x+","+y+")",20);   
                this.scrollLoop = true;
              }
            }
          };
          ScrollWin.containerName = "container";
          ScrollWin.anchorName    = "anchor";  
          ScrollWin.blockName     = "block";    
          ScrollWin.onClassName   = "active";   
          ScrollWin.offClassName  = "visited";  
          </script>
          </head>


          <body>
          <div align="center">
          <div id="container">
            <a name="anchor0"></a>
            <div id="block0">
              <a href="javascript:ScrollWin.scroll('1')">鏈接 1</a> |
              <a href="javascript:ScrollWin.scroll('2')">鏈接 2</a> |
              <a href="javascript:ScrollWin.scroll('3')">鏈接 3</a> |
              <a href="javascript:ScrollWin.scroll('4')">鏈接 4</a> |
              <a href="javascript:ScrollWin.scroll('5')">鏈接 5</a>
            </div>
            <a name="anchor1"></a>
            <div id="block1">
              <h3><a href="#" onclick="javascript:ScrollWin.scroll('0'); return false;">頂部</a>
            鏈接 1</h3>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
            </div>
            <a name="anchor2"></a>
            <div id="block2">
              <h3><a href="#" onclick="javascript:ScrollWin.scroll('0'); return false;">頂部</a>
            鏈接 2</h3>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
            </div>
            <a name="anchor3"></a>
            <div id="block3">
              <h3><a href="#" onclick="javascript:ScrollWin.scroll('0'); return false;">頂部</a>
            鏈接 3</h3>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
            </div>
            <a name="anchor4"></a>
            <div id="block4">
              <h3><a href="#" onclick="javascript:ScrollWin.scroll('0'); return false;">頂部</a>
            鏈接 4</h3>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
            </div>
            <a name="anchor5"></a>
            <div id="block5">
              <h3><a href="#" onclick="javascript:ScrollWin.scroll('0'); return false;">頂部</a>
            鏈接 5</h3>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
              <p>內容</p>
            </div>
          </div>
          </div>
          </body>

          posted @ 2010-01-22 17:25 Angle Wang 閱讀(1642) | 評論 (2)編輯 收藏

          div+css命名規則參考

          頁頭:header                    登錄條:loginBar
          標志:logo                        側欄:sideBar
          廣告:banner                    導航:nav
          子導航:subNav                菜單:menu
          子菜單:subMenu               搜索:search
          滾動:scroll
          頁面主體:main
          內容:content
          標簽頁:tab
          文章列表:list
          提示信息:msg
          小技巧:tips
          欄目標題:title
          加入:joinus
          指南:guild
          服務:service
          熱點:hot
          新聞:news
          下載:download
          注冊:regsiter
          狀態:status
          按鈕:btn
          投票:vote
          合作伙伴:partner
          友情鏈接:friendLink
          頁腳:footer
          版權:copyRight

          1.CSS ID 的命名
          外 套:  wrap
          主導航:  mainNav
          子導航:  subnav
          頁 腳:  footer
          整個頁面: content
          頁 眉:  header
          頁 腳:  footer
          商 標:  label
          標 題:  title
          主導航:  mainNav(globalNav)
          頂導航:  topnav
          邊導航:  sidebar
          左導航:  leftsideBar
          右導航:  rightsideBar
          旗 志:  logo
          標 語:  banner
          菜單內容1: menu1Content
          菜單容量: menuContainer
          子菜單:  submenu
          邊導航圖標:sidebarIcon
          注釋:   note
          面包屑:  breadCrumb(即頁面所處位置導航提示)
          容器:   container
          內容:   content
          搜索:   search
          登陸:   login
          功能區:  shop(如購物車,收銀臺)
          當前的   current

          2.另外在編輯樣式表時可用的注釋可這樣寫:
          <– Footer –>
          內容區
          <– End Footer –>

          3.樣式文件命名
          主要的 master.css
          布局,版面 layout.css
          專欄 columns.css
          文字 font.css
          打印樣式 print.css
          主題 themes.css

          posted @ 2010-01-21 12:47 Angle Wang 閱讀(150) | 評論 (0)編輯 收藏

          淺談window.attachEvent [轉]

          以前寫 JavaScript 腳本時,事件都是采用
          object.event = handler;
          的方式初始化。這種方式對于 Internet Explorer、Mozilla/Firefox 和 Opera 來說很通用。但是有一個問題就是,這種方式只能一個事件對應一個事件處理過程。如果希望一個事件可以依次執行多個處理過程就不好用了。

          但是 Internet Explorer 從 5.0 開始提供了一個 attachEvent 方法,使用這個方法,就可以給一個事件指派多個處理過程了。attachEvent 對于目前的 Opera 也適用。但是問題是 Mozilla/Firefox 并不支持這個方法。但是它支持另一個 addEventListener 方法,這個方法跟 attachEvent 差不多,也是用來給一個事件指派多個處理過程的。但是它們指派的事件有些區別,在 attachEvent 方法中,事件是以 “on” 開頭的,而在 addEventListener 中,事件沒有開頭的 “on”,另外 addEventListener 還有第三個參數,一般這個參數指定為 false 就可以了。

          因此要想在你的程序中給一個事件指派多個處理過程的話,只要首先判斷一下瀏覽器,然后根據不同的瀏覽器,選擇使用 attachEvent 還是 addEventListener 就可以了。實例如下:

           

                      if (window.attachEvent) { 
                          window.attachEvent("onload", remove); 
                      } else if (window.addEventListener) { 
                          window.addEventListener("load", remove, false);   
                      }             
                      function remove() { 
                          var div = document.getElementById("divprogressbar"); 
                          document.body.removeChild(div); 
                      } 

          =============或者也可以用

          if (document.all){window.attachEvent('onload',remove)}//IE
          else{window.addEventListener('load',remove,false);} //FireFox

          注意:attachEvent 所指派的多個過程的執行順序是隨機的,所以這幾個過程之間不要有順序依賴。另外 attachEvent 和 addEventListener 不僅僅適用于 window 對象,其他的一些對象也支持該方法。

          posted @ 2010-01-21 12:42 Angle Wang 閱讀(1159) | 評論 (0)編輯 收藏

          CSS中不同瀏覽器的兼容性問題

           

          隨著最新CSS的不斷完善,越來越多的網站采用DIV+CSS布局。而原來使用table套table的網頁布局模式也逐漸應該淘汰了。由于目前IE6不能支持有些標準的CSS,需要用微軟特有的CSS來修復這些BUG.而且現在隨著瀏覽器層出不窮,要是頁面能夠適應盡量多的瀏覽器成為一個課題。 但是隨著CSS標準的進一步完善,瀏覽器將最終都會遵循這個標準,到時候寫DIV+CSS布局的頁面就不那么麻煩了。

          但是現在,我們還是需要處理CSS在不同瀏覽器下的兼容性。一下是一個網友寫的CSS兼容技巧,值得大家參考。

          CSS兼容技巧

            1, FF下給 div 設置 padding 后會導致 width 和 height 增加, 但IE不會.

                       可用!important解決

            2, 居中問題.

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

               2).水平居中. margin: 0 auto;(當然不是萬能)

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

            4, FF 和 IE 對 BOX 理解的差異導致相差 2px 的還有設為 float的div在ie下 margin加倍等問題.

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

            6, 作為外部 wrapper 的 div 不要定死高度, 最好還加上 overflow: hidden.以達到高度自適應.

            7, 關于手形光標. cursor: pointer. 而hand 只適用于 IE.

          針對firefox ie6 ie7的css樣式

            現在大部分都是用!important來hack,對于ie6和firefox測試可以正常顯示,

            但是ie7對!important可以正確解釋,會導致頁面沒按要求顯示!找到一個針

            對IE7不錯的hack方式就是使用“*+html”,現在用IE7瀏覽一下,應該沒有問題了。

            現在寫一個CSS可以這樣:

            #1 { color: #333; } /* Moz */

            * html #1 { color: #666; } /* IE6 */

            *+html #1 { color: #999; } /* IE7 */

            那么在firefox下字體顏色顯示為#333,IE6下字體顏色顯示為#666,IE7下字體顏色顯示為#999。

          css布局中的居中問題

            主要的樣式定義如下:

            body {TEXT-ALIGN: center;}

            #center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }

            說明:

            首先在父級元素定義TEXT-ALIGN: center;這個的意思就是在父級元素內的內容居中;對于IE這樣設定就已經可以了。

            但在mozilla中不能居中。解決辦法就是在子元素定義時候設定時再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ”

            需要說明的是,如果你想用這個方法使整個頁面要居中,建議不要套在一個DIV里,你可以依次拆出多個div,

            只要在每個拆出的div里定義MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就可以了。

          盒模型不同解釋

            #box{ width:600px; //for ie6.0- w/idth:500px; //for ff+ie6.0}

            #box{ width:600px!important //for ff width:600px; //for ff+ie6.0 width /**/:500px; //for ie6.0-}

          浮動ie產生的雙倍距離

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

            這里細說一下block,inline兩個元素,Block元素的特點是:總是在新行上開始,高度,寬度,行高,邊距都可以控制(塊元素);Inline元素的特點是:和其他元素在同一行上,…不可控制(內嵌元素);

            #box{ display:block; //可以為內嵌元素模擬為塊元素 display:inline; //實現同一行排列的的效果 diplay:table;

            IE不認得min-這個定義,但實際上它把正常的width和height當作有min的情況來使。這樣問題就大了,如果只用寬度和高度,

            正常的瀏覽器里這兩個值就不會變,如果只用min-width和min-height的話,IE下面根本等于沒有設置寬度和高度。

            比如要設置背景圖片,這個寬度是比較重要的。要解決這個問題,可以這樣:

            #box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}

          頁面的最小寬度

            min-width是個非常方便的CSS命令,它可以指定元素最小也不能小于某個寬度,這樣就能保證排版一直正確。但IE不認得這個,

            而它實際上把width當做最小寬度來使。為了讓這一命令在IE上也能用,可以把一個

          放到 標簽下,然后為div指定一個類:

            然后CSS這樣設計:

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

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

          清除浮動

            .hackbox{ display:table; //將對象作為塊元素級的表格顯示}或者.hackbox{ clear:both;}

            或者加入:after(偽對象),設置在對象后發生的內容,通常和content配合使用,IE不支持此偽對象,非Ie 瀏覽器支持,

            所 以并不影響到IE/WIN瀏覽器。這種的最麻煩的……#box:after{ content: “.”; display: block; height: 0; clear: both; visibility: hidden;}

          DIV浮動IE文本產生3象素的bug

            左邊對象浮動,右邊采用外補丁的左邊距來定位,右邊對象內的文本會離左邊有3px的間距.

            #box{ float:left; width:800px;}#left{ float:left; width:50%;}#right{ width:50%;}*html #left{ margin-right:-3px; //這句是關鍵}

            HTML代碼

          屬性選擇器(這個不能算是兼容,是隱藏css的一個bug)

            p[id]{}div[id]{}

            這個對于IE6.0和IE6.0以下的版本都隱藏,FF和OPera作用

            屬性選擇器和子選擇器還是有區別的,子選擇器的范圍從形式來說縮小了,屬性選擇器的范圍比較大,如p[id]中,所有p標簽中有id的都是同樣式的.

          IE捉迷藏的問題

            當div應用復雜的時候每個欄中又有一些鏈接,DIV等這個時候容易發生捉迷藏的問題。

            有些內容顯示不出來,當鼠標選擇這個區域是發現內容確實在頁面。

            解決辦法:對#layout使用line-height屬性 或者給#layout使用固定高和寬。頁面結構盡量簡單。

          高度不適應

            高度不適應是當內層對象的高度發生變化時外層高度不能自動進行調節,特別是當內層對象使用

            margin 或paddign 時。

            例:

                  p對象中的內容

            CSS:#box {background-color:#eee; }

            #box p {margin-top: 20px;margin-bottom: 20px; text-align:center; }

            解決方法:在P對象上下各加2個空的div對象CSS代碼:.1{height:0px;overflow:hidden;}或者為DIV加上border屬性

          posted @ 2010-01-09 15:24 Angle Wang 閱讀(796) | 評論 (0)編輯 收藏

          僅列出標題
          共3頁: 上一頁 1 2 3 
          主站蜘蛛池模板: 宜黄县| 云龙县| 邹城市| 宜阳县| 龙里县| 江城| 西贡区| 海南省| 武城县| 南安市| 林芝县| 鄱阳县| 出国| 武胜县| 平乡县| 长沙市| 海原县| 时尚| 开鲁县| 彰化县| 竹溪县| 吉林市| 南乐县| 葵青区| 格尔木市| 赤峰市| 清徐县| 化隆| 黔西县| 梓潼县| 攀枝花市| 尼木县| 南安市| 融水| 万州区| 美姑县| 井冈山市| 喀喇| 巴东县| 吉木萨尔县| 克拉玛依市|