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

JavaScript解決常見瀏覽器兼容問題

開發 前端
現代瀏覽器有很好的CSS支持-這無疑足夠好讓你使用CSS來控制布局和版面設計。但是有時候,某些網頁元素在不同的瀏覽器會出現不同,在本文中,我們會揭開你在開發Web應用是可能會遇到的12個最常見的CSS問題的JavaScript解決方案。

我們提倡盡可能使用CSS,而且我們常常能做到這一點。現代瀏覽器有很好的CSS支持-這無疑足夠好讓你使用CSS來控制布局和版面設計。但是有時候,某些網頁元素在不同的瀏覽器會出現不同。

如果你不知道原因,不要過于擔心,您可以通過下面列出的12個JavaScript解決方案修復它,這樣您的網頁看起來就能跨越所有瀏覽器了!(相關文章推薦:JavaScript成瀏覽器戰爭主戰場

1. 自動匹配高度

自動匹配高度

自從我們拋棄了基于Table的頁面布局后,創建同等高度欄目或內容盒子的視覺效果已然是一個挑戰。

◆用jQuery設置匹配高度

這個jQuery插件在同一個容器里“平衡”盒子的高度并創造一個簡介的網格——幾乎從可用性和性能的角度使用簡單的JavaScript替代: equalHeights()函數測定一個容器里的所有同級元素同容器的高度,然后設置每個元素的最低高度為最高的元素的高度。equalHeights()通過循環測定指定元素的最高級別的子節點,然后設置他們的最小高度值為最高的元素的高度。

點擊這里預覽效果

◆用jQuery匹配欄目高度

jQuery的另一個可以使盒子的高度相等的插件:

  1. $(“#col1, #col2″).equalizeCols();
  2.  

將如你所想的那樣匹配高度:

  1. $(“#col1, #col2″).equalizeCols(“p,p”);
  2.  

匹配這兩卷,并在#col1或#col2(短的那個)里的P標簽后面添加空白。

2. IE6 PNG透明支持

IE6以下的版本不支持png透明。使用hack,IE 5.5和6也已經可以支持,但hack并不理想的且難以使用。讓我們來看看我們能做些什么來支持IE6用戶 ,同時為網站的大多數訪客帶來最佳的透明效果。

◆強制IE6支持透明

IE7的是一個Dean Edwards建立的JavaScript庫,以強迫MSIE(IE6,IE5)表現的像一個兼容標準的瀏覽器。它修復許多CSS問題并使透明PNG在IE6和IE5下正常工作,它還允許高級的CSS選擇器。

點擊查看預覽效果

◆改良iFixPng

改良iFixPng

修正IE6及以下的PNG圖片的問題,IMG標簽和CSS背景圖片都可以。這個插件是對原始iFixPng插件的一種改進。特點包括:圖像或有背景圖片的標簽,現在支持background-position,其中包括IE瀏覽器的絕對定位的修正。(bottom: -1px || bottom: 0px)

點擊查看預覽效果

3. 用JavaScript改變class

用JavaScript改變class

這是一個方便的JavaScript函數,可以在當前的文件的任何元素的class由oldClass改為newClass。這是特別有用的快速的利用CSS而不是用編碼改變風格。

  1. function changeClass(oldClass, newClass) {  
  2.       var elements = document.getElementsByTagName(“*”);  
  3.       for( i = 0; i < elements.length; i++ ) {  
  4.             if( elements[i].className == oldClass ) elements[i].className = newClass;  
  5.       }  

點擊查看預覽效果

4. CSS瀏覽器選擇器

CSS瀏覽器選擇器

如果您可以只需鍵入一個特殊選擇器,在這里您可以寫一些JavaScript ,設置一個Class在基于當前的瀏覽器的名字的標簽會怎么樣?

◆CSS Browser

這是一個非常小的JavaScript只有一行,而且不到1kb,它允許CSS選擇器。它讓您可以為每個操作系統和每個瀏覽器寫具體的CSS代碼。你可以寫一些JavaScript ,設置Class的名字,也就是說,內容根據當前的瀏覽器。

◆jQuery瀏覽器選擇器

這里有另外一個基于jQuery的非常簡單的處理瀏覽器選擇器的方法,你需要做的只是加載jQuery庫文件,并添加下面的一塊兒代碼。

  1. $(document).ready(function(){  
  2. $(‘html’).addClass($.browser);  
  3. }); 

現在你可以準備你的樣式,如.msie,.mozilla, .opera, .safari 或其它目標瀏覽器。

點擊查看預覽效果

#p#

5. 最小/最大 高度/寬度支持

針對CSS min-width, min-height, max-width, max-height, border-*-width, margin, 和padding 屬性,這里有一些很好的jQuery修正。

◆jQMinMax

這是一個為沒有原聲的支持min-width, max-width,min-height和max-height的地方添加支持的jQuery插件。

點擊查看預覽效果

◆JSizes

這個小jQuery插件為CSS min-width, min-height, max-width, max-height, border-*-width, margin, 和padding 屬性添加支持。特別是他提供一種方法來確定一個元素在那里可見。由于所有的型號的方法返回數值,所以這些也可以安全的使用在嚴格的DOM元素方面。

  1. jQuery(function($) {  
  2.      var myDiv = $(‘#myDiv’);  
  3.  
  4.      // set margin-top to 100px and margin-bottom to 10em  
  5.      myDiv.margin({top: 100, bottom: ‘10em’});  
  6.  
  7.      // displays the size of the top border in pixels  
  8.      alert(myDiv.border().top);  
  9.  
  10.      // displays true if the element is visible, false otherwise  
  11.      alert(myDiv.isVisible());  
  12.  
  13.      // set padding-right to 10px and margin-left to 15px using chaining  
  14.      myDiv.padding({right: 10}).margin({left: 15});  
  15. }); 

點擊查看預覽效果

6. 元素垂直/水平居中

元素垂直/水平居中

你可能之前遇到過這個問題:水平或垂直居中某個元素。垂直居中在CSS里面相當麻煩,特別是你想支持所有主流瀏覽器。

◆Center element plugin

這個插件可以使頁面中的所有元素居中,垂直和水平居中采用css負margin的方法。

  1. $(“element”).center(); //vertical and horizontal  
  2. $(“element”).center({  
  3. horizontal: false // only vertical  
  4. }); 

點擊查看預覽效果

7. 在IE里使用Q標簽

人們期望使用的Q標簽而不是blockquote標簽來顯示引號。然而IE/Win不支持Q標簽,因為這一點,大部分網站的作者選擇不使用Q標簽。

◆QinIE

當你在你的文件的頭部添加這個腳本在IE瀏覽器里自動掃描的網頁Q的標記,并正確的顯示它們(包括嵌套引用) 。當(如果)IE瀏覽器將來支持Q標簽,這個插件將會添加瀏覽器版本檢查。

#p#

8.增加點擊目標的大小和獲得更多的響應轉換

增加點擊目標的大小和獲得更多的響應轉換

通過把你的所有內容放到一個可點擊的標簽來和單調的“read more…”鏈接說拜拜吧。

9. Lazy loader

Lazy loader 是一個jQuery。它可以延遲加載頁面里面的圖片. 在用戶瀏覽視界(頁面中可見部分)以外的圖片之前,它將不會被加載。這和image preloading的作用正好相反.

點擊查看預覽效果

10. bgiframe

bgiframe

輕松的解決IE下的z-index的問題。

點擊查看預覽效果

11. ieFixButtons

ieFixButtons 是一個修正IE6和7的<button>標簽的bug的jquery插件。

點擊查看預覽效果

12. 溢出(overflow)修正

溢出(overflow)修正

修正ie下的水平溢出。IE在溢出的元素里面顯示一個滾動條,特別是如果元素里面只有一行,滾動條就會遮住這行內容。這個插件通過修改padding來修正這個問題。

點擊查看預覽效果

【編輯推薦】

  1. CSS與JS性能問題初步解決方案
  2. 探秘IE8 JavaScript功能超乎想象
  3. JavaScript 獲取頁面高度(多種瀏覽器)
  4. JavaScript成瀏覽器戰爭主戰場
  5. jQuery專家:擺脫舊瀏覽器才能進入未來Web開發
責任編輯:王曉東 來源: 彬Go的博客
相關推薦

2010-09-15 09:43:24

Javascript瀏覽器兼容

2010-10-09 13:07:51

Javascript兼容

2010-09-16 13:48:15

CSS Hack

2011-04-12 16:51:29

Javascript兼容性

2010-08-30 15:40:31

CSS瀏覽器兼容

2024-12-25 15:59:04

2010-08-11 15:17:51

瀏覽器兼容性問題

2013-01-21 15:33:30

瀏覽器

2016-09-18 20:48:21

蘋果safari瀏覽器

2010-09-15 09:12:03

JavaScript瀏覽器兼容

2009-02-20 15:24:00

IE8火狐瀏覽器

2010-08-18 14:21:48

FirefoxIE7IE6

2010-08-17 14:22:47

JavaScript兼容性

2010-08-17 16:27:52

IE6IE7IE8

2017-01-05 09:07:25

JavaScript瀏覽器驅動

2011-12-01 09:48:14

Win7處理器

2009-04-02 18:06:27

Vmwareesx虛擬化

2022-01-25 08:52:26

微軟Edge瀏覽器

2009-12-23 08:49:21

Windows 7UAC兼容性

2010-10-08 15:00:08

FirefoxJavaScript兼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产综合久久精品 | 99精品一区二区三区 | av入口| 高清免费av | 亚洲精品乱码久久久久v最新版 | 国产精品视频999 | 国产成人精品区一区二区不卡 | 黄色国产| 亚洲国产精品激情在线观看 | 国产999精品久久久久久 | 亚洲一区二区三区国产 | 精产国产伦理一二三区 | 欧美 日韩 在线播放 | 国产精品久久亚洲7777 | 欧美一级毛片免费观看 | 久久天天躁狠狠躁夜夜躁2014 | 日韩视频在线一区二区 | 日韩国产专区 | 日韩高清一区 | 中文字幕第一页在线 | 中文在线www | 国产欧美精品在线观看 | 正在播放国产精品 | 超碰97干 | 黑人巨大精品欧美黑白配亚洲 | 久久久久成人精品亚洲国产 | 蜜桃精品视频在线 | 欧美一级黄 | 免费一级片 | h视频在线看 | 91久久国产综合久久 | 国产高清精品一区二区三区 | 在线观看特色大片免费网站 | 久久蜜桃资源一区二区老牛 | xx视频在线观看 | 欧美日韩国产在线观看 | 黄网站免费在线 | 天堂在线1 | 成人毛片在线观看 | 精品99久久 | 中文字幕日韩在线 |