资讯专栏INFORMATION COLUMN

前端知识点总结——CSS

nicercode / 1848人阅读

摘要:父元素没有上边框为子元素设置上外边距时在中嵌套一个子元素设置其尺寸为,并设置其背景颜色设置的上外边距为观察其结果。

前端知识点总结——CSS 1.CSS的概述

1.什么是CSS?

</>复制代码

  1. CSS:Cascading Style Sheets层叠样式表,级联样式表(简称:样式表)

2.作用

</>复制代码

  1. 设置HTML网页元素的样式

3.HTML与CSS的关系

</>复制代码

  1. HTML:负责内容的展示
  2. CSS:负责内容(元素)的修饰

4.HTML与CSS之间的使用原则

</>复制代码

  1. W3C建议尽量使用CSS属性去取代HTML属性来修饰元素
2.CSS语法规范

1.使用CSS样式的方式(重点)

</>复制代码

  1. 1.内联样式
  2. 又称为行内样式
  3. 特点:将CSS样式定义在HTML开始标记中
  4. 语法:
  5. 样式声明:
  6. 1.由样式属性和值来组成
  7. 2.属性名与值之间用 冒号 连接
  8. 3.多个样式声明之间用 分号 分割
  9. 常用的CSS样式属性 和 值:
  10. 1.设置文本颜色的属性和值
  11. 属性:color
  12. 值:合法的颜色值(英文)
  13. 2.设置背景颜色的属性和值
  14. 属性:background
  15. 值:合法的颜色值(英文)
  16. 3.设置文字大小的属性和值
  17. 属性:font-size
  18. 值:以px或pt为单位的数字
  19. exfont-size:30px;
  20. 2.内部样式
  21. 在网页的头元素中增加一对
  22. 样式规则:由选择器和样式声明组成
  23. 选择器:规范了页面中哪些元素能够使用定义好的样式(就是把声明好的样式匹配给页面中的元素)
  24. 元素选择器:由元素的名称作为选择器
  25. div,p,h1,span,a,img
  26. 选择器{}
  27. exdiv{}
  28. p{}
  29. 样式规则:
  30. 选择器{
  31. 样式声明;
  32. }
  33. ex:
  34. div{
  35. color:red;
  36. font-size:20px;
  37. }
  38. p{
  39. color:blue;
  40. }
  41. h1{...}
  42. 3.外部样式
  43. 独立于任何网页的位置处,声明一个样式表文件(***.css为后缀),
  44. .css文件中保存样式规则,然后在网页中引入.css文件。
  45. 使用步骤:
  46. 1.创建样式表文件,并编写样式规则
  47. 2.在网页中引入样式表文件
3.CSS样式特征

</>复制代码

  1. 1.继承性
  2. 大部分样式可以被继承(子元素继承父元素的样式特征)
  3. 必须是有层级关系的嵌套
  4. p

  5. 2.层叠性
  6. 可以为一个元素定义多个样式,当样式属性不冲突时,可以同时将这些样式应用到元素上
  7. div{
  8. color:red;
  9. }
  10. div{
  11. font-size:20px;
  12. }
  13. div{
  14. background:gray;
  15. }
  16. 3.优先级
  17. 如果样式声明冲突时,会按照样式的优先级来应用定义的样式规则
  18. 由低到高:
  19. 浏览器默认设置 最低
  20. 内部样式和外部样式 中(就近原则)
  21. 内联样式 最高
  22. 4.调整显示的优先级
  23. !important规则:
  24. 调整显示的优先级
  25. 将!important添加在属性值之后,与值之间用空格隔开,就能优先使用当前样式
  26. ex:
  27. color:red !important;
4.CSS基础选择器(重点)

</>复制代码

  1. 1.选择器的作用
  2. 规范页面中哪些元素能够使用定义好的样式
  3. 2.选择器详解
  4. 1.通用选择器
  5. 作用:可以修饰页面上的任何元素
  6. 语法:*{样式声明}
  7. 效率较低,尽量少用
  8. ex:
  9. *{
  10. color:red;
  11. font-size:40px;
  12. }

2.元素选择器

</>复制代码

  1. 作用:设置页面上某种(类)元素的样式
  2. 语法:标记名称{声明样式}
  3. ex:
  4. div{}
  5. p{}
  6. span{}

3.类选择器

</>复制代码

  1. 作用:定义页面上某个或某些元素的样式(谁想用谁就可以引用)
  2. 特点:通过元素的class属性进行引用
  3. 语法:
  4. 1.声明
  5. .类名{样式声明}
  6. 注意:
  7. 1.类名是自定义的,但是注意类名不能以数字开头
  8. 2.类名不能包含特殊符号(&,^,%,$,#,@)
  9. 3.可以包含(_,-)
  10. 2.引用
  11. 特殊用法:
  12. 1.多类选择器
  13. 让一个元素同时引用多个类选择器
  14. 语法:
  15. 2.分类选择器
  16. 将元素选择器和类选择器联合使用
  17. 对同一类元素中某些特殊的内容进行修饰
  18. 语法:元素名称.类选择器{样式声明}
  19. ex:div.text{color:red;}
  20. ffffdd
  21. d1d1d1

4.id选择器

</>复制代码

  1. 作用:设置指定ID元素的样式(专属定制)
  2. 语法:#id值{样式声明}
  3. ex:
  4. #one{
  5. color:red;
  6. }

