CSS基础之权重深入+盒子模型+标准文档流+浮动

1.权重问题深入

1.1同一个标签,携带了多个类名,且有属性描述相同有冲突时,只看CSS,谁在后面听谁的

CSS基础之权重深入+盒子模型+标准文档流+浮动_第1张图片
image.png

CSS基础之权重深入+盒子模型+标准文档流+浮动_第2张图片
image.png

1.2. !important标记

a: !important提升的是一个属性,而不是一个选择器



    
    Document
    


    

文字

CSS基础之权重深入+盒子模型+标准文档流+浮动_第3张图片
image.png
b: !important无法提升继承的权重,该是0还是0



    
    Document
    


    

哈哈哈哈哈哈哈哈

image.png
c: !important不影响就近原则



    
    Document
    


    
  • 猜猜我是什么颜色
CSS基础之权重深入+盒子模型+标准文档流+浮动_第4张图片
image.png

1.3. 权重计算的总结

CSS基础之权重深入+盒子模型+标准文档流+浮动_第5张图片
image.png

2.盒子模型

width是“宽度”的意思,CSS中width指的是内容的宽度,而不是盒子的宽度。
height是“高度”的意思,CSS中height指的是内容的高度,而不是盒子的高度
padding是“内边距”的意思
border是“边框”
margin是“外边距”
border  边框 ,边框有三个要素:粗细、线型、颜色。
border属性能够被拆开,有两大种拆开的方式:
1) 按3要素:border-width、border-style、border-color
2) 按方向:border-top、border-right、border-bottom、border-left
3)如果某一个小要素后面是空格隔开的多个值,那么就是上右下左的顺序:
border: 1px dashed red;
    div{
            width: 200px;
            height: 200px;
            border-width:10px 20px;
            border-style:solid dashed dotted;
            border-color:red green blue yellow;
        }
4)按方向来拆:
1   border-top:10px solid red;
2   border-right:10px solid red;
3   border-bottom:10px solid red;
4   border-left:10px solid red;
等价于:    border:10px solid red;
按方向还能再拆一层,就是把每个方向的,每个要素拆开,一共12条语句
1   border-top-width:10px;
2   border-top-style:solid;
3   border-top-color:red;
4   border-right-width:10px;
5   border-right-style:solid;
6   border-right-color:red;
7   border-bottom-width:10px;
8   border-bottom-style:solid;
9   border-bottom-color:red;
10  border-left-width:10px;
11  border-left-style:solid;
12  border-left-color:red;
等价于:    border:10px solid red;

border可以没有,
1   border:none;
某一条边没有:
1   border-left: none;
也可以调整左边边框的宽度为0:
1   border-left-width: 0;

CSS基础之权重深入+盒子模型+标准文档流+浮动_第6张图片
image.png
CSS基础之权重深入+盒子模型+标准文档流+浮动_第7张图片
image.png
CSS基础之权重深入+盒子模型+标准文档流+浮动_第8张图片
image.png

3.标准文档流

3.1块级元素和行内元素

a:块级元素
霸占一行,不能与其他任何元素并列, 能接受宽、高,如果不设置宽度,那么宽度将默认变为父亲的100%。
b: 行内元素
与其他行内元素并排,不能设置宽、高。默认的宽度,就是文字的宽度。
在HTML中,标签分类:文本级、容器级。
文本级:p、span、a、b、i、u、em
容器级:div、h系列、li、dt、dd

CSS的分类和上面的很像,就p不一样:
所有的文本级标签,都是行内元素,除了p,p是个文本级,但是是个块级元素。
所有的容器级标签都是块级元素。
CSS基础之权重深入+盒子模型+标准文档流+浮动_第9张图片
image.png



    
    Document
    


    

哈哈哈哈

嘻嘻嘻嘻

哈哈哈哈 嘻嘻嘻嘻
CSS基础之权重深入+盒子模型+标准文档流+浮动_第10张图片
image.png

3.2.块级元素和行内元素的相互转换

a:块级元素设为行内元素
display是“显示模式”的意思,用来改变元素的行内、块级性质
inline就是“行内”。一旦,给一个标签设置 display: inline;
那么,这个标签将立即变为行内元素。此时它和一个span无异:
● 此时这个div不能设置宽度、高度;
● 此时这个div可以和别人并排了



    
    Document
    


    
我是一个div
我是一个div

CSS基础之权重深入+盒子模型+标准文档流+浮动_第11张图片
image.png
b:行内元素设为块级元素
让标签变为块级元素。此时这个标签,和一个div无异:
● 此时这个span能够设置宽度、高度。
● 此时这个span必须霸占一行了,别人无法和他并排
● 如果不设置宽度,将撑满父亲



    
    Document
    


    点击我去网易

    我是一个span
    我是一个span



CSS基础之权重深入+盒子模型+标准文档流+浮动_第12张图片
image.png
c:脱离标准文档流
1) 浮动
2) 绝对定位
3) 固定定位

4.浮动

4.1.浮动的元素脱标

一旦一个元素浮动了,那么,将能够并排了,并且能够设置宽高了。无论它原来是个div还是个span



    
    Document
    


    
CSS基础之权重深入+盒子模型+标准文档流+浮动_第13张图片
image.png

4.2.浮动的元素互相贴靠




    
    Document
    


    我是span
    我是span
    我是span
    我是span
    我是span


CSS基础之权重深入+盒子模型+标准文档流+浮动_第14张图片
image.png



    
    Document
    


    
1
2
3
CSS基础之权重深入+盒子模型+标准文档流+浮动_第15张图片
image.png

4.3.浮动的元素有字围效果

让div浮动,p不浮动,div挡住了p,但是p中的文字不会被挡住,形成“字围”效果。我们在初期一定要遵循一个原则:永远不是一个东西单独浮动,浮动都是一起浮动,要浮动,大家都浮动.


    
    Document
    


    

123文字文字文......

CSS基础之权重深入+盒子模型+标准文档流+浮动_第16张图片

你可能感兴趣的:(CSS基础之权重深入+盒子模型+标准文档流+浮动)