CSS樣式中margin相關屬性有四個:margin-top、margin-bottom、margin-left、margin-right。但是,為了減少代碼量和方便書寫,CSS中提供了margin簡寫屬性,當我們需要設置四個方向的margin時,可以使用該屬性。
margin: 上 右 下 左;
上下左右的取值有三種:
- 像素值:用數字表示,如:margin: 10px 20px 10px 20px;
- 百分比:用百分比表示,相對于父元素,如:margin: 10% 20% 10% 20%;
- auto:自動設置,由瀏覽器來決定,如:margin: auto;
若省略其中的某個方向,則沿用相應的相對側的值,如:
margin: 10px; /* 對四個方向都設置相同的值,等于margin: 10px 10px 10px 10px; */ margin: 10px 20px; /* 上下設置相同的值,左右也設置相同的值,等于margin: 10px 20px 10px 20px; */ margin: 10px 20px 30px; /* 上、下分別設置一個值,左右設置相同的值,等于margin: 10px 20px 30px 20px; */ margin: 10px auto; /* 上下設置相同的值,左右自動設置,等于margin: 10px auto 10px auto; */
優先級也遵循CSS樣式繼承規則,如下面的代碼表示設置了div和p標簽的margin樣式,同時給p標簽繼承了div標簽的margin-right和margin-left樣式:
div { margin: 10px; } p { margin: 10px 20px; margin-right: inherit; margin-left: inherit; }
使用margin簡寫屬性是減少代碼量和方便書寫的好方法,但是在使用時也要小心,因為省略某個方向會導致相應的丟失,而且不同的瀏覽器對margin解釋不一樣,可能會導致相同的代碼在不同瀏覽器上有不同的表現。