# 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,margin-bottom**
~~~
a,span,em,strong
~~~
~~~
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;
}
```