1. 程式人生 > >CSS中的相容性問題

CSS中的相容性問題

1.瀏覽器不支援該特性

解決方法

不同瀏覽器使用不同的樣式
[email protected]
查詢瀏覽器是否支援該屬性,相容性不是很好,一般不適用
2.瀏覽器hack原理-層疊

  • 同一個屬性,後面書寫的值覆蓋前面書寫的值
  • 對瀏覽器無效的屬性值會被忽略

3.條件註釋
IE6到IE9適用,針對某一種瀏覽器寫特殊的CSS
4.瀏覽器怪癖

  • IE6不支援兩個類選擇器直接組合,兩個類選擇器組合時,IE6只會識別後一個。
  • IE6中可以忽略屬性名前面加下劃線
  • IE6和IE7忽略屬性名前的*
  • IE6-8不支援:root選擇器
  • IE8支援屬性值後面加”\9”

CSS3選擇器相容性問題

  • CSS3中的大部分選擇器相容性是IE9+
  • 例如::target,:empty,:nth-child,:nth-of-type,:checked,:disabled無法在IE6-8使用
  • 移動端支援絕大多數CSS3選擇器
  • IE8不支援的屬性:
    background-size(IE8及以下使用固定寬度佈局)
    border-radius
    box-shadow
    opcity(可以使用filter:alpha(opacity=50))
    rgba、hsl、hsla
    rem、vh、vw、calc(降級為固定寬度)
  • IE9不支援的屬性:
    transition和animation

2.某些特定條件下觸發瀏覽器bug

  • IE6下半透明png顯示不正確(使用filter或者使用DD_belatedPNG.js
    這裡寫圖片描述

  • IE6浮動雙邊距
    浮動元素與浮動同方向的邊距加倍(使用display:inline)
    這裡寫圖片描述

  • hasLayout:true
    如果haslayout沒有被設定成true,那麼元素得依靠某個祖先元素來渲染它
    zoom:1激發元素的hasLayout屬性來使元素擁有佈局
  • IE模式
    瀏覽器模式:切換渲染引擎、javascript引擎和HTTP請求的UserAgent
    文字模式:切換文件模式,即渲染引擎和javascript引擎

相關推薦

CSSIE和火狐對margin、padding的相容性解析

CSS對瀏覽器器的相容性具有很高的價值,通常情況下IE和Firefox存在很大的解析差異,這裡介紹一下相容要點。 常見相容問題:1.DOCTYPE 影響 CSS 處理2.FF: div 設定 margin-left, margin-right 為 auto 時已經居中, IE 不行3.FF: body 設定

CSS相容性問題

1.瀏覽器不支援該特性 解決方法 不同瀏覽器使用不同的樣式 [email protected] 查詢瀏覽器是否支援該屬性,相容性不是很好,一般不適用 2.瀏覽器hack原理-層疊

css線性漸變相容性處理

研究了一下css3中線性漸變的相容性問題處理,本來是想要自己總結的,但是發現張鑫旭大神關於這個問題寫的很清楚了,所以就直接轉載了,寫得很好,很清晰IE瀏覽器下的漸變背景IE瀏覽器下漸變背景的使用需要使用IE的漸變濾鏡。如下程式碼:filter: progid:DXImageT

css那些屬性可以被繼承

mil 屬性 ria ext direct tran ade weight -s 主要的有: 字體相關:line-height, font-family, font-size, font-style, font-variant, font-weight, font 文本相關

Css 的 block,inline和inline-block概念和區別

同一行 豎直 獨立 一個 fcc ng- 布局 text display 1.block和inline這兩個概念是簡略的說法,完整確切的說應該是 block-level elements (塊級元素) 和 inline elements (內聯元素)。block元素通常

關於css父元素與子元素之間margin-top的問題

可用 技術分享 一個 src 文檔流 重疊 cond one left 之前在使用經常遇到下面的問題: html: 1 <div class="top"> 2 <div class="one">I‘m the first!</div&

CSSposition屬性( absolute | relative | static | fixed )詳解

ack 關系 tail 而且 tools css bar 簡單 tag 我們先來看看CSS3 Api中對position屬性的相關定義: static:無特殊定位,對象遵循正常文檔流。top,right,bottom,left等屬性不會被應用。 relative:對象遵

CSSposition定位

fix rip ble 偏移 正常 abs css class z-index 定義和用法 position 屬性規定元素的定位類型。 說明 這個屬性定義建立元素布局所用的定位機制。任何元素都可以定位,不過絕對或固定元素會生成一個塊級框,而不論該元素本身是什麽類型。相對定位

CSS的相關概念

height strong 位置 段落 data 替換 weight 概念 microsoft CSS的幾個概念: 包括塊:一個元素的“布局上下文”。對於正常的HTML文本流中的一個元素,包括塊由近期的塊級祖先框、表單元格或行內塊祖先框的內容邊界(content ed

CSS first-child和last-child不起作用原因

clas 第一個 元素 col 沒有 XML last 發的 n) 今天開發的時候,發現last-child不起作用,看了下原因順便給自己學習CSS選擇器,我們這裏舉個例子,如下代碼:<div><h1>title</h1> <p&g

CSS的幾種定位簡介

left 出現 規則 保留 絕對定位 影響 nbsp view 布局 相對於元素在正常情況下出現在頁面文檔流的位置,CSS提供了幾種方法來定位。 靜態定位(static)表示按照正常定位方案,元素盒按照在文檔流中出現的順序依次格式化; 相對定位(relative)將移動元素

css的px、em、rem 詳解

博客 選擇 原因 www order size arc 字體 處理 概念介紹: 1、px (pixel,像素):是一個虛擬長度單位,是計算機系統的數字化圖像長度單位,如果px要換算成物理長度,需要指定精度DPI(Dots Per Inch,每英寸像素數),在掃描打印時一般

cssmargin-top或者margin-bottom失效

text margin for lin over oat display ati tab css中margin-top是設置容器的外間距了距離了,div嵌套後,margin-top或者margin-bottom失效了,在網上打到下面的方法可以解決。 設計頁面的時候

關於CSS的overflow屬性

屬性 pan 用戶 normal style visible 默認值 也會 可見 定義和用法: overflow屬性規定當內容溢出元素框時發生的事情。 這個屬性定義溢出元素內容區的內容會如何處理。如果值為scoll,不論是否需要,用戶代理都會提供一種滾動機制。因此,有可能即

cssem和rem的區別

子元素 字體大小 響應式布局 布局 height root html中 頁面 長度單位 在css中單位長度用的最多的是px、em、rem,這三個的區別是:1.px是固定的像素,一旦設置了就無法因為適應頁面大小而改變。2.em和rem相對於px更具有靈活性,他們是相對長度單位

cssposition的使用

otto 順序 完全 ati spa 進行 需要 相對定位 頁面 [相對定位 relative]1、使用position: relative; 設置元素為相對定位的元素; 2、定位機制: ① 相對於自己原來文檔流中的位置定位,當不指定top等定位值時,不會改變元素

使用 jQuery 修改 css 帶有 !important 的樣式屬性

wid tex jscript 使用 全部 保留 logs php color 外部樣式為: div.test { width:auto !important; overflow:auto !important }    通過 $("div.t

css絕對定位和相對定位,文檔流的理解

css 定位 相關鏈接:http://blog.csdn.net/libertea/article/details/11662661 今天在這裏看到了關於一個定位的博客,感覺講的挺好的,在這裏分享一下鏈接。css中絕對定位和相對定位,文檔流的理解

CSS 的內聯元素、塊級元素、display的各個屬性的特點

ron 但是 splay 之間 height 多個 ext 情況 div CSS的內聯元素和塊級元素 塊級元素<h1>-<h6>、p、dt是不可以內聯塊級元素的 1、block和inline這兩個概念是簡略的說法,完整確切的說應該是 block-le

HTML和CSS的居中效果(1)

htm inner height overflow n-1 txt posit splay read HTML和CSS中的居中效果 單行上下左右居中 Html: <div class=”container”></div> CSS: