代碼兼容、技巧

代碼兼容、技巧

前端開發中,一個頭疼的事,就是代碼的不兼容,這里貼出自己在前端開發中的一些解決經驗。除了其瀏覽器本身的BUG外,不建議使用CSS hack來解決兼容性問題的。

IE和FF下對”li“的的高度解析不同

可以不定義高度,直接定義行高。再讓li浮動 消除IE的BUG。

IE3像素問題

出現3培訓BUG 時, 可以采用右邊層margin-right: -3px; 解決。

需要圖片在層中是垂直居中

當需要圖片在層中是垂直居中,可以圖片定義vertical-align: middle;,再在圖片左側加入<span></span>,定義樣式display: inline-block; height: 100%; vertical-align: middle; 就是兼容的了。

子元素浮動,父元素不能自動適應高度

FF IE7下可以在父元素定義overflow: auto; IE6加入 zoom: 1; 這個觸發IE的.layout。或在浮動元素后加入在浮動層后面加入<br clear="all" style="line-height: 0" />。

IE6雙邊距

浮動元素的外邊距會加倍,但與第一個浮動元素相鄰的其他浮動元素外邊距不會加倍。解決方法:在此浮動元素增加樣式 display:inline;

IE下圖片產生的間隙

父元素直接包含<img>,這個圖片下方會和父元素邊緣產生間隙。 解絕方法:1.在源代碼中讓</div> 和<img>在同一行,因為那個間隙是由換行符產生的。2.給<img>添加樣式 display:block;

IE下高度低于14像素時問題

塊元素最小高度為10px,當高度定義小于14px時,仍為12px 左右; 解決方法:為此塊元素添加樣式 overflow:hidden; 或font-size: 0;

IE,FF下列表的li為浮動,則列表后面的元素不能換行的問題

解決方法:為這個ul定義合適的高或給包含這個ul 的父div定義合適的高。或加上<br clear="all" style="line-height: 0" />

IE,FF下子元素的上下外邊界問題

IE6:子元素的上邊距和父元素的上內邊距疊加。FF:子元素的上邊距和父元素的上內邊距相加。解決方法:1、給父元素定義內邊距。2、父元素設置邊框,子元素定義上外邊距。3、父元素定義overflow: hidden;,子元素定義上外邊距。

IE,FF高度自適應問題(最小高度)

在IE6下子元素的高度能夠撐開父元素,但FF,IE7下不可以。解決辦法:父元素定義min-height:高度值; height:auto !important; height:高度值; (要注意先后順序不能錯)

IE,FF高度自適應問題(最大高度,最小寬度,最大寬度)

最大高度,max-height: 180px; _height: expression( this.scrollHeight > 180 ? "180px" : "auto" ); 后面兩條是解決IE6問題。

最小寬度,min-width: 900px; _width:expression((document.documentElement.clientWidth||document.body.clientWidth)<900?"900px":"");

最大寬度,max-width: 300px; _width:expression((document.documentElement.clientWidth||document.body.clientWidth)>300?"300px":"");

子元素負邊距問題

IE6:超出父元素的部分會被父元素覆蓋。FF:分兩種情況當父元素有邊框或內邊距時,超出父元素的部分會覆蓋父元素;沒有時父元素擁有負邊距。解決方法:子元素定義相對定位。

IE6詭異的奇數BUG

當父元素相對定位,子元素絕對定位時,倘若父元素的高或寬的數值是奇數,那么IE6下絕對位置會出錯。解決方法: 數值改成偶數,IE6是大俠,只要服從它。

IE6和IE7下,相對定位元素不能滾動的Bug

這個BUG以前沒遇到過,近期配合自動滾屏時遇到了,開始以為是JS問題,在哪找啊找,后來無果,嘗試看看是不是CSS的問題,果不其然,萬 惡的IE6,7,當設置了position: relative后,其元素就不能滾動了,要想解決其BUG,需要使其包裹他們的父元素也相對定位,這個時候IE7可以完美解決,IE6嘛,里面的定位坐 標可能需要實時修正下。

li元素中有右浮動,同時此元素還是英文數字

此種情況,正常下由于li不清除浮動,也不會有影響,但是對與Opear,哈哈,杯具來了,兩種方法,清除每個li的浮動,再就是定義字體為 宋體。究其原因,清浮動好理解,但是為什么宋體也能解決。不過了這個BUG是Opear的.同時當li浮動后,其內部若有inline-block元素, 其父元素的行高和高對其不會產生效果,這一現象出現在此種情況,正常下由于li不清除浮動,也不會有影響,但是對與Opear

