溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CSS書寫技巧有哪些

發(fā)布時間:2021-10-28 16:46:04 來源:億速云 閱讀:109 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了CSS書寫技巧有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

CSS書寫技巧-1:!important

!important作用是提高指定樣式規(guī)則的應(yīng)用優(yōu)先權(quán)。

IE7以及所有標準瀏覽器能識別!important

區(qū)別IE6與IE7與其他瀏覽器

.browserTest { border:20pxsolid#60A179!important; border:20pxsolid#00F; }

在Mozilla中或者IE7瀏覽時候,能夠理解!important的優(yōu)先級,因此顯示#60A179的顏色:

在IE6中瀏覽時候,不能夠理解!important的優(yōu)先級,因此顯示#00F的顏色:

CSS書寫技巧-2:*

IE都能識別*;標準瀏覽器(如火狐)不能識別*

區(qū)別IE6與火狐

.browserTest { border:20pxsolid#60A179; *border:20pxsolid#00F; }

區(qū)別IE7與火狐

.browserTest { border:20pxsolid#60A179; *border:20pxsolid#00F; }

區(qū)別IE7,IE6與火狐

.browserTest { border:20pxsolid#60A179; *border:20pxsolid#00F!important; *border:20pxsolid###; }

CSS書寫技巧-3:_

IE6支持下劃線,IE7和firefox均不支持下劃線

區(qū)別IE7,IE6與火狐

.browserTest { border:20pxsolid#60A179; *border:20pxsolid#00F; _border:20pxsolid###; } /*不管是什么方法,書寫的順序都是firefox的寫在前面,IE7的寫在中間,IE6的寫在***面*/

CSS書寫技巧-4:*+html 與 *html

*+html 與 *html 是IE特有的標簽, firefox 暫不支持.而*+html 又為 IE7特有標簽

.browserTest{width:120px;}/*FireFoxfixed*/ *html.browserTest{width:80px;}/*ie6fixed*/ *+html.browserTest{width:60px;}/*ie7fixed*/

注意:

*+html 對IE7的HACK 必須保證HTML頂部有如下聲明:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

/*****************************************************************************/

/*****************************************************************************/

以下是一些常用的CSS兼容技巧

1)火狐下給div設(shè)置padding后會導致width和height 增加, 但IE不會.(可用!important解決)

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

3)水平居中,margin:0 auto;(當然不是***)

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

5)浮動IE產(chǎn)生的雙倍距離

在IE下,當一個div設(shè)置了float后,然后給他設(shè)置margin,就會出現(xiàn)加倍的margin,解決的辦法是給div設(shè)置

display:inline。 <divid=”float”></div> 相應(yīng)的css為 #float{ float:left; margin:5px;/*IE下理解為10px*/display:inline;/*IE下再理解為5px*/}

Block元素的特點是:總是在新行上開始,高度,寬度,行高,邊距都可以控制(塊元素);Inline元素的特點是:和其他元素在同一行上,...不可控制(內(nèi)嵌元素);

6)IE和FF對盒模型的解釋區(qū)別

#browserTest{width:650px!important;width:648px;padding-left:2px;background:#fff;}

browserTest顯示的寬度是650px;

IE Box的總寬度是:width+padding+border+margin寬度總和;

FF Box的總寬度就是:width的寬度,padding+border+margin的寬度在含在width內(nèi)。

如果有BOX{WIDTH:"300"; PADDING:"5PX";}

則BOX在IE的寬度應(yīng)該為:310

而在FF的寬度則是300

所以在BOX有填充的情況下應(yīng)該這樣使用

BOX{WIDTH:"300" !IMPORTANT; WIDTH:"290";}

7)ul標簽在FF下面默認有l(wèi)ist-style和padding, ***事先聲明, 以避免不必要的麻煩;(常見于導航標簽和內(nèi)容列表)

8)作為外部wrapper的div不要定死高度, ***還加上 overflow: hidden;以達到高度自適應(yīng);

9)頁面的最小寬度

min-width是個非常方便的CSS命令,它可以指定元素最小也不能小于某個寬度,這樣就能保證排版一直正確。但IE不認得這個, 而它實際上把width當做最小寬度來使。為了讓這一命令在IE上也能用,可以把一個<div> 放到 <body> 標簽下,然后為div指定一個類:

然后CSS這樣設(shè)計:

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

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

CSS書寫技巧-10:***float閉合

將以下代碼加入Global CSS 中,給需要閉合的div加上

<style> /*ClearFix*/ .clearfix:after { content:"."; display:block; height:0; clear:both; visibility:hidden; } *html.clearfix{ height:1%; } *+html.clearfix{ height:1%; } .clearfix { display:inline-block; } /*HidefromIEMac*/ .clearfix{display:block;} /*EndhidefromIEMac*/ /*endofclearfix*/ </style> /**********************************************/<divid="wrap"> <divclass="column_left"> <h1>Floatleft</h1> </div> <divclass="column_right"> <h1>Floatright</h1> </div> </div> #wrap{border:6px#cccsolid;overflow:auto;_height:1%;} .column_left{float:left;width:20%;padding:10px;} .column_right{float:right;width:75%;padding:10px;border-left:6px#eeesolid;}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“CSS書寫技巧有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI