前端课程笔记
本文将持续更新至课程结束
1. 前端基础
- B/S
只需要服务器端 -
C/S
开发客户端与服务端 -
URL
[协议://] [用户名[:密码]@]服务器地址[:端口号][/资源路径] -
URI(Uniform Resource Identifier,统一资源标识符)
URI > URL -
路径
-
MIME
- 格式:一级类型/二级类型 例:image/png
- 网络呈现过程
- URL 解析:检查 URL 格式是否正确
- DNS 解析:解析域名,获取资源所在服务器的 IP 地址
- TCP 连接:在 TCP 三次握手之后与服务器建立连接
- 发送请求:浏览器发送 HTTP 请求给服务器
- 处理请求并响应:服务器处理请求并返回 HTTP 报文
- 显示网页:浏览器解析返回的数据并渲染页面
- 断开连接:TCP 四次挥手,然后与服务器断开连接
HTML
- 超文本标记语言
- html 标记构成:开始标记、结束标记、属性、属性值、文本
- html 网页组成:版本声明、html、head、body
- 语法特点:
- 不需要编译,由浏览器解释执行
- 标签不区分大小写,建议小写
- 不可见字符被解释为空白符
- 标签要正确嵌套
常用标记
- div
. 独占一行,默认宽度窗口宽度,默认高度为内容高度 - span
. 共用一行 - h1 ~ h6
. 标题标记,默认为块级元素 - p
. 段落标记,
- code:代码文本;sub:下标;sup:上标
- 转义字符:
- 空格:
- 与:&
- 小于:<
- 大于:>
- 版权:©
- 注册商标:®
列表
- 有序列表
ol>li - 无序列表
ul>li - 定义列表
dl>dt+dd - 嵌套列表
ul>li>ul>li
图像
-
- src:图像的url
- alt:图像无法显示的替代文字
- title:鼠标悬停的提示文字
- width:图像的宽度
- height:图像的高度
超链接
- 标记 a
- 属性
- _blank 新窗口打开
- _self 所在窗口打开
- 书签链接
建立书签名
链接书签名
or
为目标元素附加 id
链接 id - top or bottom
- 空白链接
- href=""
- href="#"
- href="javascript:void(0);"
- 热区链接
在一张图上链接多个超链接 - email 链接
联系我们 - javascript 链接
表格
- 作用
- 展示信息
- 排版(现在不用,主要用 div)
- 常用标记
- table 表
- caption 标题
- tr (table row)
- td 表格
- th (table head)
- 属性
- border 边框
- width 宽度
- height 高度
- cellpadding 内边距
- cellspacing 外边距
- align 水平 v-align 垂直 top bottom middle
- 表格和单元格合并
在 td 中合并- rowspan 合并行
- colspan 合并列
- 表格结构标记
多行结构处理- thead
- tbody
- tfoot
表单
- 作用
- 收集用户数据
- 标记
form - 属性
- action 提交的地址,数据处理地址
- method 指定数据的提交方式
- get
- post
- 文件上传必须设置为 post 且 enctype 必须设置为 multipart/form-data
- enctype 编码
- name 配合 js
- get 与 post 的区别
- input 控件
- input 类型:
- 4 个框:
- 文本框:text
- 密码框:password
- 单选框:radio 设置相同 name 属性
- 多选框:checkbox 设置相同 name 属性
- 4 个按钮:
- 提交:submit
- 重置:reset
- 普通:button
- 图像提交:image
- 两个域:
- 文件域:file
- 隐藏域:hidden
- 4 个框:
- 属性:
- input 类型:
- 其他控件:
- button
- select
- 在标签中使用 option 标记来洞一列表项,用 optgroup 和 label 来对列表进行分组
- 属性:
- name:用于设置列表的名称,用于提交时设置参数的名称。
- multiple:用于设置列表是下拉列表(单选)还是滚动列表(可多选) ,一般写作 multiple="multiple"。
- size:用于设置列表项显示数量,取值为正整数,下拉列表默认为 1,滚动列表默认为 4。
- selected:用于设置当前列表项被默认选中,一般写作 selected="selected"。
- value:用于设置列表项的值,便于表单提交时传递所选值。
- optgroup:用于对列表项进行分组,方便分组查看。
- lable:用于设置分组的名称。
- textarea
- filedset & label
- filedset:框
- legend 框的标题
- label:焦点
用 for 关联相应 id
- filedset:框
框架
- 框架集:frameset 不能与 body 一起用
- 框架:iframe
CSS
[重点]CSS 声明编写规则
- 外链式
- 导入式
在 style 标记中使用 import 导入 css - 内联式
- 行内式 style:""
选择器
- 选择器
- 通配符选择器:*;常用于清除默认样式
- 元素选择器(标记选择器):直接用 html 标签作为选择器
- id 选择器:附加 id 值<id="123"> #123
- class 选择器:附加 class 值,<class="123"> .123
背景
- 背景颜色 backgroud-color
- 背景图 background-image
- 背景图处理 background-repeat
- 默认值为 repeat(沿着 x 轴和 y 轴重复),
- 其取值可以设置为
- repeat-x(只在 x 轴重复)
- repeat-y(只在 y 轴重复)
- no-repeat(不重复)
- 背景图大小 background-size
- 背景图固定 background-attachment
列表
- list-style-type
- list-style-type 用于设置列表项的标记类型,默认值为 disc(实心圆)
- 其取值还有:
- circle(空心圆)
- square(实心方块)
- decimal(阿拉伯数字)
- low-roman(小写罗马数字)
- upper-roman(大写罗马数字)
- low-alpha(小写字母)
- upper-alpha(大写字母)
- none(无标记)等。
- 其取值还有:
- list-style-type 用于设置列表项的标记类型,默认值为 disc(实心圆)
- list-style-image
- list-style-position
- list-style
表格
- border-collapse 边框合并
- border-spacing
- caption-side
- empty-cells
- table-layout
光标
- cursor
- auto: 浏览器决定适当的光标。
- default: 标准箭头光标。
- pointer: 手型光标,表示链接。
- text: 文本光标,表示可编辑文本。
- move: 移动光标,表示可拖动。
- not-allowed: 禁止光标,表示不允许某种操作。
- url():设置光标为自定义图像。
盒子
CSS 盒子模型(Box Model)包含的要素有
- 元素内容(content)
- 内边距(padding)
- 属性:
- padding-top 用于设值元素内容与边框顶部的距离
- padding-right 用于设值元素内容与边框右侧的距离
- padding-bottom 用于设值元素内容与边框底部的距离
- padding-left 用于设值元素内容与边框左侧的距离
- padding 复合属性,可以同时设置多个方向内边距
- 顺序:上右下左
- 属性:
- 外边距(margin)
- 边框(border)
- 属性:
- 颜色:
- border-top-color 用于设置元素顶部边框的颜色
- border-right-color 用于设置元素右侧边框的颜色
- border-bottom-color 用于设置元素底部边框的颜色
- border-left-color 用于设置元素左侧边框的颜色
- border-color 用于批量设置元素边框的颜色
- 宽度:
- border-top-width 用于设置元素顶部边框的宽度
- border-right-width 用于设置元素右侧边框的宽度
- border-bottom-width 用于设置元素底部边框的宽度
- border-left-width 用于设置元素左侧边框的宽度
- border-width 用于批量设置元素边框的宽度
- 样式:
- border-top-style 用于设置元素顶部边框的样式
- border-right-style 用于设置元素右侧边框的样式
- border-bottom-style 用于设置元素底部边框的样式
- border-left-style 用于设置元素左侧边框的样式
- border-style 用于批量设置元素边框的样式
- 复合属性:
- border-top
- border-right
- border-bottom
- border-left
- border-style
- 颜色:
- 属性:
CSS 布局与显示
- css 定位(position)子绝父相
- static:默认定位,元素出现在正常位置,此时元素的偏移属性、堆叠顺序属性无效。
- relative:相对定位,此时元素的偏移属性生效,偏移时根据其默认位置进行定位。
- absolute:绝对定位,此时元素脱离文档流,且元素的偏移属性生效,偏移时根据其具有特殊定位(relative、absolute、fixed)的父元素进行定位。若父元素没有特殊定位,则继续向根追溯;若到根元素都无特殊定位,则偏移时根据窗口进行定位。
- fixed:固定定位,此时元素脱离文档流,且元素的偏移属性生效,偏移时根据窗口进行定位。
- 偏移属性:
- left:设置元素距离左侧的偏移量,数值越大,距左侧越远。允许设置值为负数,正数向右移动,负数向左移动。
- top:设置元素距离顶部的偏移量,数值越大,距顶部越远。允许设置值为负数,正数向下移动,负数向上移动。
- right:设置元素距离右侧的偏移量,数值越大,距右侧越远。允许设置值为负数,正数向左移动,负数向右移动。
- bottom:设置元素距离底部的偏移量,数值越大,距底部越远。允许设置值为负数,正数向上移动,负数向下移动。
- 堆叠次序
- z-index: 必须脱离文档流生效;数字大的在上层
- 浮动
- float
- 取值:
- none
- left
- right
- 取值:
- clear
- 取值:
- none
- left
- right
- both
- 取值:
- float
- 显示属性
- overflow
- visible
- hidden
- scroll
- auto
- visibility
- visible
- hidden
- display
- block
- inline
- inline-block
- none
- overflow
css3 新特性
- 圆角:border-radius
- 图像边框:border-image
- border-image-source:设置边框图像的地址;URL
- border-image-slice:设置如何分割图像;长度/百分比
- border-image-width:设置图像边框的宽度;长度/百分比
- border-image-repeat:设置边框填充方式;stretch/repeat/round
- border-image:复合属性
- 盒子阴影:
- box-shadow
- x:必须,表示水平方向偏移量,正数向右,负数向左。
- y:必须,表示垂直方向偏移量,正数向下,负数向上。
- blur:可选,表示阴影模糊半径,默认为 0,不模糊,数值越大,阴影越模糊。
- spread:可选,表示阴影传播范围,即额外增加的尺寸,负数表示减小尺寸。
- color:可选,表示阴影的颜色,默认为黑色。
- inset:可选,表示是否切换为内部阴影。
- box-shadow
- resize 调整尺寸
- filter 滤镜
- css 变形:
- 位移
- translate(x,y) 元素水平方向移动 x,垂直方向移动 y(可省略)
- translateX(x) 元素水平方向移动 x
- translateY(y) 元素垂直方向移动 y
- 旋转
- rotate(angle) 元素顺时针旋转 angle 度,角度单位为 deg 或弧度
- rotateX(angle) 元素沿着 x 轴旋转 angle 度
- rotateY(angle) 元素沿着 y 轴旋转 angle 度
- rotateZ(angle) 元素沿着 z 轴旋转 angle 度
- 缩放
- scale(x,y) 元素水平方向缩放比为 x,垂直方向缩放比为 y(可省略)
- scaleX(x) 元素水平方向缩放比为 x
- scaleY(y) 元素垂直方向缩放比为 y
- 倾斜
- skew(x,y) 元素沿 x 轴方向倾斜 x 度,沿 y 轴方向倾斜 y 度(可省略)
- skewX(x) 元素沿 x 轴方向倾斜 x 度
- skewY(y) 元素沿 y 轴方向倾斜 y 度
- 变换
- matrix(a,b,c,d,x,y) 使用矩阵对元素进行复合变换
- 位移
- 过渡属性
- transition-delay 设置过渡的延迟时间 time
- transition-duration 设置过渡的持续时间 time
- transition-timing-function 设置过渡的时间曲线 关键字/贝塞尔曲线
- transition-property 设置需要过渡的 CSS 属性 all/none/属性名称
- transition 复合属性,设置多个过渡属性 多个属性值
- 动画属性
- @keyframes 定义动画关键帧 由动画名、时间点、CSS 样式组成的声明
- animation-name 引用@keyframes 定义的动画名 动画名/none
- animation-delay 设置动画的延迟时间 time
- animation-duration 设置动画的持续时间
- animation-timing-function 设置动画的时间曲线 关键字/贝塞尔曲线
- animation-iteration-count 设置动画的播放次数 数字/infinite
- animation-direction 设置动画的是否轮流反向播放。 none/alternate
- animation-play-state 设置动画的播放状态 paused/running
- animation 复合属性,设置多个动画属性 多个属性值
Comments NOTHING