# 1.盒子模型
### 1.1盒子模型的傳參
~~~
margin:0; //四個方向都改變
margin:0 10px; //top,bottom為0px;left,right為10px
margin:0 10px 20px; //top 0;left,right 10px;bottom 20px;
~~~
padding如上
### 1.2元素在盒子中的起始位置
~~~
從自身寬度的地方開始
~~~
# 2.`HTML`標簽的分類
### 2.1 標簽分類
- ##### 塊標簽
~~~
//特點
1.獨占一行
2.能夠設置width,height
//常用的塊標簽
div,h1~h6,p,ul,li,dl,dt,dd
~~~
- ##### 內聯標簽
~~~
//特點
1.并排顯示
2.不能設置width,height
3.不能設置margin-top,margin-bottom
a,span,em,strong
~~~
- ##### 內聯塊
~~~
//特點
1.并排顯示
2.可以設置寬高
//常用的內聯塊標簽
button,img,input
~~~
### 2.2 原理
**塊標簽:獨占一行,能夠設置寬高**
`div,h1~h6,p,ul,li,dl,dt,dd`
~~~
display:block;
~~~
**內聯標簽**:并排顯示,不能設置寬高,[margin-top](0),[margin-bottom](0)
`a,span,em,strong`
~~~
display:inline-block
~~~
**內聯塊:并排顯示,可以設置寬高**
`button,img,input`
~~~
display:inline-block
~~~
### 2.3 skill
#### a.如何讓內聯元素和內聯塊元素水平居中
~~~
display:block;
margin-left:auto;
margin-right:auto;
~~~
#### b.如何讓內聯元素和內聯塊元素水平居中
~~~
//給父級加
text-align:center
~~~
# 3.`css`選擇器
> ### 定義選定你所要改變的元素的一種方式。
### 3.1分類
~~~
<p class="test" id="first">hello world</p>
<h4>標題</h4>
~~~
~~~
(1)css元素選擇器
p{color:pink}
(2)class選擇器
.test{color:yellow}
(3)id選擇器
#first{color:blue}
(4)分組選擇器
p,h4{background:gray}
(5)后代選擇器
div>span{} //選取div所有子元素為span的標簽
div span{} //選中div之后的所有span元素
(6)兄弟選擇器
div+p{}選取緊鄰div之后的第一個兄弟元素
div~p{}選取緊鄰div之后的所有兄弟元素
(7)偽類選擇器
div:hover{}
input:focus{}
(8)偽元素-->用css自定義生成的元素
":before" 偽元素可以在元素的內容前面插入新內容
p:before{
content:''
}
":after" 偽元素可以在元素的內容之后插入新內容。
p:after{
content:''
}
(9).屬性選擇
div[class='test']{}
~~~
http://www.w3school.com.cn/cssref/css_selectors.asp
### 3.2選擇器的優先級別排序
~~~
<div class='test' id='first'>hello world</div>
~~~
~~~
元素選擇器<class選擇器<ID選擇器<!important
div{color:pink}<div.test{color:blue}<div#first{color:yellow}<div{color:red !important}
~~~
### 3.3選擇器的權重
~~~
<div class="parent">
<div class="child">child</div>
</div>
~~~
~~~
/* 選擇器嵌套的層次越深,那么權重越高 */
.child{
color:red;
}
.parent>.child{
color:green;
}
~~~