在html页面引入css?
行内:在html页面的标签上增加一个style属性, style属性的值,就是css代码
<p style="background-color:#FF0000; color:#FFFFFF">
内联:写在html页面的<head>标签里,用<style>标签包裹
<head>
<style type=”text/css”>
p { color:#FF0000;}
</style>
</head>
外联:写在head标签内部
•链接
<link rel="stylesheet" type="text/css" href="css_3.css" />
•导入
•<style type="text/css">
@import url(css_3.css);
</style>
选择器?
标签选择器:
类选择器:
Id选择器:
复合选择器:
选择器优先级:
如果有两个相同的样式同时作用于某一个html元素, 那么就会在这两个样式间产生一个优先级问题
•!important > 行内 > ID选择器 > 伪类|类 | 属性选择 > 标签 > 通配符
在满足上述优先级的基础上, 要满足一个’就近原则’(上下结构的就近原则)
Html代码,在浏览器中解析的时候, 是从上向下解析的
盒子模型:
我们把html的标签在页面上所占据的位置看成一个矩形的盒子
这个盒子分为四部分: 元素内容 内边距 边框 外边距
块级元素:
独占一行, 上下排列
•独占一行,每一个块级元素都会从新的一行重新开始,从上到下排布
•可以直接控制宽度、高度以及盒子模型的相关css属性
•在不设置宽度的情况下,块级元素的宽度是它父级元素内容的宽度(宽度能继承)
•在不设置高度的情况下,块级元素的高度是它本身内容的高度
•(高度不能继承)
•块级元素是指本身属性为display:block;的元素。
•通常使用块级元素来进行大布局(大结构)的搭建
行级元素
在一行排列, 从左向右
•和其他内联元素从左到右在一行显示
•不能直接控制宽度、高度以及盒子模型的相关css属性,(但是直接设置内外边距的左右值是可以的)
•内联元素的宽高是由本身内容的大小决定(文字、图片等)
•内联元素只能容纳文本或者其他内联元素(不要在内联元素中嵌套块级元素)
•内联元素是指本身属性为display:inline;的元素。
通常使用行级元素来进行文字、小图标(小结构)的搭建
浮动:
标准文档流:
元素(标签) 根据元素特性(行级,块级, 行内块) 从左向右, 自上而下顺序排列
这就是标准文档流
浮动特性:
1:浮动只影响后面的元素
因为浮动脱离了标准文档流, 浮动元素本来占据的空间, 就空了出来
后面的元素,要想复合标准文档流规范, 它就要占据它前面的空间
所以,浮动影响后面的元素
2:浮动找浮动,不浮动找不浮动
3:浮动以元素顶部为基准对齐
4:浮动可是实现模式转换(eg:span 设置浮动可以设置宽高)
5:让块级元素在一行显示
清除浮动:
谁被浮动效果影响了, 那么就在谁之上清除浮动
clear: left;
同时清除左右方向的浮动
clear: both;
撑开和塌陷:
•当父容器没有设置高度,里面的盒子没有设置浮动的情况下会将父容器的高度撑开。
•一旦父容器中的盒子设置浮动,脱离标准文档流,父容器立马没有高度,下面的盒子会跑到浮动的盒子下面。
出现这种情况,我们需要清除浮动
定位:
就是一个html标签所显示在网页上的位置
默认定位:
标准文档流(从左向右, 从上向下)
•Static:元素框正常生成。
默认值。没有定位,元素出现在正常的文档流中(忽略 top, bottom, left, right 或者 z-index 声明)
相对定位:
相对于它本来的位置进行定位, 不脱离标准文档流
•Relative:元素框偏移某个距离。
•相对定位的元素,相对于其正常位置进行定位
•并不脱离文档流
注意: 单设置相对定位不会起效果, 要结合方位元素, 才会产生效果
绝对定位:
脱离标准文档流, 元素也需要方位元素配合使用
绝对定位会以边为距离控制
是相对于父元素进行定位的(注意, 这个父元素要么是相对定位,或者是绝对定位)
第一个父元素: 是内层向外层扩展的
当一个绝对定位元素, 的所有父盒子都不设置相对或者绝对定位, 那么该定位元素要以浏览器窗口进行定位
•Absolute:元素框从文档流完全删除,
•绝对定位绝对不占空间位置(与浮动一样)
•脱离文档
•元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定
•生成绝对定位的元素,相对于非 static 定位的第一个父元素进行定位。
•Fixed:绝对定位的元素,相对于浏览器窗口进行定位
生成绝对定位的元素,相对于浏览器窗口进行定位
•z-index:z-index 仅能在定位元素上奏效, Static 无效(例如 position:absolute;)
•一般子元素设置绝对定位,父元素设置相对对定位(子绝父相),是一种习惯