App下載
話題 首頁 > CSS3 教程 > CSS3 教程話題列表 > 詳情

CSS代碼怎么縮寫才可以減少頁面文件大小,提高下載速度,同時使代碼簡潔可讀?

精華
鋼鐵咸魚 2016-11-24 11:50:30 瀏覽(4189) 回復(fù)(5) 贊(0)
CSS簡寫就是指將多行的CSS屬性簡寫成一行,又稱為CSS代碼優(yōu)化 或CSS縮寫 。CSS簡寫的最大好處就是能夠顯著減少CSS文件的大小,優(yōu)化網(wǎng)站整體性能,更加容易閱讀。那么具體該怎么縮寫呢?
css css3

回答(5)

李大寶兒 精華 2016-11-24

善用css縮寫可以減少頁面文件大小,提高下載速度,同時使代碼簡潔可讀。如:

div{
    border-top:1px solid #cccccc;
    border-left:1px solid #cccccc;
    border-right:1px soli #cccccc;
    border-bottom:1px solid #cccccc;
}

可以寫為

p{border:1px solid #cccccc}

再如:

div{
        margin-top:10px;
        margin-right:20px;
        margin-bottom:30px;
        margin-left:40px;
}

可以改寫為:

/*注意上、右、下、左的書寫順序*/
div{margin:10px 20px 30px 40px}
/*注意,數(shù)值與單位不能有空格,每個值之間用空格隔開*/

(詳細請參考:css參考手冊 、css教程 )

下面介紹常見的CSS簡寫規(guī)則:

一、盒子 大小


這里主要用于兩個屬性:marginpadding ,我們以margin為例,padding與之相同。盒子有上下左右四個方向,每個方向都有個外邊距:

margin-top:1px;
margin-right:2px;
margin-bottom:3px;
margin-left:4px;

你可以簡寫成:

margin:1px 2px 3px 4px;

語法 margin:top right bottom left;

//四個方向的邊距相同,等同于margin:1px 1px 1px 1px;
margin:1px;
//上下邊距都為1px,左右邊距均為2px,等同于margin:1px 2px 1px 2px;
margin:1px 2px;
//右邊距和左邊距相同,等同于margin:1px 2px 3px 2px;
margin:1px 2px 3px;
//注意,這里雖然上下邊距都為1px,但是這里不能縮寫。
margin:1px 2px 1px 3px;

二、邊框(border)


邊框的屬性如下:

border-width:1px;
border-style:solid;
border-color:#000;

可以縮寫為一句:

border:1px solid #000;

語法 border:width style color;

三、背景(Backgrounds)


背景的屬性如下:

background-color:#f00;
background-image:url(background.gif);
background-repeat:no-repeat;
background-attachment:fixed;
background-position:00;

可以縮寫為一句:

background:#f00 url(background.gif) no-repeat fixed 0 0;

語法是background:color image repeat attachment position; 你可以省略其中一個或多個屬性值,如果省略,該屬性值將用瀏覽器默認值,默認值為:

color: transparent
image: none
repeat: repeat
attachment: scroll
position: 0% 0%

四、字體(fonts)


字體的屬性如下:

font-style:italic;
font-variant:small-caps;
font-weight:bold;font-size:1em;
line-height:140%;
font-family:"Lucida Grande",sans-serif;

可以縮寫為一句:

font:italic small-caps bold 1em/140%"Lucida Grande",sans-serif;

注意,如果你縮寫字體定義,至少要定義font-size和font-family兩個值。

五、列表(lists)


取消默認的圓點和序號可以這樣寫list-style:none;,list的屬性如下:

list-style-type:square;
list-style-position:inside;
list-style-image:url(image.gif);

可以縮寫為一句:

list-style:square inside url(image.gif);

六、顏色(Color)


16進制的色彩值,如果每兩位的值相同,可以縮寫一半。例如:

Aqua: #00ffff ——#0ff
Black: #000000 ——#000
Blue: #0000ff ——#00f
Dark Grey: #666666 ——#666
Fuchsia:#ff00ff ——#f0f
Light Grey: #cccccc ——#ccc
Lime: #00ff00 ——#0f0
Orange: #ff6600 ——#f60
Red: #ff0000 ——#f00
White: #ffffff ——#fff
Yellow: #ffff00 ——#ff0

七、屬性值為0


書寫原則是如果CSS屬性值為0,那么你不必為其添加單位(如:px/em),你可能會這樣寫:

padding:10px 5px 0px 0px;

試試這樣吧:

padding:10px 5px 00 ;

八、最后一個分號


最后一個屬性值后面分號可以不寫,如:

#nav{
border-top:4px solid #333;
font-style: normal;
font-variant:normal;
font-weight: normal;
}

可以簡寫成:

#nav{
border-top:4px solid #333;
font-style: normal;
font-variant:normal;
font-weight: normal
}

九、字體粗細(font-weight)


你可能會這樣寫:

h1{
font-weight:bold;
}
p{
font-weight:normal;
}

可以簡寫成:

h1{
font-weight:700;
}
p{
font-weight:400;
}

十、圓角半徑(border-radius)


border-radius是css3中新加入的屬性,用來實現(xiàn)圓角邊框。

-moz-border-radius-bottomleft:6px;
-moz-border-radius-topleft:6px;
-moz-border-radius-topright:6px;
-webkit-border-bottom-left-radius:6px;
-webkit-border-top-left-radius:6px;
-webkit-border-top-right-radius:6px;
border-bottom-left-radius:6px;
border-top-left-radius:6px;
border-top-right-radius:6px;

可以簡寫成:

-moz-border-radius:6px 6px 0;
-webkit-border-radius:6px 6px 0;
border-radius:6px 6px 0;
語法 border-radius:topleft topright bottomright bottomleft
1769304107 2017-02-24

對于有安全性的,要求高一點的,上線之前代碼會進行壓縮,這可以大大減小項目大小的,代碼壓縮工具,網(wǎng)上挺多的,證操作也可以在后端完成

一筆荒蕪 2018-05-31

好慢呀,空空如也,半天不來大神解決,大佬在哪啦

1144100656 2018-05-31

我也不清楚,坐等大神,火鉗劉明?。?!

1152696398 2018-05-31

有同樣等問題咋解決,只能慢慢等大神啦.留名留名。。

要回復(fù),請先登錄 或者注冊