一、元素展示类型
在HTML本身定义了很多元素,这些元素在网页上展示的时候都会有自己的默认状态,例如有些元素在默认状态下对高宽的属性设置不起作用,有些元素都默认情况下都独立一行显示,这种现象我们称之为元素展示类型。
二、元素展示类型的分类
块元素:当同时存在多个块元素的时候,每个块元素都会独占一行显示,且默认情况下它的高宽属性都能起作用
行内元素:当同时存在多个行内元素时,这些元素在同一行显示,当一行放不下时会自动折行,默认情况下它的宽高属性不起作用
行内块元素:当同时存在多个行内块元素时,这些元素在同一行显示,默认情况下它的宽高起作用
三、布局标签补充
div标签:它是一个双标签(div+css),我们认为认为它是一个体积最大的标签
span标签:双标签,主要用来放文字,体积很小
p标签当中不能嵌套h标签
四、元素展示类型的类型转换
css当中定义了一个display的属性,用来将元素展示类型进行强制转换,常见的属性值有三种:block(块元素)、inline-block(行内块元素)、inline(行内元素)、none(当前元素默认不显示)
元素展示类型转换之前
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>元素展示类型转换-将行内元素转换成行内块元素</title> <style type="text/css"> span{ color:width; width:200px; height:200px; background-color:red; display:inline-block; } </style> </head> <body> <span>我叫span1</span><span>我叫span2</span> </body> </html>
五、简单选择器的权重
如果使用不同的选择器取选中同一个元素,这些选择器对元素的控制能力我们称之为权重
对于简单选择器的权重来说:id选择器>类名选择器>标签名选择器
六、CSS的特性
1.在权重相同的情况下,后写的CSS样式要覆盖先写的CSS样式(覆盖性)
2.CSS存在继承的特性,子元素的样式会继承父元素的样式(继承性)
不是所有的CSS属性都可以被继承
不是所有的元素都可以继承祖先元素的样式(继承一般发生在块元素的身上)
继承指的就是子元素可以使用父元素的一些样式
3. 不同的选择器对同一个元素的控制能力不同(优先级)
七、选择器权重总结
简单选择器:优先级顺序:id选择器>类名(class)选择器>标签名(element)选择器
复合选择器:复合选择器由其它简单选择器组成,为了方便比较,为了方便比较,人为的将简单选择器定义了相应的数值,id=100,class=10,element=1.这三个数值称之为权重值,将当前每个简单选择器中的权重值进行相加,最终的结果就是给选择器的权重,数值越大的权重越大
注意:权重是指不同的选择器对同一个元素的控制能力,要区别继承的影响
八、CSS文件的存放地
css可以存放在很多地方,习惯性的由三种写法:内嵌CSS、外链CSS、行内CSS
1.内嵌css:将CSS代码写在HTML代码中
2.外链CSS:将CSS代码写在外部独立的CSS文件中
如果使用外链的CSS写法,就需要在当前的HTML当中引用要使用的CSS文件,在HTML当中定义了一个叫link的单标签来负责引用外部的CSS文件
格式是<link rel="stylesheet" type="text/css" href="CSS存放的位置"
rel属性声明这是一个样式表,不能省略
type属性声明这是一个CSS文件
href属性中的值是要应用的CSS文件的存放位置
3.行内CSS:将CSS代码写在具体的HTML标签身上
有的时候为了快速的修改某个元素的样式,我们可以选择直接将要设置的要是直接写在标签的身上,此时将style当做是div标签的一个属性来使用就可以了
注意:依据浏览器渲染页面的原理,我们选择将CSS代码写在HTML文件靠前的位置(head里title下面)
使用外链CSS文件时,外部独立的CSS代码不需要写style标签,同时还需要用link标签将CSS标签引入到HTML文件中
对于上述三种CSS文件的引用方法来说,行内CSS文件的权重最高,但是外链与内嵌并不存在谁一定大于谁的现象(指的是权重),它的控制能力完全取决于所使用的选择器的权重
如果想要设置某个样式的权重设置成最高,我们只需要在在该CSS代码的最后设置 !important ,格式是:选择器的名称{color:red !important}