这篇博文是对css2的一点总结。
一、简单选择器
1、元素选择器:对应的就是html里面的标签,直接写元素名。如:p、a、span、li等。
2、类选择器:.class名。
3、id选择器:#id名。
二、语法结构
选择器:{属性:值}
三、css引入方式
1、外部/外联:引入外部css文件
<link rel="stylesheet" href="CSS文档的位置"/>2、内嵌:style标签
<style type="text/css"> </style>3、内联:作为标签的属性style
<div style="color:red;"></div>
4、import:@import url("style.css"),必须写在css里面
四、Display vs Visibility
1、visibility: hidden、 visible
2、display: none、block、inline、inline-block、inherit
区别:visibility不会释放占有的空间,只是肉眼看不见他的存在
五、Display
1、block:让元素以块级形式展现,可以设置宽高,自动换行。
2、inline:让元素以内嵌的形式展现,不能设置宽高,width和height不起作用。
3、inline-block:可以设置宽高的内嵌元素。
4、none:元素消失,原本占据的空间会被释放。
5、table 和table-cell:外层div用table布局,内层每个div作为table-cell,内层内容vertical-align:top/middle/bottom
六、布局方式
1、标准文档流:从上往下
2、浮动:
2.1、默认值:none
2.2、值:left/right
2.3、原理:
①、元素脱离文档流
②、占据的空间缩成元素的实际宽度
③、父元素空间足够的情况下从左到右/从右到左并排
④、父元素空间不够自动换行
2.4、问题:父元素塌陷 高度塌陷。解决办法:给父元素设置高度。
2.5、清除浮动:clear: both、right、left。目的:保证后面的元素不受前面浮动影响
3、定位:
3.1、默认值:static
3.2、绝对定位: absolute
①、脱离文档流,释放原本占据的空间
②、以最近有定位的父元素,页面(0,0)为参照的起点位置
③、left,top,right,bottom,平时没有任何作用,跟到position会产生定位的作用
④、z-index产生作用,调整层次关系, 数字越大越在上面
⑤、一般在元素发生叠加的时候使用
⑥、不能滥用,因为一个调整后,后面所有的absolute的元素都需要调整,不会用来布局
3.3、相对定位:relative
①、不脱离文档流
②、当他发生移动后,移动前的自身的空间会一直被占据
③、移动后其他div原有的文档流位置不会受影响的
④、以自身的位置作为参照的原点起始位置
3.4、固定定位:fixed
①、脱离文档流
②、一直固定在页面的某个位置
③、以窗口为参照的起点位置
七、盒子模型
1、内容content:width、height
2、外边距margin:
①:margin:上 右 下 左
②:margin-top、margin-right、margin-bottom、margin-left
3、内边距padding:
①:padding:上 右 下 左
②:padding-top、padding-right、padding-bottom、padding-left
4、边框 border:
①:border: 宽度px 类型style 颜色color
②:border-top、border-right、border-bottom、border-left、
八:复合选择器
1、后代选择器:父元素 后代元素(空格分开)。如:div p span
2、交集选择器:标签名#id或者.class (中间没有空格)。如:p.myclass
3、并集选择器:同时选中多个选择器,以逗号分开。如:body,h1,ul,p{}
4、伪类选择器:如::hover、:visited、:linked、:active
九、优先级
1、内联>内嵌>外联
2、!important>id选择器>class选择器>元素选择器
个人总结,仅供参考,如有错误,请指正!