5.群组选择器

</>复制代码

  1. 作用:将多个选择器放在一起进行样式的声明定义
  2. 语法:选择器1,选择器2,选择器3,...{样式声明}
  3. ex:
  4. div,#main,.mycolor,p.text{color:red;}
  5. 等同于:
  6. div{color:red};
  7. #main{color:red};
  8. .mycolor{color:red};
  9. p.text{color:red};

6.后代选择器

</>复制代码

  1. 作用:通过元素的后代关系匹配元素(多级嵌套)
  2. 语法:选择器1 选择器2 选择器3{样式声明}

7.子代选择器

</>复制代码

  1. 作用:通过元素的子代(一层层级关系)关系匹配元素
  2. 语法:选择器1>选择器2{样式声明}

8.伪类选择器

</>复制代码

  1. 作用:匹配元素不同的状态的选择器
  2. 语法:
  3. 所有的伪类都是以:作为开始
  4. 选择器:伪类选择器{样式声明}
  5. 1.连接伪类
  6. :link 匹配元素尚未访问的状态
  7. :visited 匹配元素访问过的状态
  8. 2.动态伪类
  9. :hover 匹配鼠标悬停在元素上时的状态
  10. :active 匹配元素被激活时的状态(超链接,文本框,密码框点击的时候)
  11. :focus 匹配元素获取焦点时的状态(文本框和密码框)
  12. 3.选择器的优先级
  13. 权值:标识当前选择器的重要程度,权值越大优先级越高。
  14. 元素选择器:1
  15. 类选择器: 10
  16. 伪类选择器:10
  17. ID选择择器:100
  18. 内联样式: 1000
  19. 选择器的权值加到一起,大的优先
  20. 权值相同,以后定义的为主
5.尺寸与边框

1.单位

