高效的css寫法中的一條就是使用簡寫。 通過簡寫可以讓你的CSS檔更小,更易讀。 而瞭解CSS屬性簡寫也是前端開發工程師的基本功之一。 今天我們系統地總結一下CSS屬性的縮寫。
色彩縮寫
色彩的縮寫最簡單,在色彩值用16進制的時候,如果每種顏色的值相同,就可以寫成一個:
color:#113366
可以簡寫為
color:#136
所有用到16進制色彩值的地方都可以使用簡寫,比如background-color、border-color、text-shadow、 box-shadow等。
盒子大小
這裡主要用於兩個屬性:margin和padding,我們以margin為例,padding與之相同。 盒子有上下左右四個方向,每個方向都有個外邊距:
margin-top:1px;
margin-right:1px;
margin-botton:1px;
margin-left:1px;
這四個值可以縮寫到一起:
margin:1px 1px 1px 1px;
縮寫的順序是上->右->下->左。 順時針的方向。 相對的邊的值相同,則可以省掉:
margin:1px;//四個方向的邊距相同,等同于margin:1px 1px 1px 1px;
margin:1px 2px;//上下邊距都為1px,左右邊距均為2px,等同于margin:1px 2px 1px 2px
margin:1px 2px 3px;//右邊距和左邊距相同,等同于margin:1px 2px 3px 2px;
margin:1px 2px 1px 3px;//注意,這裡雖然上下邊距都為1px,但是這裡不能縮寫。
邊框(border)
border是個比較靈活的屬性,它有border-width、border-style、border-color三個子屬性。
border-width:數位+單位;
border-style: none || hidden || dashed || dotted || double || groove || inset || outset || ridge || solid ;
border-color: 顏色 ;
它可以按照width、style和color的順序簡寫:
border:5px solid #369;
有的時候,border可以寫的更簡單些,有些值可以省掉,但是請注意哪些是必須的,你也可以測試一下:
border:groove red; 大家猜猜這個邊框的寬度是多少?
border:solid; 這會是什麼樣子?
border:5px; 這樣可以嗎?
border:5px red; 這樣可以嗎??
border:red; 這樣可以嗎???