小花帶你一周入門html+css(六)CSS進階之兼容性與濾鏡丨【WEB前端大作戰】

      網友投稿 664 2022-05-30

      今天我們來了解一下CSS進階之兼容性與濾鏡

      常見兼容性問題及解決、濾鏡效果等

      CSS看似比較繁雜,其實只要掌握了CSS中的盒子模型、定位、以及頁面布局,就基本上掌握了大半啦~這時我們就已經能夠對網頁中各個元素進行精準的排版,做出符合我們意愿的網頁啦!

      關于CSS的各種屬性,我們還是可以參考學習HTML那樣。可以說CSS的屬性幾乎完全是語義化的。我們需要改變邊框,那就是“border”,那我們需要右側邊框做一些改變,那就是“border-right”。很明顯,接下來按照我們的需求還有“右邊框的寬度——border-right-with”,”右邊框顏色——border-right-color”等等等,諸如此類~

      完全就是我們需要什么,只要憑著需求去尋找。~follow me~

      常見兼容性問題及解決

      由于小花現在的工作環境有些電腦還是有ie6、ie7的 之前的一些老系統還是要兼容ie8以下版本的。不過好在這兩年的系統對ie已經不做強制性要求。所以可以和ie8以下版本說拜拜┏(^0^)┛是挺開心的。

      下面看一下這些年小花常見的十一種踩坑填坑筆記

      首先看一下**兼容不同ie版本的字符

      寫法

      /*類內部hack:*/ .header {_width:100px;} /* IE6專用*/ .header {*+width:100px;} /* IE7專用*/ .header {*width:100px;} /* IE6、IE7共用*/ .header {width:100px\0;} /* IE8、IE9共用*/ .header {width:100px\9;} /* IE6、IE7、IE8、IE9共用*/ .header {width:330px\9\0;} /* IE9專用*/ /*選擇器Hack:*/ *html .header{} /*IE6*/ *+html .header{} /*IE7*/

      設置ie文檔模式

      例如

      可以設置瀏覽器使用的文檔模式為7

      默認的文檔模式為11(Edge),10,9依次降低。

      1.important的兼容性

      在ie6等低版本瀏覽器中,后面這個屬性值會頂替前面那個屬性值

      css兼容性

      !important 兼容性

      2.盒子的尺寸問題(padding和width問題)

      具體可以參考之前的文章小花帶你一周入門html+css(四)CSS進階之盒子模型與文檔流丨【WEB前端大作戰】

      關于前端的碎碎念2-CSS裝修之盒子模型

      w3c標準中

      盒子的實際寬度 =padding+ border + 實體化width

      需要:寬高基礎之上減去相應的padding和border值

      ie6等低版本瀏覽器中

      盒子的寬度 = 實體化的width

      需要:寬高基礎之上加上相應的padding和border值

      注意:如果padding的值過大,超過盒子width的一半,那么同樣能夠看到盒子變大的現場,因為padding值撐起了盒子。

      解決方案:

      用ie6的特殊字符解決,

      即 用一個正常的width值,在用一個針對ie6的width值,并且放后面

      例如:

      .box{ width:500px; _width:530px; padding:0 15px; }

      3.overflow清除浮動兼容

      給浮動的元素父級增加overflow:hidden;_zoom:1;清除浮動

      css兼容性

      box2
      box3
      box4

      4.文本框text和按鈕button對齊問題-在不同的瀏覽器中顯示效果不同

      出現這個兼容情況的條件:

      text和button同時出現

      button按鈕沒有value值,只有一個小圖標代替

      css兼容性

      使用浮動解決

      給text增加float:left屬性

      css兼容性

      5.ie6雙邊距問題

      當外邊距方向和浮動方向相同,在ie6瀏覽器中,一定會出現雙倍邊距問題

      解決方法:在出現問題的盒子上加_display:inline;

      css兼容性

      6.圖片鏈接在ie10及以下中有邊框

      圖片鏈接,而且鏈接必須有href屬性

      解決方案

      給img增加border:0;或者border:none;屬性

      我們可以在清除標簽的默認樣式時加入border:none;

      css兼容性

      7.ie9及以下圖片img底部留白問題

      書寫不規范

      div里面嵌套img標簽,而且img后面有一個空格,或者img標簽寫完之后換行,會出現底部留空問題

      注:在html中,換行被瀏覽器解析成一個空格。

      解決方法:

      給div一個高度,并且用overflow:hidden減去多余部分

      給img加display:block;

      給div增加font-size:0; 因為空格也是一個字符,設置font-size:0;可以使字符消失

      css兼容性

      8.ie6空盒子最低高度為19px

      一個不放任何內容的空盒子,即使設置盒子的高度小于19px,ie6會默認解析為19px;

      -給盒子加overflow:hidden;

      span{ width:10px; height:10px; background:url(xxx.jpg); overflow:hidden; }

      -給backgorund加設置不平鋪

      tips:我們在工作中,只要盒子的背景不平鋪,那我們就主動的去添加no-repeat;

      span{ width:10px; height:10px; background:url(icon.jpg) no-repeat; }

      -給span標簽設置line-height:0;font-size:0;

      span{ width:10px; height:10px; background:url(xxx.jpg); line-height:0; font-size:0; }

      9.Ie6下,不識別最大寬、高度和最小寬高度,意即min-width/height和 max-width/height在ie6中沒效果

      解決方法:

      .box{ border:1px blue solid; width:200px; height:200px; } html>body .box{ width:auto; height:auto; min-width:200px; min-height:200px; }

      或者

      .box{ width:200px; height:200px; _width:200px; _height:200px; }

      因為ie6有一個特征,當定義一個高度時,如果內容超過高度,元素會自動調整高度。

      10.ie6 不支持 fixed

      /*對于非IE6可以這樣寫*/ #top{ position:fixed; bottom:0; right:20px; } /*但是IE6是不支持fixed定位的,需要另外重寫*/ #top{ position:fixed; _position:absolute; top:0; right:20px; _bottom:auto; _top:expression(eval(document.documentElement.scrollTop)); } /*使用hack使IE6實現該效果,但這個東東會閃爍,需要以下代碼*/ *html{ background-image:url(about:blank); background-attachment:fixed; } /*使固定在頂部*/ #top{ _position:absolute; _bottom:auto; _top:expression(eval(document.documentElement.scrollTop)); } /*固定在底部*/ #top{ _position:absolute; _bottom:auto; _top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop)||0)-(parseInt(this.currentStyle.marginBottom)||0))); } /*垂直居中*/ #top{ position:fixed; top:50%; margin-top:-50px; _position:absolute; _top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight/2)); }

      11.解決 ie6 最大、最小寬高 hack方法

      /* 最小寬度 */ .min_width{ min-width:300px; _width:expression(parseInt(this.clientWidth) < 300 ? "300px" : this.clientWidth); } /* 最大寬度 */ .max_width{ max-width:600px; _width:expression(parseInt(this.clientWidth) > 600 ? "600px" : this.clientWidth); } /* 最小高度 */ .min_height{ min-height:200px; _height:expression(parseInt(this.clientHeight) < 200 ? "200px" : this.clientHeight); } /* 最大高度 */ .max_height{ max-height:400px; _height:expression(parseInt(this.clientHeight) > 400 ? "400px" : this.clientHeight); }

      濾鏡效果opacity

      CSS 透明算得上是一種相當流行的技術,但在跨瀏覽器支持上,對于開發者來說,可以說是一件令人頭疼的事情。目前還沒有一個通用方法,以確保透明度設置可以在目前使用的所有瀏覽器上有效,但是總得來說它是一個巨大的變革。關于 CSS 透明度,有一點需要注意的是,它雖然使用了很多年,但它一直以來都不是一個標準屬性,它是一種非標準技術,應該是 CSS3 規范的一部分。

      opacity定義元素的不透明度

      filter:alpha(opacity=80);/*ie支持該屬性*/ ? opacity:0.8;/*支持css3的瀏覽器*/

      我們做個透明效果的例子來了解一下

      css兼容性

      華為云鯤鵬云服務與解決方案

      background:#000;

      filter:alpha(opacity=60);

      opacity:0.6;

      為關鍵代碼,當 opacity 值為1時,表示完全不透明,為0時表示完全透明。

      opacity: 0.3;這是“最重要的”,因為它是在 CSS 的現行標準。這將在 Firefox,Safari 和 Opera 的大多數版本的工作。這將是你所需要的一切如果所有的瀏覽器都支持目前的標準。當然是他們不會錯。

      filter:alpha(opacity=30);這一個是針對IE瀏覽器

      -moz-opacity:0.3;你需要這一個支持老版本的 Mozilla 瀏覽器如 Netscape Navigator。

      -khtml-opacity: 0.3;這是舊版本的 Safari(1.×)當渲染引擎是使用仍被稱為 kthml,而不是目前的WebKit。

      .transparent_class { filter:alpha(opacity=50);//標準的css透明度,在大部分的標準瀏覽器Firefox, Safari, and Opera都有效 opacity:0.5;//兼容IE解決方案 -moz-opacity:0.5;//老的Mozilla browsers如NetscapeNavigator.幾乎沒有可以不需要 -khtml-opacity:0.5;//兼容老的Safari (1.x) 版本,很少可以不用 }

      tips學習小技巧:

      學習前端需要方法,更需要一顆平常心,不要把前端想的多難,需要吃什么苦。。。既然學習這么痛苦,為什么不快樂一點學呢?anyway~希望大家可以成為一個優秀的前端!資歷有限,錯誤難免,歡迎大力指正。

      【WEB前端大作戰】火熱進行中:https://bbs.huaweicloud.com/blogs/255890

      CSS HTML web前端

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:配置內外網IP訪問kafka集群
      下一篇:企業級應用增強技術概述
      相關文章
      亚洲jjzzjjzz在线观看| 亚洲精品伊人久久久久| 亚洲精华国产精华精华液好用| 亚洲国产精品久久人人爱| 亚洲精品国产手机| 亚洲最大中文字幕| 亚洲国产高清美女在线观看| 亚洲第一页在线播放| 中文字幕亚洲综合久久2| 亚洲综合在线成人一区| 亚洲成在人线电影天堂色| 亚洲videos| 国产精品亚洲综合久久| 中文字幕亚洲男人的天堂网络| 亚洲一级片在线观看| 亚洲中文字幕乱码熟女在线| 亚洲熟妇成人精品一区| 亚洲av成本人无码网站| 亚洲成av人片一区二区三区| 亚洲国产成人乱码精品女人久久久不卡| 大胆亚洲人体视频| 国产91精品一区二区麻豆亚洲| 久久精品国产亚洲5555| 亚洲精品无码国产| 亚洲欧洲国产日韩精品| 亚洲精品偷拍无码不卡av| 亚洲人成77777在线观看网| 亚洲欧美成人一区二区三区| 日本亚洲高清乱码中文在线观看| 亚洲A∨精品一区二区三区| 久久亚洲高清综合| 亚洲动漫精品无码av天堂| 色婷婷六月亚洲婷婷丁香| 亚洲另类春色国产精品| 亚洲综合一区二区三区四区五区| 性色av极品无码专区亚洲 | 国产亚洲精品AA片在线观看不加载 | 亚洲国产精品免费在线观看| 国产成人精品日本亚洲网址| 久久综合亚洲色hezyo| 久久亚洲国产精品五月天婷|