</>复制代码

  1. 1.尺寸单位
  2. 1.px:像素
  3. 1024*768
  4. 2.in:英寸
  5. 1in=2.54cm
  6. 3.pt:磅(1pt=1/72in)
  7. 多数用于表示文字的大小
  8. 4.cm:厘米
  9. 5.mm:毫米
  10. 6.em:相对于父元素乘以倍数(多个父元素2em)
  11. 7.rem:根相对(元素字体大小乘以倍数,htmlody
  12. 2.颜色单位(颜色取值)
  13. 1.英文单词
  14. red,blue,gray,green,yellow,black....
  15. 2.rgb(r,g,b)
  16. r:0-255
  17. g:0-255
  18. b:0-255
  19. 3.rgba(r,g,b,alpha)
  20. alpha:透明度,取值为0-1之间的小数,值越大,不透明度越高
  21. 4.#rrggbb
  22. 由6位16进制的数字字母表示一个颜色
  23. 0-9或A-f
  24. #000000:黑色
  25. #ffffff:白色
  26. #eeeeee:灰色
  27. #ff11aa
  28. 5.#rgb是上面的缩写形式
  29. #000:黑色
  30. #fff:白色
  31. #f1a

2.尺寸属性

</>复制代码

  1. 1.作用
  2. 设置元素的宽度和高度
  3. 2.语法
  4. 1.宽度
  5. width:宽度
  6. min-width:最小宽度
  7. max-width:最大宽度
  8. 2.高度
  9. height:高度
  10. min-height:最小高度
  11. max-height:最大高度
  12. 3.页面中哪些元素允许设置尺寸属性
  13. 1.所有的块级元素都允许设置尺寸
  14. div,p,h1,h2..h6,ul,ol,dl,结构标记
  15. 2.本身具备width和height属性的行内元素是可以设置的
  16. img,table
  17. 3.行内块允许设置尺寸
  18. 大部分的表单控件(单选按钮,复选框)
  19. 4.大部分的行内元素是无法设置尺寸
  20. a,span,b,i,u,s等

3.溢出处理

</>复制代码

  1. 当内容多,元素区域小的时候,就会产生溢出的效果,默认都是纵向溢出。
  2. 属性:overflow,overflow-x,overflow-y
  3. 取值:
  4. 1.visible
  5. 可见的,默认值,溢出可见
  6. 2.hidden
  7. 隐藏的,溢出的内容全部隐藏,溢出内容不可见
  8. 3.scroll
  9. 显示滚动条,溢出时,可用
  10. 4.auto
  11. 自动,溢出时才显示滚动条并可用

4.边框

</>复制代码

  1. 1.边框属性
  2. 1.简写方式
  3. border:width style color;
  4. width:边框的宽度,以px为单位的数值
  5. style:边框的样式
  6. 取值:
  7. solid:实线
  8. dotted:虚线边框(点)
  9. dashed:虚线边框(线)
  10. color:边框的颜色
  11. 取值:合法的颜色值
  12. transparent:透明色
  13. 注意:
  14. 取消边框:border:0;或border:none;
  15. 2.单边定义
  16. 只设置某一条边的边框
  17. 属性:border-方向:width style color;
  18. 方向:top/bottom/left/right
  19. 上 下 左 右
  20. 3.单属性定义
  21. 只设置四条边框的一个属性
  22. 属性:border-width/style/color:值;
  23. ex:border-width:3px;
  24. border-style:dotted;
  25. border-color:red;
  26. 4.单边单属性的定义
  27. 只设置某一个方向的某一个属性
  28. 属性:
  29. border-方向-属性:值;
  30. 方向:top/bottom/left/right
  31. 属性:width/style/color
  32. ex:
  33. border-left-color:blue;
  34. border-right-style:solid;
  35. border-bottom-width:6px;
  36. 2.边框倒角
  37. 将元素的直角倒换成圆角
  38. 属性:border-radius
  39. 取值:
  40. 1.以px为单位的数值
  41. 2.百分比 % 设置圆形(50%)
  42. 单角设置:
  43. border-top-left-radius:左上角
  44. border-top-right-radius:右上角
  45. border-bottom-left-radius:左下角
  46. border-bottom-right-radius:右下角
  47. 3.边框阴影
  48. 属性:box-shadow
  49. 取值:h-shadow v-shadow blur spread color inset
  50. h-shadow:阴影在水平方向的偏移距离,必须值
  51. 取值为正:阴影向右偏移
  52. 取值为负:阴影向左偏移
  53. v-shadow:阴影在垂直方向的偏移距离,必须值
  54. 取值为正:阴影向下偏移
  55. 取值为负:阴影向上偏移
  56. blur:阴影模糊距离,取值越大,模糊效果越明显,以px为单位的数值(可选值)
  57. spread:阴影的大小,指定要在基础阴影上扩充出来的大小,取值以px为单位的数值(可选值)
  58. color:阴影颜色(可选值)
  59. inset:将默认的外阴影改为内阴影(可选值)
  60. 4.轮廓
  61. 轮廓指的是边框的边框,绘制于边框外围的一条线
  62. 属性:
  63. outline:width style color;
  64. widht:轮廓的宽度
  65. style:轮廓的样式
  66. 取值:solid/dotted/dashed
  67. color:轮廓的颜色
  68. 取消轮廓:
  69. outline:none/0;
6.框模型

1.什么是框模型

</>复制代码

  1. 框模型:box model,定义了元素框处理元素的内容,内边距,外边距以及边框的一种计算方式。
  2. 外边距:元素与元素之间的空白间距
  3. 内边距:元素边框与元素内容之间的间距
  4. 框模型的计算模式:
  5. 元素的实际占地宽度=左右外边距+左右边框+左右内边距+width;
  6. 元素的实际占地高度=上下外边距+上下边框+上下的内边距+height
7.外边距

1.什么是外边距

</>复制代码

  1. 围绕在元素边框外的空白距离,就是外边距
  2. 也能表示当前元素与其他元素之间的空白距离

2.语法

</>复制代码

  1. 属性:
  2. margin 定义某个元素四个方向的外边距
  3. margin-top/bottom/left/right 定义单边的外边距
  4. 取值:
  5. 1.具体数值,以px为单位
  6. 2.取值为负
  7. 让元素向相反的方向移动
  8. margin-left:
  9. 取值为正,让元素向右移动
  10. 取值为负,让元素向左移动
  11. margin-top:
  12. 取值为正,让元素向下移动
  13. 取值为负,让元素向上移动
  14. 3.取值为%
  15. 外边距的值,是父元素的宽或高的占比(50%)
  16. 4.取值为auto
  17. 自动计算外边距的值(控制块级元素水平居中对齐)
  18. 简写方式:
  19. 1.margin:value
  20. 四个方向的外边距
  21. 2.margin:v1 v2;
  22. v1:上下外边距
  23. v2:左右外边距
  24. 3.margin:v1 v2 v3;
  25. v1:上外边距
  26. v2:左右外边距
  27. v3:下外边距
  28. 3.margin:v1 v2 v3 v4;
  29. 上 右 下 左 (顺时针方向)

3.自带外边距的元素

</>复制代码

  1. body,h1~h6,p,ul,ol,dl,dd,pre
  2. 通过CSS Reset(css重写)的手段,来重置具备外边距的元素
  3. body,h1,h2,h3,h4,h5,h6,ul,ol,dl,dd,pre{
  4. margin:0;
  5. }

4.外边距的特殊效果

</>复制代码

  1. 1.外边距合并
  2. 当两个垂直外边距相遇时,他们将合并为一个,最终取决于两个外边距中距离较大的那个。
  3. 如果两个外边距相遇时值相等,那么取其中一个值。
  4. 2.外边距的溢出
  5. 在某些条件下,为子元素设置上外边距时,有可能会作用到父元素上。
  6. 1.父元素没有上边框
  7. 2.为子元素设置上外边距时
  8. 2.在d2中嵌套一个子元素div,id="d3",设置其尺寸为100*100,并设置其背景颜色
  9. 3.设置d3的上外边距为50px,观察其结果。
  10. 解决溢出方案:
  11. 1.为父元素增加上边框
  12. 弊端:对父元素的高度有影响
  13. 2.使用父元素的上内边距来取代子元素的上外边距
  14. 弊端:对父元素的高度有影响
  15. 3.在父元素的第一个子元素位置处,增加一个空(table)
  16. 行内元素以及行内块元素的垂直外边距
  17. 1.行内元素垂直外边距无效(img除外)
  18. 2.行内块元素,设置垂直外边距时,整行元素都跟着发生改变
8.内边距

1.什么是内边距

</>复制代码

  1. 元素边框与内容之间的空白距离
  2. 内边距会扩大元素边框占地区域

2.语法

</>复制代码

  1. 属性:
  2. padding 四个方向的内边距
  3. padding-top/bottom/left/right 设置单边内边距
  4. 取值:
  5. 以px为单位的数值
  6. 以%形式设置
  7. 简写方式:
  8. 1.padding:value; 四个方向的内边距
  9. 2.padding:v1 v2;
  10. v1:上下内边距
  11. v2:左右内边距
  12. 3.padding:v1 v2 v3;
  13. v1:
  14. v2:左右
  15. v3:
  16. 4.padding:v1 v2 v3 v4;
  17. 上 右 下 左 (顺时针)
9.属性:box-sizing

作用:指定框模型的计算方式

</>复制代码

  1. 取值:
  2. 1.content-box
  3. 默认值,采用默认的计算元素的占地区域
  4. 实际占地宽度=左右边框+左右外边距+左右内边距+width;
  5. 实际占地高度=上下边框+上下外边距+上下内边距+height;
  6. 2.border-box
  7. 元素的尺寸,会包含border以及padding的值
  8. 实际占地宽度=width(包含了border和padding)
  9. 实际占地高度=height(包含了border和padding)

3.背景属性
背景:可以是单一颜色或图片填充元素
1.背景色

</>复制代码

  1. 属性:background-color
  2. 取值:合法的颜色值
  3. 注意:背景颜色默认是从边框的位置处开始填充的

2.背景图片

</>复制代码

  1. 属性:background-image
  2. 取值:url(图片的路径);
  3. ex:background-image:url(a.jpg);

3.背景图片平铺

</>复制代码

  1. 属性:background-repeat
  2. 取值:
  3. repeat 默认值,横向纵向都平铺
  4. no-repeat 不平铺(图片只显示一次)
  5. repeat-x 只在水平方向平铺
  6. repeat-y 只在垂直方向平铺

4.背景图片尺寸

</>复制代码

  1. 属性:background-size
  2. 取值:
  3. 1.width/height (ex:200px 300px)
  4. 2.width%/height% (ex:50% 50% 是元素自己的高宽占比)
  5. 3.cover
  6. 将背景图等比放大,直到背景图完全覆盖到元素的所有区域为止。
  7. 4.contain
  8. 将背景图等比放大,直到背景图碰到元素的某一个边缘为止

5.背景图片固定

</>复制代码

  1. 作用:将背景图固定在网页的某个位置处,一直在可视区域中,不会随着滚动条而发生位置的变化。
  2. 属性:background-attachment
  3. 取值:
  4. 1.scroll 默认值,滚动
  5. 2.fixed 固定

6.背景图片定位

</>复制代码

  1. 作用:改变背景图在元素中的位置
  2. 属性:background-position
  3. 取值:
  4. 1.x y 具体的数值(px
  5. x:
  6. 背景图水平偏移距离
  7. 取值为正,向右移动
  8. 取值为负,向左移动
  9. y:
  10. 背景图垂直偏移距离
  11. 取值为正,向下移动
  12. 取值为负,向上移动
  13. 2.x% y%
  14. 0% 0% 背景图在左上角
  15. 100% 100% 背景图在右下角
  16. 50% 50% 背景图在中间位置
  17. 3.关键字
  18. x:left/center/right
  19. y:top/center/bottom
  20. ex:background-position:right top;

7.背景简写属性

</>复制代码

  1. 在一个属性中指定背景的多个属性值
  2. 属性:background
  3. 取值:color url() repeat attachment position
  4. ex:
  5. background:gray url(a.jpg);
  6. 注意:
  7. 如果不设置其中某个属性值的话,该位置采用默认值。
8.渐变

1.什么是渐变

</>复制代码

  1. 渐变指定是多种颜色平缓变换的一种显示效果。

2.渐变的主要因素

</>复制代码

  1. 1.色标:一种颜色及其出现的位置
  2. 2.一个渐变是由多个色标组成(至少两个)

3.渐变分类

</>复制代码

  1. 1.线性渐变
  2. 以直线的方向来填充效果
  3. 2.径向渐变
  4. 以圆形的方式来实现填充
  5. 3.重复渐变
  6. 将线性渐变或径向渐变 重复几次实现填充

4.渐变详解

</>复制代码

  1. 1.线性渐变
  2. 属性:background-image
  3. 取值:linear-gradient(angle,color-point1,color-point2,....);
  4. 1.angle
  5. 表示渐变填充的方向或角度
  6. 取值:
  7. 1.关键字
  8. to top 从下向上填充渐变色
  9. to bottom 从上向下填充渐变色
  10. to left 从右向左填充渐变色
  11. to right 从左向右填充渐变色
  12. 2.角度值
  13. 0deg 从下向上填充,等同于to top
  14. 90deg 从左向右填充,等同于to right
  15. 180deg 从上到下填充,等同于to bottom
  16. 270deg 从右向左填充,等同于to left
  17. 2.color-point
  18. 色标:颜色 及其 位置
  19. 取值:颜色 以及 位置的组合,中间用空格分开
  20. ex:
  21. 1.red 0%
  22. 在填充方向的开始位置处颜色为红色
  23. 2.green 50%
  24. 到填充方向一半的位置处,颜色变为绿色
  25. 3.blue 200px
  26. 到填充方向的200px的位置处,颜色变为蓝色
  27. 2.径向渐变
  28. 属性:
  29. background-image:radial-gradient([size at position],
  30. color-point1,color-point2,...);
  31. size at position:
  32. size:半径,以px为单位的数值
  33. position:圆心所在位置
  34. 1.x y 具体数值
  35. 2.x% y% 元素宽和高的占比
  36. 3.关键字
  37. x:left,center,right
  38. y:top,center,bottom
  39. ex:
  40. 100px at right top
  41. 半径 右上角位置
  42. 3.重复渐变
  43. 1.重复线性渐变
  44. background-image:repeating-linear-gradient
  45. (angle,color-point1,color-point2,...);
  46. color-point:位置一定要给绝对数值(px),不要用相对单位%
  47. 2.重复径向渐变
  48. background-image:repeating-radial-gradient
  49. ([size at position],color-point1,color-point2,...);
9.浏览器兼容性

</>复制代码

  1. 各个浏览器的新版本都支持渐变属性
  2. 对于不支持的浏览器版本,可以通过增加浏览器前缀的方式,让浏览器支持渐变属性
  3. Firefox:-moz-
  4. Chrome & Sagari:-webkit-
  5. Opera:-o-
  6. IE:-ms-

2.文本格式化属性
1.字体属性

</>复制代码

  1. 1.指定字体
  2. 属性:font-family
  3. 取值:字体名称,名称之间用逗号隔开
  4. ex:
  5. font-family:"微软雅黑",Arial,"黑体";
  6. 2.字体大小
  7. 属性:font-size
  8. 取值:以px或pt为单位的数字
  9. 3.字体加粗
  10. 属性:font-weight
  11. 取值:
  12. 1.bold 加粗(b,hn
  13. 2.normal 正常
  14. 3.value 无单位的数字(整百倍)
  15. 400-900
  16. 400:等同于normal
  17. 900:等同于bold
  18. 4.字体样式
  19. 属性:font-style
  20. 取值:
  21. 1.normal 正常显示
  22. 2.italic 斜体显示
  23. 5.小型大写字母
  24. 将小写字符变成大写,但文本的大小与小写字符一致
  25. 属性:font-variant
  26. 取值:
  27. 1.normal 正常
  28. 2.small-caps 小型的大写字符
  29. 6.字体属性简写
  30. 属性:font
  31. 取值:style variant weight size family;
  32. 注意:
  33. 如果用简写方式,必须设置family的值,否则无效。
  34. font:12px; 错误
  35. font:12px "黑体"; 正确

2.文本格式

</>复制代码

  1. 1.文本颜色
  2. 属性:color
  3. 取值:合法的颜色值
  4. 2.文本排列
  5. 作用:指定文本,行内,行内块元素的水平对齐方式。
  6. 属性:text-align
  7. 取值:left/center/right/justify(两端对齐)
  8. 3.文字修饰(线条)
  9. 属性:text-decoration
  10. 取值:
  11. none:无任何线条修饰
  12. underline:下划线修饰
  13. overline:上划线修饰
  14. line-through:删除线修饰
  15. 4.行高
  16. 作用:定义一行文本的高度
  17. 特点:如果行高的高度大于字体本身的大小,那么该行文本将在指定的行高内呈现垂直居中的效果。
  18. 属性:line-height
  19. 取值:以px为单位数值
  20. 5.首行文本缩进
  21. 属性:text-indent
  22. 取值:以px为单位的数值
  23. 6.文本阴影
  24. 属性:text-shadow
  25. 取值:h-shadow v-shadow blur color;
10.表格

1.表格的常用属性

</>复制代码

  1. 1.边距属性:padding
  2. 2.边框属性:border
  3. 3.尺寸属性:width,height
  4. 4.文本格式化属性:font-*,text-*,line-height
  5. 5.背景属性:颜色,图片,渐变
  6. 6.vertical-align
  7. 作用:指定单元格数据垂直对齐方式
  8. 取值:
  9. top:上对齐
  10. middle:居中对齐
  11. bottom:下对齐
  12. 练习:创建网页,并在网页中添加表格
  13. 1.表格尺寸为400*400,4行4列;
  14. 2.每个单元格的尺寸为100*100,内容随意;
  15. 3.设置表格和单位元格的边框为1px solid #000;
  16. 4.设置每个单元格的左内边距为20px;
  17. 5.尝试为每个单元格增加上外边距15px。

2.表格的特殊属性

</>复制代码

  1. 1.边框合并
  2. 取值:border-collapse
  3. 取值:
  4. 1.separate
  5. 默认值,即分离边框模式
  6. 2.collapse
  7. 边框合并
  8. 2.边框边距
  9. 作用:设置单元格之间或单元格与表格之间的距离
  10. 属性:border-spacing
  11. 取值:
  12. 1.给定一个值:水平和垂直的间距相同
  13. 2.给两个值:
  14. 第一个值 表示水平间距
  15. 第二个值 表示垂直间距
  16. 注意:只有在边框分离模式下,边框边距才有效果,即border-collapse:separate时,border-spacing才有效。

3.表格标题位置

</>复制代码

  1. 属性:caption-side
  2. 取值:
  3. 1.top:默认值,标题在表格内容之上
  4. 2.bottom:标题在表格内容之下

4.显示规则

</>复制代码

  1. 作用:用来帮助浏览器指定如何布局一张表,也就是指定td尺寸的计算方式。
  2. 属性:table-layout
  3. 取值:
  4. 1.auto
  5. 默认值,即自动布局表格,列的尺寸实际上由内容来决定的。
  6. 2.fixed
  7. 固定表格布局,列的尺寸由设置的值为准
  8. 自动表格布局VS固定表格布局:
  9. 1.自动表格布局
  10. 1.单元格的大小会适应内容
  11. 2.表格复杂时,加载速度较慢(缺点)
  12. 3.自动表格布局会比较灵活(优点)
  13. 4.适用于不确定每列大小时使用
  14. 2.固定表格布局
  15. 1.单元格的尺寸取决于设定的值
  16. 2.任何情况下都会加载显示表格(优点)
  17. 3.适用于确定每列大小时使用
  18. 4.固定表格布局不够灵活(缺点)
11.定位-浮动定位

1.定位

</>复制代码

  1. 定位:指的是改变元素在页面中的默认位置

2.定位的分类

</>复制代码

  1. 按照定位的效果,可以分成以下几类:
  2. 1.普通流定位(默认的定位方式)
  3. 2.浮动定位
  4. 3.相对定位
  5. 4.绝对定位
  6. 5.固定定位

3.定位详解

</>复制代码

  1. 1.普通流定位
  2. 又称为文档流定位,页面中元素的默认定位方式
  3. 1.每个元素在页面中都有自己的空间
  4. 2.每个元素默认都是在其父元素的左上角开始显示
  5. 3.页面中的块级元素都是从上往下排列,每个元素独占一行
  6. 4.页面中的行内元素以及行内块都是按照从左到右的顺序来排列的
  7. 要解决的问题:让多个块级元素在一行中显示
  8. 2.浮动定位
  9. 1.什么是浮动&特点
  10. 1.元素一旦浮动起来,将不占据页面空间(脱离了文档流),其它未浮动元素将上前补位。
  11. 2.浮动元素会停靠在父元素的左边或右边,或其它已经浮动的元素的边缘上。
  12. 3.浮动定位解决的问题:能够让多个块级元素在一行中显示。
  13. 2.语法
  14. 属性:float
  15. 取值:
  16. 1.left
  17. 左浮动,让元素停靠在父元素的左边或挨着左侧已经浮动的元素
  18. 2.right
  19. 右浮动,让元素停靠在父元素的右边或挨着右侧已经浮动的元素
  20. 3.none
  21. 默认值,即无任何浮动效果
12.浮动引发的特殊效果

1.元素一旦浮动起来以后就会变成块级元素

</>复制代码

  1. 允许修改尺寸
  2. 能正常处理垂直方向外边距

2.当父元素显示不下所有已浮动元素时,最后一个将换行,但是,有可能被卡住;
3.元素一旦浮动起来后,宽度将以内容为主(未指定宽度情况下);
4.文本,行内元素,行内块元素是采用环绕的方式来排列的,是不会别浮动元素压在底下的,而会巧妙的避开浮动元素。

13.清除浮动带来的影响

元素一旦浮动起来之后,就会对后续元素带来一定的位置影响(后续元素要上前补位),如果后续元素不想被影响(不想补位),那么就可以通过清除浮动的方式来解决
属性:clear
取值:

</>复制代码

  1. 1.left
  2. 清除当前元素前面的元素左浮动所带来的影响
  3. 2.right
  4. 清除当前元素前面的元素右浮动所带来的影响
  5. 3.both
  6. 清除当前元素前面元素任何一种浮动所带来的影响
  7. 4.none
  8. 默认值,不做任何的清除浮动操作
14.浮动元素对父元素高度的影响

1.元素的高度都是以未浮动元素的高度为准的,浮动元素是不占页面的高度的

</>复制代码

  1. 解决父元素的高度方案如下:
  2. 1.直接设置父元素的高度
  3. 弊端:不是每次都知道父元素的高度
  4. 2.设置父元素也浮动
  5. 弊端:不是任何时候父元素都需要浮动,而且浮动会影响后续元素
  6. 3.为父元素设置overflow
  7. 取值:hidden或auto
  8. 弊端:如果有内容需要溢出显示的话,也会一同被隐藏
  9. 4.在父元素中,追加空子元素(块级),并设置其clear:both;
15.显示

1.显示方式

</>复制代码

  1. 1.什么是显示方式
  2. 决定了元素在网页中的表现形式(块级,行内,行内块)
  3. 2.语法
  4. 属性:display
  5. 取值:
  6. 1.none 不显示元素-隐藏
  7. 特点:脱离文档流,不占据页面空间
  8. 2.block
  9. 让元素表现的和块级元素一致
  10. 特点:
  11. 独占一行,可是修改高宽
  12. 3.inline
  13. 让元素表现的和行内元素一致
  14. 特点:
  15. 不允许修改尺寸
  16. 多个元素在一行中显示
  17. 无法设置垂直外边距
  18. 4.inline-block
  19. 让元素表现的和行内块元素一致
  20. 特点:
  21. 多个元素在一行中显示,但是可以修改尺寸
  22. 5.table
  23. 让元素表现的与表格一致
  24. 特点:
  25. 尺寸以内容为准
  26. 每个元素独占一行
  27. 允许修改尺寸

2.显示效果

</>复制代码

  1. 1.显示/隐藏
  2. 属性:visibility
  3. 取值:
  4. 1.visible:默认值,元素可见
  5. 2.hidden:元素不可见-隐藏
  6. 面试:display:nonevisibility:hidden的区别
  7. display:none 不占页面空间
  8. visibility:hidden 占页面空间
  9. 2.透明度
  10. 属性:opacity
  11. 取值:0.0(完全透明)~1.0(完全不透明)之间的小数
  12. 3.垂直方向对齐方式
  13. 属性:vertical-align
  14. 场合:
  15. 1.表格中使用
  16. 取值:top/bottom/middle
  17. 2.图片(img)中使用
  18. 取值:
  19. top:上
  20. bottom:下
  21. middle:中间
  22. baseline:基线对齐,默认值
16.光标

1.作用

</>复制代码

  1. 改变鼠标悬停在元素上时,鼠标的状态

2.语法

</>复制代码

  1. 属性:cursor
  2. 取值:
  3. 1.default: 默认
  4. 2.pointer: 小手
  5. 3.crosshair: +
  6. 4.text: I
  7. 5.wait: 等待
  8. 6.help: 帮助
  9. 练习:
  10. 新建一个div元素,当鼠标移入到div上时,让光标变成小手状态。
17.列表

1.列表项标记

</>复制代码

  1. 属性:list-style-type
  2. 取值:
  3. 1.none
  4. 2.disc
  5. 3.circle
  6. 4.square

2.列表项图像

</>复制代码

  1. 作用:使用自定义图像作为列表项标识
  2. 属性:list-style-image
  3. 取值:url(图像路径);

3.列表项位置

</>复制代码

  1. 作用:将默认的列表项标识的位置,放到li里面
  2. 属性:list-style-position
  3. 取值:
  4. 1.outside 默认值,将标识显示在li外面的
  5. 2.inside 将标识放于li里面

4.列表属性简写

</>复制代码

  1. 属性:list-style
  2. 取值:type url() position;
  3. 常用方式:list-style:none;
  4. 列表的使用场合:
  5. 横向排列或纵向排列的内容,都可以使用列表来实现。
18.定位

相对定位,绝对定位,固定定位
1.定位相关属性

</>复制代码

  1. 属性:position
  2. 取值:
  3. 1.static:静态,默认值
  4. 2.relative:相对定位
  5. 3.absolute:绝对定位
  6. 4.fixed:固定定位

2.偏移属性

</>复制代码

  1. top/bottom/left/right
  2. 以上四个属性的取值均为数字
  3. ex:
  4. top:150px 元素向下移动150px
  5. left:20px 元素向右移动20px
  6. right:-150px 元素向右移动150px
  7. 注意:
  8. 只有已定位元素才能使用偏移属性

3.定位详解

</>复制代码

  1. 1.相对定位
  2. 1.什么是相对定位
  3. 元素相对于它原来的位置偏移某个距离
  4. 2.使用场合
  5. 做元素位置微调时使用
  6. 3.语法
  7. position:relative;
  8. 配合偏移属性来实现位置的移动
  9. left:10px;
  10. top:10px;
  11. 2.绝对定位
  12. 1.什么是绝对定位&特点
  13. 1.绝对定位的元素会脱离文档流-不占页面空间
  14. 2.绝对定位的元素会相对于离他最近的,已定位的,祖先元素 去实现位置的初始化。
  15. 3.如果没有已定位的祖先元素,那么该元素就相对于body去实现位置的初始化
  16. 4.配合偏移属性 实现元素位置的修改
  17. 2.语法
  18. position:absolute;
  19. 配合偏移属性实现位置的修改
  20. 3.使用场合
  21. 1.有堆叠效果的元素
  22. 2.弹出菜单
  23. 4.注意:
  24. 1.脱离文档流-不占据页面空间
  25. 2.绝对定位元素会变成块级元素
  26. 5.堆叠顺序
  27. 一旦元素变为已定位元素的话,元素们则有可能出现堆叠的效果
  28. 属性:z-index
  29. 取值:无单位的数字,数字越大越靠上
  30. 注意:
  31. 1.只有已定位元素才能实现堆叠顺序的改变(z-index
  32. 2.父子元素间,z-index无效,永远都是子元素压在父元素上方
  33. 3.固定定位
  34. 1.什么是固定定位
  35. 将元素固定在网页的某个位置处,位置不会随着滚动条而发生改变,固定在可视区域中。
  36. 2.语法
  37. position:fixed;
  38. 配合偏移属性使用
  39. 注意:
  40. 1.固定定位的元素永远都是相对于body去实现位置的初始化和偏移。
  41. 2.固定定位的元素会变成块级元素
  42. 3.固定定位元素会脱离文档流-不占页面空间

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/115711.html

相关文章

  • 个人分享--web前端学习资源分享

    摘要:前言月份开始出没社区,现在差不多月了,按照工作的说法,就是差不多过了三个月的试用期,准备转正了一般来说,差不多到了转正的时候,会进行总结或者分享会议那么今天我就把看过的一些学习资源主要是博客,博文推荐分享给大家。 1.前言 6月份开始出没社区,现在差不多9月了,按照工作的说法,就是差不多过了三个月的试用期,准备转正了!一般来说,差不多到了转正的时候,会进行总结或者分享会议!那么今天我就...

    sherlock221 评论0 收藏0
  • 前端开发-从入门到Offer - 收藏集 - 掘金

    摘要:一些知识点有哪些方法方法前端从入门菜鸟到实践老司机所需要的资料与指南合集前端掘金前端从入门菜鸟到实践老司机所需要的资料与指南合集归属于笔者的前端入门与最佳实践。 工欲善其事必先利其器-前端实习简历篇 - 掘金 有幸认识很多在大厂工作的学长,在春招正式开始前为我提供很多内部推荐的机会,非常感谢他们对我的帮助。现在就要去北京了,对第一份正式的实习工作也充满期待,也希望把自己遇到的一些问题和...

    sf_wangchong 评论0 收藏0
  • 前端最强面经汇总

    摘要:获取的对象范围方法获取的是最终应用在元素上的所有属性对象即使没有代码,也会把默认的祖宗八代都显示出来而只能获取元素属性中的样式。因此对于一个光秃秃的元素,方法返回对象中属性值如果有就是据我测试不同环境结果可能有差异而就是。 花了很长时间整理的前端面试资源,喜欢请大家不要吝啬star~ 别只收藏,点个赞,点个star再走哈~ 持续更新中……,可以关注下github 项目地址 https:...

    wangjuntytl 评论0 收藏0
  • 前端识点整理

    摘要:难怪超过三分之一的开发人员工作需要一些知识。但是随着行业的饱和,初中级前端就业形势不容乐观。整个系列的文章大概有篇左右,从我是如何成为一个前端工程师,到各种前端框架的知识。 为什么 call 比 apply 快? 这是一个非常有意思的问题。 作者会在参数为3个(包含3)以内时,优先使用 call 方法进行事件的处理。而当参数过多(多余3个)时,才考虑使用 apply 方法。 这个的原因...

    Lowky 评论0 收藏0
  • 前端识点整理

    摘要:难怪超过三分之一的开发人员工作需要一些知识。但是随着行业的饱和,初中级前端就业形势不容乐观。整个系列的文章大概有篇左右,从我是如何成为一个前端工程师,到各种前端框架的知识。 为什么 call 比 apply 快? 这是一个非常有意思的问题。 作者会在参数为3个(包含3)以内时,优先使用 call 方法进行事件的处理。而当参数过多(多余3个)时,才考虑使用 apply 方法。 这个的原因...

    snowLu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<