input、button在IE下隨文字增加內補丁也增加

不管你怎么寫margin:0;padding:0;都去不掉,唯一的解決辦法是overflow:visible。

ul浮動引起的li雙倍間距,IE6下

大伙聽到可能會說,這不是IE6的浮動雙間距BUG,其實不然,是的話也就不在這里說了。很困惑,讓其LI也浮動,無果。其他瀏覽器正常,那 該是什么呢,退回到原始狀態,我們已經定義list-style: none; 應該不會有默認的什么產生。查看ul,li的基本屬性,發現有個list-style-position,列表項目標記放置在文本以內是否對齊,兩個值, 默認的outside,不對其。還有inside,對其。那么會不會是他影響。不死心,強制定義下list-style-position: outside;哈哈,一切變的和諧了,既然是默認的,IE6啊,真實整死人不償命啊,此后,我對li的重置里直接加了這條。

IE8下兩個inline標簽的問題

當我們讓兩個inline標簽在一行,且中間沒有空格,這一般是很正常的寫法如label后面跟個span。這個時候倘若只定義行高,那問題來了,其他解析正常。IE8會多出兩個像素。一般解決的話,就是兩個inline標簽換行寫.或者給它定義高度。

來自:http://www.webfeike.net/d2/content/op_code.htm

轉載于:https://www.cnblogs.com/wpbars/p/3401009.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/377627.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/377627.shtml
英文地址,請注明出處:http://en.pswp.cn/news/377627.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Windows Phone 7 自定義事件

在Windows Phone的應用開發里面&#xff0c;對于事件這種東西我們可以隨處可見&#xff0c;系統本來就已經封裝好了各種各樣的事件機制&#xff0c;如按鈕的單擊事件等等的。在實際的開發中&#xff0c;我們需要自己去給相關的類自定義一些事件來滿足業務的要求&#xff0c;特別…

getcwd函數_PHP getcwd()函數與示例

getcwd函數PHP getcwd()函數 (PHP getcwd() function) The full form of getcwd is "Get Current Working Directory", the function getcwd() is used to get the name of the current working directory, it does not accept any parameter and returns the curren…

十四、數據庫的導出和導入的兩種方法

一、以SQL腳本格式導出&#xff08;推薦&#xff09; 導出 右擊需要導出的數據庫&#xff0c;任務—>生成腳本 下一步 選擇要導出的數據庫&#xff0c;下一步 內容根據需求修改&#xff0c;沒啥需求直接下一步 勾選 表 勾選需要導出的數據庫中的表 選擇腳本保存的路…

Apache中 RewriteCond 規則參數介紹

RewriteCond就像我們程序中的if語句一樣&#xff0c;表示如果符合某個或某幾個條件則執行RewriteCond下面緊鄰的RewriteRule語句&#xff0c;這就是RewriteCond最原始、基礎的功能&#xff0c;為了方便理解&#xff0c;下面來看看幾個例子。RewriteEngine onRewriteCond %{HTT…

【C++grammar】文件I/O流的基本用法

目錄1、輸入輸出類介紹1.C/C文件操作對比2.什么是流&#xff1f;3.C I/O流類層次4.帶緩沖的輸入輸出5.gcc編譯器cin.in_avail()2、向文件寫入數據1.寫文件小練習2.如何將信息同時輸出到文件和屏幕&#xff1f;3、從文件讀數據1.檢測文件是否成功打開2.檢測是否已到文件末尾3.讀…

作業2 分支循環結構

書本第39頁 習題2 1.輸入2個整數num1和num2.計算并輸出它們的和&#xff0c;差&#xff0c;積&#xff0c;商&#xff0c;余數。 //輸入2個整數num1和num2.計算并輸出它們的和&#xff0c;差&#xff0c;積&#xff0c;商&#xff0c;余數。//#include<stdio.h> int main…

求一個序列中最大的子序列_最大的斐波那契子序列

求一個序列中最大的子序列Problem statement: 問題陳述&#xff1a; Given an array with positive number the task to find the largest subsequence from array that contain elements which are Fibonacci numbers. 給定一個具有正數的數組&#xff0c;任務是從包含菲波納…

十三、系統優化

系統整體框架圖 程序運行進入紡織面料庫存管理系統主頁面 用戶子系統功能演示&#xff1a; 1&#xff0c;點擊用戶登錄進入用戶登錄頁面&#xff0c;可以注冊和找回密碼 2&#xff0c;注冊新用戶&#xff0c;賬號、密碼、性別、手機號均有限制&#xff0c;用戶注冊需要按指定…

時間工具類[DateUtil]

View Code 1 package com.ly.util;2 3 import java.text.DateFormat;4 import java.text.ParseException;5 import java.text.SimpleDateFormat;6 import java.util.Calendar;7 import java.util.Date;8 9 /**10 * 11 * 功能描述12 * 13 * authorAdministrator14 * Date Jul 19…

JQuery delegate多次綁定的解決辦法

我用delegate來控制分頁&#xff0c;查詢的時候會造成多次綁定 //前一頁、后一頁觸發 1 $("body").delegate("#tableFoot a:not(a.btn)", "click", function () { 2 _options.page $(this).attr("page"); 3 loadTmpl(_option…

leetcode 45. 跳躍游戲 II 思考分析

題目 給定一個非負整數數組&#xff0c;你最初位于數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 你的目標是使用最少的跳躍次數到達數組的最后一個位置。 示例: 輸入: [2,3,1,1,4] 輸出: 2 解釋: 跳到最后一個位置的最小跳躍數是 2。 從下標為 …

C程序實現冒泡排序

Bubble Sort is a simple, stable, and in-place sorting algorithm. 氣泡排序是一種簡單&#xff0c;穩定且就地的排序算法。 A stable sorting algorithm is the one where two keys having equal values appear in the same order in the sorted output array as it is pre…

一、爬蟲基本概念

一、爬蟲根據使用場景分類 爬蟲&#xff1a; 通過編寫程序&#xff0c;模擬瀏覽器上網&#xff0c;讓其去互聯網上抓取數據的過程。 ① 通用爬蟲&#xff1a;抓取系統重要的組成部分&#xff0c;抓取的是一整張頁面的數據 ② 聚焦爬蟲&#xff1a;建立在通用爬蟲的基礎之上&am…

經營你的iOS應用日志(二):異常日志

如果你去4S店修車&#xff0c;給小工說你的車哪天怎么樣怎么樣了&#xff0c;小工有可能會立即搬出一臺電腦&#xff0c;插上行車電腦把日志打出來&#xff0c;然后告訴你你的車發生過什么故障。汽車尚且如此&#xff0c;何況移動互聯網應用呢。 本文第一篇&#xff1a;經營你的…

Discuz 升級X3問題匯總整理

最近一段時間公司的社區垃圾帖數量陡然上漲&#xff0c;以至于社區首頁的推薦版塊滿滿都是垃圾帖的身影&#xff0c;為了進一步解決垃圾帖問題我們整整花了1天時間刪垃圾貼&#xff0c;清除不良用戶&#xff0c;刪的手都酸了&#xff0c;可見垃圾帖的數量之多&#xff01;可恥的…

【C++grammar】格式化輸出與I/O流函數

目錄1、格式化輸出1. setw manipulator(“設置域寬”控制符)2. setprecision manipulator(“設置浮點精度”控制符)3. setfill manipulator(“設置填充字符”控制符)4. Formatting Output in File Operation(在文件操作中格式化輸入/輸出)5.小練習2、用于輸入/輸出流的函數1. g…

python 忽略 異常_如何忽略Python中的異常?

python 忽略 異常什么是例外&#xff1f; (What is an Exception?) An exception is an event, which occurs during the execution of a program that interrupts the normal execution of the application. Generally, any application when encountered with a situation t…

三、實戰---爬取百度指定詞條所對應的結果頁面(一個簡單的頁面采集器)

在第一篇博文中也提及到User-Agent&#xff0c;表示請求載體的身份&#xff0c;也就是說明通過什么瀏覽器進行訪問服務器的&#xff0c;這一點很重要。 ① UA檢測 門戶網站服務器會檢測請求載體的身份。如果檢測到載體的身份表示為某一款瀏覽器的請求&#xff0c;則說明這是一…

Spring MVC攔截器實現分析

SpringMVC的攔截器不同于Spring的攔截器&#xff0c;SpringMVC具有統一的入口DispatcherServlet&#xff0c;所有的請求都通過DispatcherServlet&#xff0c;所以只需要在DispatcherServlet上做文章即可&#xff0c;DispatcherServlet也沒有代理&#xff0c;同時SpringMVC管理的…

碩士畢業后去國外讀法學博士_法學碩士的完整形式是什么?

碩士畢業后去國外讀法學博士法學碩士&#xff1a;豆科大法師(拉丁)/法學碩士 (LLM: Legum Magister (Latin)/ Master of Law) LLM is an abbreviation of Legum Magister. It is in term of Latin which states the masters degree of Law. In the majority, LLM is generally …