-
HTMLday1
-
WEB基础知识
-
Web与Internet
-
Internet简介
- Internet 是一个全球性的计算机网络,也成为"因特网"等
- 主要服务
- Telnet
- Email
- WWW
- BBS
- FTP
- 基本实现技术
- 分组交换原理
- TCP/IP协议簇
-
Web简介
- 又称为万维网,即WWW
- 将各种类型的信息和服务无缝连接,并提供界面
- 万维网其实就是无数WEB文档的集合
-
Web与Internet
- Web是Internet上的最流行的应用
- Internet为Web运行提供了网络环境
-
Web的工作原理
-
Web的工作原理
- 基于Internet的一个多媒体信息服务系统
- B/S模式
- 由Web服务器,浏览器,通信协议组成
-
Web服务器
- 功能
- 存储WEB上的内容信息(图像,音视频等)
- 响应浏览器的请求,执行服务器端程序
- 具备一定安全性功能
- 产品
- TOMCAT
- IIS
- APACHE
- ……
-
Web浏览器
- 功能
- 提交用户请求
- 作为HTML和JS的解释器
- 用图形化的方式显示HTML文档
- 产品
- Microsoft IE
- Mozilla Firefox
- Google Chrome
- Apple Safari
- Opera
-
Web的相关技术
-
服务器端技术
- 运行于服务器端
- 提供了数据库访问能力
- 技术
- PHP(Hypertext Preprocessor)
- JSP(Java Server Page)
- ASP(Active Server Page)
-
客户端技术
- 运行与客户端,由浏览器解释运行
- 技术
- HTML(Hyper Text Markup Language)
- CSS(Cascading Style Sheets)
- JS(Javascript)
-
HTML快速入门
-
HTML概述
-
什么是HTML
- Hyper Text Markup Language
- 超文本标记语言,用来设计网页
- 用该语言编写的文件,以.html 或 .htm为后缀
- 由浏览器解释运行
- 可以嵌入脚本语言编写的程序片段,如JS
-
HTML基础语法
-
标记语法
- HTML用于描述功能的符号成为“标记”
- 标记使用时必须使用尖括号(<>)括起来
- 有封闭类型标记,也有非封闭类型的标记
- 双标记
- 必须成对出现
- <标记>内容</标记>
- 注意:封闭类型标记必须成对出现
- 单标记
- 非封闭类型,也叫做空标记
- <标记> 或 <标记/>
- <br>
- <hr>
- <img>
- <input>
- <meta>
-
元素
- 即标记,指尖括号及尖括号所包围的内容部分
- 元素可以包含文本内容和其他元素,也可以是空的
-
元素嵌套
- 元素可以相互嵌套形成更为复杂的语法
- <div>
<p></p>
</div>
- 注意:
- 嵌套顺序(完整嵌套)
- 代码缩进(保证代码可读性)
-
属性和值
- 属性是用来修饰元素的
- 语法
- <标记 属性="值" 属性="值">
- ex:<p align="center" id="p1">
- 标准属性
- id
- 定义元素在页面中的唯一标识
- title
- 鼠标移入到元素上时提示的文本
- class
- 样式中,定义元素引用的类选择器
- style
- 样式中,定义元素的行内样式
-
注释
- 在源码中编写,但不会被浏览器所解释的内容,成为注释
- 可以将对代码的解释说明放在注释中
- 语法
- <!-- 注释内容 -->
- 注意
- 注释不可以嵌套注释
- 注释不可以位于<>中
-
文档结构
-
文档结构
- 文档类型声明
- 指定HTML的版本和风格
- <!DOCTYPE html>
- HTML页面
- 表示HTML页面的开始与结束
- <html></html>
-
HTML页面
- 页面头部
- 定义页面全局信息
- <head></head>
- 子元素
- 网页标题
- <title></title>
- 页面内容编码格式
- <meta charset="utf-8">
- 页面主体
- 网页显示主体内容
- <body></body>
- 属性
- 文本颜色
- text
- 背景颜色
- bgcolor
-
文本
-
特殊字符
-
空格
-
-
<
- <
-
>
- >
-
©
- ©
-
文本标记
-
文本样式
- 斜体:<i></i>
- 粗体:<b></b>
- 删除线:<s></s>
- 下划线:<u></u>
- 上标:<sup></sup>
- 下标:<sub></sub>
-
标题元素
- 标记
- <h1></h1>
- <h2></h2>
- <h3></h3>
- <h4></h4>
- <h5></h5>
- <h6></h6>
- 表现形式
- 改变字号(一级最大,六级最小)
- 加粗显示
- 上下有垂直的空白距离
- 独立成行
- 属性
- align
- 标题文本水平排列方式
- 取值
- left
- center
- right
-
段落元素
- 标记
- <p></p>
- 表现形式
- 默认文字大小
- 独立成行
- 上下垂直空白
- align:left / center / right;
- 注意
- p标记中不允许嵌套块级元素
-
换行元素
- 标记
- <br>
-
分隔线元素
- 标记
- <hr>
- 属性
- 尺寸:size
- 取值单位为 px(像素),可以省略
- 宽度:width
- 取值单位为px(像素)可以省略或百分比
- 颜色:color
- 水平对齐方式:align
- left
- center
- right
-
预格式化
- 标记
- <pre></pre>
- 特点
- 保留源文档中的 回车 和 空格
-
分区元素
- 块分区元素
- 标记
- <div></div>
- 表现形式
- 独立成行
- 作用
- 页面布局
- 行内分区元素
- 标记
- <span></span>
- 表现形式
- 多个元素在一行内显示
- 作用
- 设置同一行文字内的不同格式
-
行内元素与块级元素
- 块级元素
- 元素会独占一行,即元素前后都会自动换行
- 主要用于网页布局
- display:block
- 行内元素
- 不会换行,多个元素会在一行内显示
- 包裹文本并处理样式
- display:inline;
-
图像和链接
-
URL
-
目录结构
- 目录就是Web站点中文件夹的名称
- Web站点的主目录,称为Web站点的根目录
-
URL
- Uniform Resource Locator(统一资源定位器),用来标识网络中的任何资源
- 三种表现形式
- 绝对路径
- 定义:从文件所在的最高级目录下开始查找资源文件所经过的路径
- 网络资源
- 协议名
- http / https
- 主机名(IP地址/域名)
- www.baidu.com
- 目录路径
- img
- 资源名称
- bg_logo1.png
- 相对路径
- 定义:从当前文件位置处开始查找资源文件所经过的路径
- 同目录,直接用
- a.jpg
- 子目录,先进入
- img/a.jpg
- img/index/a.jpg
- 父目录,先返回
- ../a.jpg
- ../../a.jpg
- ../img/a.jpg
- 根相对路径
- 定义:从Web站点所在的根目录处开始查找
- 通过 / 表示根目录
-
图像
-
图像格式
- JPEG
- jpg
- jpeg
- GIF
- PNG
-
图像元素
- 标记:<img>
- 属性
- src
- 要显示的图像的路径(绝对/相对/根相对)
- width
- 图像宽度,如果width 和 height 只设置一个属性时,另外一个将等比缩放
- height
- 图像高度
-
链接
- 标记:<a>内容</a>
-
属性
- href
- 链接URL
- target
- 含义:目标,打开新网页的形式
- 取值
- _blank
- 在新标签页中打开
- _self
- 在自身页面中打开
- ...
- name
- 定义页面锚点
-
链接的表现形式
- 目标文档为下载资源
- <a href="XXX.rar / XXX.zip"></a>
- 电子邮件链接
- <a href="mailto:xxx@xxx.com"></a>
- 返回页面顶部的空链接
- <a href="#"></a>
- 链接到JavaScript
- <a href="javascript:js脚本"></a>
-
锚点
- 定义:锚点就是文档中某行的一个记号,通常用于链接到这个记号位置处
- 使用方式
- 定义锚点
- 通过 a 标记的 name 属性
- <a name="name1">锚点</a>
- 其他元素使用 id 属性
- <ANY id="anchor">
- 链接到锚点
- <a href="#锚点名称"></a>
- <a href="页面URL#锚点名称"></a>
-
表格
-
表格的作用
- 按照一定的结构来显示数据
- 由单元格按照从左到右,从上到下的方式排列到一起
- 数据都保存在单元格中
- 表格可以显示数据,也可以设置页面的布局
-
使用表格
-
创建表格
- 创建表格
- <table></table>
- 创建表行
- <tr></tr>
- 创建单元格
- <td></td>
-
属性
- table
- width :设置表格的宽度
- height:设置表格的高度
- align:设置表格的对齐方式
- left
- center
- right
- border:设置表格边框宽度
- cellpadding:内边距(单元格边框与内容之间的距离)
- cellspacing:外边距(单元格之间的距离)
- bgcolor:设置表格的背景颜色
- tr
- align:该行内容水平对齐方式
- valign:该行内容的垂直对齐方式
- top
- middle
- bottom
- td/th
- align:内容水平对齐方式
- valign:内容垂直对齐方式
- width :宽度
- height :高度
- colspan:设置单元格跨列
- rowspan:设置单元格跨行
-
注意
- 传统的表格,每行的列数都是统一化的(每行的列数都相同)
- 一行中所有的单元格的高度都是相同的,默认下以最高的单元格为主
- 每行中相同列的宽度都是相同的,默认以最宽的单元格为主
-
表格标题
- <caption></caption>
- 注意:标签必须紧随在<table>之后,并只能有一个
-
表格的复杂应用
-
行分组
- 表头行分组:<thead></thead>
- 表主体行分组:<tbody></tbody>
- 注意:如果不显示指定行分组的话,那么默认都在tbody中
- 表尾行分组:<tfoot></tfoot>
-
不规则表格
- 跨列
- 从指定单元格位置处,横向向右合并几个单元格
- 被合并掉的单元格要删除
- colspan=值;
- 跨行
- 从指定单元格位置处,纵向向下合并截个单元格
- 被合并调的单元格要删除
- rowspan=值;
-
表格的嵌套
- 表格是允许被嵌套的,但嵌套的表格必须要放在td中
-
HTMLday2
-
列表
-
列表的作用
- 列表是将一组具有相似特征或者具有先后顺序的内容按照从上到下的顺序排列在一起
-
组成
- 列表类型
- 有序列表<ol></ol>
- 无序列表<ul></ul>
- 列表项
- <li></li>
-
使用列表
-
有序列表
- 特点:按照一定的顺序将列表项标识出来
- 语法:<ol></ol>
- 只能包含列表项<li></li>
- 属性
- type
- 作用:有序列表的类型
- 取值
- 1
- a
- A
- i
- I
- start
- 作用:起始编号
- 取值:数字
-
无序列表
- 特点:用于列出页面上没有特定次序的一些内容
- 语法:<ul></ul>
- 只能包含列表项<li></li>
- 属性
- type
- 作用:指定无序列表的列表项标识
- 取值:
- disc,默认,实心圆
- circle,空心圆
- square,实心矩形
- none,不显示标识
-
列表的嵌套
- 列表中允许嵌套列表以形成更为复杂的结构
- 但被嵌套的列表必须要放在 <li></li>中
-
定义列表
- 定义:定义列表往往用于要给出一类事物的定义的情形
-
标记
- 定义定义列表
- <dl></dl>
- 定义定义列表中的术语
- <dt></dt>
- 定义对属于的解释
- <dd></dd>
- 使用场合:图文混排时使用
-
结构标记
-
作用
- HTML5所提供的结构标记,专门用于表示常见的网页结构(即布局)
-
常见结构标记
-
header元素
- 作用
- 用于定义文档的页眉即页面顶部信息
- 在页面上允许出现多次,可以作为任何部分的头部定义
- 标记
- <header></header>
-
nav元素
- 作用
- 用来定义页面的导航链接部分
- 标记
- <nav></nav>
-
section元素
- 作用
- 用于定义文档中的节,也可以表示文档中的一个具体的部分即主体内容
- 标记
- <section></section>
-
article元素
- 作用
- 用于定义独立于文档的其他部分内容
- 如:论坛中的帖子,报纸的文章,博客条目或微博信息等
- 标记
- <article></article>
-
footer元素
- 作用
- 用于定义某区域的脚注信息
- 一般靠近于某区域底部或页面底部内容
- 标记
- <footer></footer>
-
aside
- 作用
- 定义页面的额外组成部分
- 一般多用于侧边栏和相关引用信息等
- 标记
- <aside></aside>
-
表单
-
表单概述
-
表单的作用
- 用于显示、收集信息,并提交信息到服务器
- 两个基本部分
- 实现数据交互的可视化界面元素(前端)昀ꗗߐĀ퇐荁
- <form></form>
- 表单控件元素
- 提交后的表单处理(服务器端)
-
表单元素(form)
- 作用
- 收集用户信息并提交给服务器
- 里面包含与用户交互的表单控件元素
- 注意:表单元素在页面是不可见的,但不能省略
- 语法
- 标记
- <form></form>
- 属性
- action
- 作用
- 定义表单被提交时发生的动作,即要提交的服务器地址
- 取值
- 服务器端的处理程序地址,如*.jsp,*.php,*.do等
- 需要与服务器端开发人员沟通
- method
- 作用
- 表单数据提交的方式
- 取值
- get
- 明文提交,提交的数据是可以显示在地址栏上的
- 安全性较低
- 大小限制为2KB
- post
- 隐式提交,所提交的数据是不显示在网页上的
- 安全性较高
- 无大小限制
- ……
- enctype
- 作用:指定表单数据的编码方式
- 取值
- application/x-www-form-urlencoded
- multipart/form-data
- text/plain
-
<input>元素
- 用户收集用户信息并提供不同的输入字段昀ꗗߐĀ灐菏
-
语法
- 标记
- <input>
- 主要属性
- type
- 根据不同的type属性值可以创建各种类型的输入字段
- text
- password
- submit
- reset
- button
- file
- hidden
- radio
- checkbox
- value
- 最终提交给服务器的值
- name
- 控件的名称,提供给服务器使用
- disabled
- 禁用控件,该属性没有值
-
表现形式
- 文本框与密码框
- 标记
- 文本框
- <input type="text">
- 密码框
- <inpuit type="password">
- 属性
- name
- 名称
- value
- 提交给服务器的值,可以是用户输入的数据
- maxlength
- 限制输入的字符数
- readonly
- 设置文本控件只读
- placeholder
- 占位符,默认显示在控件上的文本
- 单选按钮和复选框
- 标记
- 单选按钮
- <input type="radio">
- 复选框
- <input type="checkbox">
- 属性
- name
- 设置名称,并用于分组,一组单选按钮或复选框我名称必须相同
- value
- 控件的值
- checked
- 设置默认被选中
- 按钮
- 标记
- 提交按钮
- <input type="submit">
- 重置按钮
- <input type="reset">
- 普通按钮
- <input type="button">
- 属性
- name
- value
- 按钮上的文本
- 隐藏域和文件选择框
- 标记
- 隐藏域
- <input type="hidden">
- 文件选择框
- <input type="file">
- 属性
- 隐藏域
- name
- value
- 文件选择框
- name
- 注意
- 文件选择框
- form的method必须为post
- form的enctype必须为multipart/form-data昀ꗗߐĀⅰ胈
-
textarea 元素
-
标记
- <textarea></textarea>
-
属性
- name
- 名称
- cols
- 指定文本区域的列数
- rows
- 指定文本区域的行数
- readonly
- 只读
-
select 和 option 元素昀ꗗߐĀ菈
-
选项框
- 标记
- <select></select>
- 属性
- name
- 名称
- size
- 默认显示的选项数量,大于1,则为滚动列表
- multiple
- 设置多选,该属性没有值
-
选项
- 标记
- <option></option>
- 属性
- value
- 选项的值
- selected
- 预选中
-
其他元素
-
label元素
- 作用
- 关联文本与表单控件
- 关联后,点击文本如同点击表单控件
- 语法
- 标记
- <label>文本</label>
- 属性
- for
- 与该元素相联系的控件ID值
-
fieldset
- 作用
- 为控件分组
- 标记
- <fieldset></fieldset>
- <legend></legend>
-
浮动框架
- 作用
- 可以在一个浏览器窗口中同时显示多个页面文档
- 语法
- 标记
- <iframe>内容</iframe>
- 注意
- 内容 ,可以为普通的文本描述,当浏览器不支持<iframe>元素时,将显示该文本描述信息
- 属性
- src
- 浮动框架中的网页URL
- width
- 宽度
- height
- 高度
- frameborder
- 浮动框架边框
-
新表单元素
-
新的input类型
- 电子邮件:type="email"
- 搜索类型:type="search"
- URL类型:type="url"
- 电话号码类型:type="tel"
- 数字类型:type="number"昀ꗗߐĀ㿐蠓
- min
- max
- step
- 范围类型:type="range"
- min
- max
- value
- step
- 颜色类型:type="color"
- 日期类型:type="date"
- 周类型:type="week"
- 月份类型:type="month"
-
AJAXday1
-
URL
-
URL的语法
-
协议
- SCHEME:方案,指定以哪种协议从服务器获取指定资源;方案名不区分大小写。常见方案:HTTP、HTTPS、FTP、MAILTO、RTSP、FILE、NEWS、TELNET等
-
主机/端口号
- HOST:主机名,资源所在服务器的IP地址或者域名(需要DNS转换为IP地址)
- PORT:端口号,每项服务在服务器上都对应一个监听端口号
- 常见协议指定了一些默认端口号
- FTP
- 21
- 文件上传、下载
- SSH
- 22
- 安全的远程登录
- TELNET
- 23
- 远程登录
- SMTP
- 25
- 邮件传输
- DNS
- 53
- 域名解析
- HTTP
- 80
- 超文本传输
- POP3
- 110
- 邮件接收
- HTTPS
- 443
- 加密传输的HTTPS
-
用户名/密码
- USER:用户名,某些方案访问资源时需要指定用户名
- PWD:密码,默认值为e-mail地址
-
路径
- PATH:路径,服务器上资源的本地名称,由一个斜杠(/)将其与前面的URL组件分隔开来。
-
参数
- PARAMS:参数,某些方案会使用参数来指定输入参数,每个参数都采用“名/值对”形式,一个URL中可以有多个这样的“名/值对”,使用分号(;)分隔
-
查询字符串
- QUERY:查询字符串,某些方案会使用查询字符串传递参数以激活应用程序。查询字符串内容没有通用格式,使用?与其它组件分隔
-
锚点(书签)
- FRAG:片段,也称为ANCHOR(锚点)、TAG(书签),指一个资源中某一部分的名字。引用对象时,不会讲frag字段传送给服务器,该字段是在客户端内部使用的,通过#与其它部分分隔。
-
相对URL
- 绝对URL
- 包含访问资源所需全部信息
- 相对URL
- URL本身包含的信息并不完整,必须参靠另外一个URL才能确定其完整内容信息。
-
HTTP协议
-
请求(Request)消息
-
请求起始行
- 请求方法
- GET
- 表示客户端想获取服务器上的资源(img/js/html/css/video)
- 无请求主体
- 靠地址栏传递数据给服务器
- POST
- 表示客户端想传递数据给服务器
- 请求主体
- PUT
- 表示客户端想(放置文件)到服务器(禁用)
- 请求主体
- DELETE
- 表示客户端想删除服务器上的指定文件(禁用)
- HEAD
- 表示客户端只想获取指定的响应头
- CONNECT
- 测试连接
- TRACE
- 追踪请示路径
- OPTIONS
- 选项,保留以后使用
- 请求URL
- 协议版本
- HTTP/1.1
-
请求头
- Host :127.0.0.1
- 告诉服务器请求哪一个虚拟主机
- Connection:keep-alive
- 告诉服务器要持久连接
- User-Agent :
- 告诉服务器自己的类型
- Accept-Language :zh-CN
- 告诉服务器自己能接收的自然语言
- zh-CN : 简体中文
- Accept-Encoding :gzip
- 告诉服务器自己可以接收的压缩类型
- Referer:http://127.0.0.1/05-PROJECT01/01-post.html
- 告诉服务器请求来自于哪个页面
-
请求主体
- Form Data
-
响应(Response)消息
-
响应起始行
- 协议版本号
- 响应状态码
- 1xx :100-199
- 提示信息
- 2xx
- 成功响应
- 200 :OK
- 3xx
- 需要客户端进行重定向
- 301 :永久性重定向
- 302 : 临时重定向
- 304 : Not Modified
- 4xx
- 客户端请求错误
- 404 :Not Found
- 403 : Forbidden
- 405 : Method Not Allowed 请求方法不被允许
- 5xx
- 服务器运行错误
- 500 :服务器内部错误
- 501 : 没有实现
- 原因短句
- 对响应状态码的简单解释
-
响应头
- Server
- 告诉客户端服务器的信息
- Last-Modified
- 告诉客户端网页最后一次修改的时间
- Content-Encoding
- 告诉客户端内容压缩方式
- Connect
- 告诉浏览器启动持久连接
- Content-Type
- 响应主体类型,告诉浏览器,响应数据的类型是什么
- text/plain
- 纯文本
- text/html
- 文本与网页
- text/css
- 样式
- application/javascript
- js 代码片段
- application/xml
- application/json
- images/jpeg
-
响应主体
- Response
-
HTTP优化
-
HTTP性能优化
-
HTTP连接过程
- (1)建立连接
- (2)处理请求
- (3)访问资源
- (4)构建响应
- (5)发送响应
- (6)记录日志
-
HTTP连接性能优化
- (1)创建连接:努力减少连接创建次数---使用Keep-Alive避免重复连接
- (2)发送请求:尽力减少请求次数---合理设置缓存
- (3)等待响应:提高服务器端运行速度---提高数据运算及查询进度
- (4)接收响应:尽可能减少响应数据长度---启用压缩
-
安全的HTTP协议
-
HTTPS协议
- 安全版本的HTTP
-
安全连接建立过程
- (1)客户端建立到服务器上的443端口上的连接
- (2)双方初始化SSL层,沟通加密参数,交换密钥
- (3)客户端发送请求消息,在SSL层加密;服务器接收到密文,在服SSL层解密,得到请求明文,对请求进行处理
- (4)服务器发送响应消息,在SSL层加密;客户端接收到密文,在SSL层进行解密,得到响应明文,解析响应内容
- (5)SSL关闭通知
- (6)TCP连接关闭
-
AJAXday2
-
名词解释
-
同步
- 当一个任务未完成时,不能开启另一个任务
-
同步访问
- 在访问服务器时,客户端只能等待服务器的响应,不能做其他事情
-
异步
- 即便一个任务未完成,也不耽误另一个任务的执行
-
异步访问
- 在向服务器发送请求时,不耽误用户在网页上做其他的操作
-
AJAX
-
AJAX原理
-
什么是AJAX
- Asynchronous Javascript And Xml(异步的Javascript 和 XML)
- 本质:使用JS提供的 XMLHttpRequest对象异步的向服务器发送请求并接收响应数据。AJAX中,服务器响应回来的是部分的数据而不是完整的页面,并且可以以无刷新的效果来更改页面中的局部内容
-
AJAX工作原理
- Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。
-
获取AJAX对象
- new XMLHttpRequest()
- new ActiveXObject("Microsoft.XMLHttp");
-
AJAX对象属性和方法
-
异步对象的属性和方法
- abort()
- 取消请求
- getAllResponseHeaders()
- 获取响应的所有Http头
- getResponseHeader()
- 获取指定的Http头
- open()
- 创建请求
- xhr.open(method,url,isAsyn);
- method
- get
- post
- ...
- url
- isAsyn
- true : 异步
- false: 同步
- send(body)
- 发送请求
- body :请求主体
- get提交方式此处为 null
- post提交方式则为请求的数据
- setRequestHeader()
- 指定请求的Http头
- onreadystatechange
- 发生任何状态变化时的事件控制对象
- 当 xhr 的readyState 发生改变时要自动激发的操作
- xhr.onreadystatechange = function(){
if(xhr.readyState==4&&xhr.status==200){
var resText = xhr.responseText;
}
}
- readyState
- 表示 xhr 的请求状态
- 值
- 0 :请求尚未初始化
- 1 :已打开连接,正发送请求
- 2 :请求完成
- 3 :正在接收服务器的响应
- 4 :接收响应成功
- responseText
- 服务器返回的文本
- responseXML
- 服务器返回的xml,可以当做DOM处理
- status
- 服务器返回的http请求响应值常用的有:
- 200:表示请求成功
- 202:请求被接受但处理未完成
- 400:错误的请求
- 404:资源未找到
- 500:内部服务器错误
-
onreadystatechange
- 绑定一个事件处理函数,该函数用来处理readystatechange事件
- 当Ajax对象的readyState的值发生了改变,比如,从0变成了1,就会产生readystatechange事件
-
readyState
- 一共有五个值,分别是0,1,2,3,4,分别表示Ajax对象与服务器通信的状态,比如,当值为4时,表示Ajax对象已经获得了服务器返回的所有的数据
-
AJAX的使用
-
发送异步请求的步骤
- (1)获取Ajax对象:获取XMLHttpRequest对象实例
- (2)创建请求:调用XMLHttpRequest对象的open方法
- (3)设置回调函数:为Ajax对象的onreadystatechange事件设定响应函数
- (4)发送请求:调用Ajax对象的send方法
-
使用AJAX发送get请求
- (1)获取Ajax对象
- (2)创建请求-GET请求
- (3)回调事件处理函数
- (4)发送请求:调用Ajax对象的send方法
-
使用AJAX发送post请求
- xhr=getXhr();
- xhr.open('post','xx.php',true);
- xhr.onreadystatechange=handle_ajax;
- xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- xhr.send('name=value&name=value...');
-
AJAXday3
-
XML语法
-
XML概述
-
什么是XML
- XML是可扩展标记语言(eXtensible Markup Language)
- XML是一种标记语言,类似于HTML
- XML的设计宗旨是传输数据,而非现实数据
- XML的标签没有被预定义,需要自行定义
- XML是W3C的推荐标准
-
基本语法
-
XML声明
- XML声明必须为<?xml开头,以?>结束
- 声明必须从文档的0行0列位置开始
- 声明只有三个属性
- version
- 指定XML文档版本。必须属性,因为我们不会选择1.1,只会选择1.0
- encoding
- 指定当前文档的编码。可选属性,默认值是utf-8
-
XML语法
- XML都是由标签组成,但是所有的XML元素必须都有关闭标签。
- XML标签对大小写敏感,必须使用相同大小写来编写和关闭标签
- XML必须正确嵌套
- XML必须要有根元素
- XML文档必须有一个元素是其他元素的父元素
- XML的属性值必须加引号
-
元素
- XML元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
- 元素可以包含其他元素、文本等。元素可以拥有属性
-
属性
- XML元素可以在开始标签中包含属性,类似HTML
- 属性提供关于元素的额外(附加)信息,或用于修饰元素
- 属性值必须用引号引起来,单双引号均可使用
-
XML解析
-
JavaScript中的XML
- XML DOM对象
-
XML DOM对象的支持
- XML DOM定义了访问和操作XML文档的标准方法
- DOM把XML文档作为树结构来查看。能够通过DOM树来访问所有元素。
- 加载并解析XML字符串
-
AJAX返回并解析XML
- 使用XHR发送XML字符串
- 使用XHR接收XML字符串
-
JSON
-
JSON概述
-
JSON概述
- JSON:JavaScript Object Notation,javascript对象表示法
- 轻量级的文本数据交换格式
- 广泛使用于存储和交换文本数据领域,作用与XML类似,但比XML更简洁、更快、更容易解析
-
JSON语法规则
- 数据在(属性:值)中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
-
使用JSON
-
JSON对象
- JSON字符串可以描述一个对象,具体语法为
- 书写在花括号中
- 可以包含任意多个使用逗号分隔的“名称/值”对;
- “名称“必须使用双引号括起来;值若是字符串也必须使用双引号括起来。
-
JSON数组
- JSON字符串还可以描述一个数组,具体语法为:
- 书写在方括号中;
- 其中可以包含多个值或对象;
-
JSON文档与对象的转换
- JSON.parse(string)
- 解析JSON字符串得到JavaScript对象
-
Project1
- 学子商城用户模块实战-1
-
Project2
- 学子商城用户模块实战-2
-
CSS3Basic1
-
CSS概述
-
什么是CSS
- Cascading Style Sheets
- 层叠样式表,级联样式表,样式表
- 用于HTML文档中元素的样式定义
- 实现了内容与表现分离
- 提高代码的可重用性和可维护性
-
CSS与HTML之间的关系
- HTML用于构建网页的结构
- CSS用于构建HTML元素的样式
-
CSS与HTML之间的使用原则
- W3C建议尽量使用CSS样式取代HTML属性
- 如果为HTML所特有属性,则使用HTML属性
-
CSS语法
-
CSS样式表的使用方式
-
内联方式
- 将样式定义在元素的style属性里
- 语法
- <ANY style="样式声明;样式声明;">
- 样式声明
- 属性名:属性值
- 特点
- 只针对一个元素有效
- 不通用,无法提高可重用性和可维护性
- <p style="color:red;backgrond-color:yellow;"></p>
-
内部样式表
- 将样式定义在页面<style></style>中
- <head>
<style></style>
</head>
- <style></style>中允许包含若干样式规则昀ꗗߐĀ맀综
- 样式规则
- 选择器
- 规范页面中哪些元素能够使用定义好的样式
- 样式声明
- 属性:值
- 特点
- 在一个页面中能够提升可重用性和可维护性
-
外部样式表
- 允许将样式定义在外部的的样式表文件中
- 步骤
- 创建一个单独的样式表文件用来保存样式规则
- 纯文本文件,文件后缀为.css
- 该文件中只能包含样式规则
- 新式规则由选择器和样式声明组成
- 在需要使用该样式表文件的页面上,使用<link>元素链接外部样式表文件
- <link rel="stylesheet" type="text/css" href="css样式表URL">
-
CSS样式表特征
-
继承性
- 大多数CSS的样式属性是可以被继承的
-
层叠性
- 可以为一个元素定义多个样式规则
- 样式属性不冲突时,多个样式表中的样式可以层叠为一个
-
优先级
- 样式定义冲突时,会按照不同使用方式的优先级来应用样式
- 浏览器缺省设置
- 外部样式表和内部样式表
- 就近原则
- 内联样式
-
!important
- 可以显示的调整样式规则的优先级
- 语法
- 属性:值 !important;
-
CSS基础选择器
-
通用选择器
- 作用
- 用于匹配页面上的每一个元素
- 可用于页面上所有元素的元素样式定义
- 语法
- *{ }
- *{
color:#666;
font-size:12px;
}
- body{
color:#666;
font-size:12px;
}
-
元素选择器
- 作用
- 用于匹配页面上指定标记的元素
- 通常用于设定某一种元素的默认样式
- 语法
- 元素名称{ }
-
类选择器
- 作用
- 可以由任意元素的class属性进行引用的选择器
- 在CSS中,类选择器是最灵活的选择器,应用也非常广
- 语法
- 定义
- .className{}
- .是定义类选择器的语法规范,并不是类选择器的名称
- 命名规范
- 由字母,数字,下划线,-
- 不能以数字开始
- 引用
- <ANY class="className">
- 多类选择器的引用
- 允许一个元素引用多个类选择器
- <ANY class="name1 name2 name3">
- 分类选择器的定义
- 作用
- 将类选择器和元素选择器结合起来使用
- 从而实现对某种元素中不同样式的细分控制
- 语法
- 元素选择器.类选择器{}
- div.redColor{ }
- p.important{ }
-
ID选择器
- 作用
- 与页面指定ID值的元素进行匹配(私人定制)
- 语法
- #idValue{}
- #仅仅表示该选择器是ID选择器而已
-
群组选择器
- 作用
- 选择器声明有是以逗号隔开的选择器列表
- 可以将一部分样式相同的选择器放在一起定义
- 语法
- 选择器1,选择器2,选择器3{ }
- div,#main,.top{ color:red;}
-
后代选择器
- 作用
- 通过元素间的后代关系匹配元素
- 后代关系 :出现在某元素的子元素(不限制层级)
- 语法
- 选择器1 选择器2{ }
-
子代选择器
- 作用
- 通过元素的子代关系匹配元素
- 子代关系:只存在一层子级关系的子元素昀ꗗߐĀ衪
- 语法
- 选择器1>选择器2{ }
-
伪类选择器
- 作用
- 用于匹配元素不同状态的选择器
- 链接伪类
- :link
- 适用于尚未访问的链接
- :visited
- 适用于访问过的链接
- 动态伪类
- :hover
- 适用于鼠标悬停在HTML元素时
- :active
- 适用于HTML元素被激活时
- :focus
- 适用于HTML元素获取焦点时
- ……
-
选择器优先级
- 权值
- 元素选择器
- 1
- 类选择器
- 10
- 伪类选择器
- 10
- ID选择器
- 100
- 内联样式
- 1000
- 选择器的权值加到一起,大的优先;如果权值相同,后定义的优先
- #main div.top a:hover{ /*权值:*/ }
-
尺寸与边框
-
单位
-
尺寸
- %
- in
- cm
- mm
- pt
- px
- em
-
颜色(取值)
- rgb(r,g,b)
- rgba(r,g,b,a)
- a : alpha , 透明度 0-1 之间的小数
- #rrggbb
- #rgb
- 颜色的英文表示法
-
尺寸
-
尺寸
- 作用
- 用于设置元素的宽度和高度
- 单位一般为像素或百分比
- 宽度
- width
- min-width
- max-width
- 高度
- height
- min-height
- max-height
- 允许设置尺寸的元素
- 块级元素
- 行内块元素(radio,checkbox除外)
- 具备width和height属性的HTML元素
- img
- table
- 溢出
- 当使用尺寸属性限制元素的大小时,如果内容所需的空间大于元素本身的话,就会导致内容溢出
- 属性
- overflow
- visible
- hidden
- scroll
- auto
- overflow-x
- overflow-y
-
边框
-
边框
- 简写方式
- border:width style color;
- width:边框宽度
- style:边框样式
- solid
- dotted
- dashed
- color:颜色
- 可取值为 transparent
- border:none; 或 border:0;
- 单边定义
- border-方向:width style color
- 方向
- top
- right
- bottom
- left
- 单属性定义
- border-属性:值;
- 属性
- width
- style
- color
- 单边单属性定义
- border-方向-属性:值;
- 方向
- top
- right
- bottom
- left
- 属性
- width
- style
- color
- ex
- border-top-color : 上边框颜色
- border-bottom-style : 下边框样式
- border-left-color:左边框颜色
- 边框的组成
- div{
width:0px;
height:0px;
border:5px solid transparent;
border-top-color:red;
}
-
边框倒角
- 语法
- 属性
- border-radius
- 取值
- 绝对值
- 百分比
- 单独定义
- border-top-left-radius
- border-top-right-radius
- border-bottom-left-radius
- border-bottom-right-radius
-
边框阴影
- 属性
- box-shadow
- h-shadow
- 必需,为水平阴影的位置
- v-shadow
- 必需,为垂直阴影的位置
- blur
- 可选,模糊距离
- spread
- 可选,阴影的尺寸
- color
- 可选,阴影的颜色
- inset
- 将外部阴影(outset)改为内部阴影
-
边框轮廓
- 轮廓是绘制于元素周围的一条线,位于边框的外围
- 属性
- outline:width style color
- outline-width
- 轮廓的宽度
- outline-style
- 轮廓的样式
- outline-color
- 轮廓的颜色
- 取消轮廓
- outline:none; / outline:0;
-
CSS3Basic2
-
框模型
-
什么是框模型
- 页面元素皆为框
- Box Model,定义了元素框处理元素内容、内边距、外边距、边框的方式
- width 和 height 只负责定义内容区域的尺寸
- 增加了 外边距、内边距、边框,内容区域的尺寸不会发生改变,但会影响元素框的总尺寸
- 元素总宽度=左右外边距+左右边框+左右内边距+width
- 元素总高度=上下外边距+上下边框+上下内边距+height
-
外边距
-
什么是外边距
- 围绕在元素边框周围的空白区域
- 默认不能被其他元素所占据
- 外边距是透明的
-
属性
- margin
- 单位
- px
- %
- auto
- 设置非行内元素的水平对齐方式
- auto对上下外边距不起作用
- 元素要设置宽度
- 负值
- 将元素向着反方向移动
- 数量
- value
- 四个方向外边距
- v1 v2
- 上下 左右
- v1 v2 v3
- 上 左右 下
- v1 v2 v3 v4
- 上 右 下 左
- 单边设置
- margin-left
- margin-right
- margin-top
- margin-bottom
-
具备默认外边距的元素
- body
- h1~h6
- p
- ul,ol
- dl,dd
- pre
- 可以通过 CSS 重写的方式重写外边距
- p,h1,h2,h3,h4,h5,h6,body,ul,ol,dl,dd,pre{
margin:0;
}
-
外边距的特殊情况
- 外边距合并
- 两个垂直外边距相遇时,他们将合并为一个,值以大者为主
- 外边距溢出
- 特殊情况下,给子元素设置外边距的时候,效果会作用在父元素上
- 父元素无边框
- 设置给第一个(最后一个)子元素时
- 解决方案
- 父元素增加边框
- 使用父元素的上内边距来取代子元素的上外边距
- 在第一个子元素位置处增加空 table
- 行内元素以及行内块元素
- 行内
- 只左右有效,上下无效
- 行内块
- 左右正常,上下连同该行元素都会跟着改变
-
内边距
-
什么是内边距
- 内容与边框之间的距离
- 会扩大元素边框所占用的区域
-
属性
- padding
- 单位
- px
- %
- 数量
- 同上
- padding-方向:值
-
特殊效果
- 只影响到元素本身,并不会影响到其他元素
-
box-sizing
-
作用
- 重新指定框模型的计算模式
-
取值
- content-box
- 默认值
- border以及padding是在width和height基础之上额外计算的
- border-box
- 元素的padding和border会计算在width 和 height之内
-
背景
- 背景是从边框位置开始绘制
-
背景颜色
- background-color
-
背景图像
-
background-image
- url()
-
背景重复
-
background-repeat
- repeat 默认值
- no-repeat 不重复
- repeat-x 横向重复
- repeat-y 纵向重复
-
背景图片尺寸
-
background-size
- value1 value2
- value1% value2%
- cover
- 覆盖,背景图显示不完整
- containt
- 包含,背景图显示完整,覆盖不一定全面
-
背景图像固定
-
background-attachment
- scroll
- fixed : 固定
-
背景图像定位
-
background-position
- x y
- x : 水平偏移距离
- + : 右偏移
- - : 左偏移
- y:垂直偏移距离
- + :下偏移
- - : 上偏移
- x% y%
- left、center、right、top、bottom
-
综合属性
- background:color url() repeat attachment position;
-
渐变
-
什么是渐变
- 多种颜色平缓变化的一个效果
-
渐变的分类
- 线性渐变
- 径向渐变
- 重复渐变
-
语法
-
线性渐变
- background-image:linea-gradient(angle,color-point,....);
- angle
- 关键字
- to top
- to right
- to bottom
- to left
- 角度
- 0deg ~ 360deg
- color-point
- red 0px
- green 0%
- blue 50%
- background:linear-gradient(to top,#0aa1ed,#e4393c);
-
CSS3Basic3
-
文本格式化
-
字体属性
-
字体系列
font-family
- 字体1,字体2
-
字体大小
font-size
- px 或 pt 或 em
-
字体加粗
font-weight
- normal
- bold
- value
-
字体样式
font-style
- normal
- italic
-
小型大写字母
font-variant
- normal
- small-caps
-
字体属性
font
- style variant weight size family;
-
文本属性
- 文本颜色
color
-
文本排列
text-align
- left
- center
- right
- justify
- 两端对齐
-
文字修饰
text-decoration
- none
- underline
- line-through
- overline
-
行高
line-height
- 一行数据所占的高度,如果行高大于文字本身高度,那么该行文本将在行高的范围内垂直居中
- 使用场合
- 一行文本垂直居中
- 将行高与元素的高度设置为一致
- 多行文本的行间距
- 取值
- 指定数值
- 无单位的数字表示当前字体大小的倍数
- font:12px/24px "微软雅黑";
- 文字大小为12px,行高为24px,字体是微软雅黑
-
首行文本缩进
text-indent
- px
-
文本阴影
text-shadow
- h-shadow v-shadow blur color
-
表格
-
常用属性
- padding
- width,height
-
文本格式化
- 字体
- 文本
- background
- border
-
vertical-align
- top
- middle
- bottom
-
特有属性
-
边框合并
border-collapse
- 默认值:separate
- collapse
-
边框边距
border-spacing
- 前提:必须为分离边框模式
即 border-collapse:separate
- 1个值
- 水平和垂直间距相同
- 2个值
- 第一个值:水平间距
- 第二个值:垂直间距
-
标题位置
caption-side
- top
- bottom
-
显示规则
table-layout
- auto
- 自动表格布局
- 单元格大小会适应内容大小
- 复杂表格时加载速度较慢
- 适用于不确定每列大小时使用
- 传统表格体现方式
- fixed
- 固定表格布局
- 列宽度取决于table和td中设置的宽度,与内容无关
- 加速显示表格
- 算法较快,但是不灵活
-
浮动
-
定位概述
- 所谓定位指的就是元素出现在网页的位置昀ꗗߐĀ㟰薮
-
定位的分类
- 普通流定位
- 浮动定位
- 相对定位
- 绝对定位
- 固定定位
-
普通流定位
- 普通流定位,又称为文档流定位,是页面元素的默认定位方式
- 页面中的块级元素:从上到下的方式一个接一个的排列
- 页面中的行内元素:从左到右的方式一个接一个的排列
-
浮动定位
-
概述(特征)
- 将元素排除在文档流之外即脱离文档流,元素不再占据页面空间(但依然会显示),但其他未浮动元素要目前补位
- 元素只会在当前行浮动
- 浮动元素会停靠在父元素的左边或右边,或平级的其他已浮动元素的边缘上
- 浮动元素依然会在包含框内
- 浮动元素能够让多个块级元素在一行内显示
-
属性
- float
- none
- 默认值,没有任何的浮动效果
- left
- 左浮动,让该元素停靠在父元素的左边,或停靠在左侧已有的浮动元素边缘上
- right
- 右浮动,让该元素停靠在父元素的右边,或停靠在右侧已有的浮动元素边缘上
-
浮动带来的特殊效果
- 一行内,显示不下所有的已浮动元素时,最后一个将换行(有可能被卡住)
- 元素一旦浮动起来之后,那么宽度将变成自适应(宽度由内容决定)
- 元素一旦浮动起来之后,那么就将变成块级元素,尤其对行内元素,影响最大
- 文本,行内元素,行内块元素时采用环绕的方式来排列的,是不会被浮动元素压在底下的,会巧妙的避开浮动元素
-
清除浮动
- 作用
- 清除当前元素前面元素浮动所带来的影响
- 语法
- 属性
- clear
- 取值
- none
- 默认值,不做任何清除浮动的操作
- left
- 清除前面元素左浮动带来的影响
- right
- 清除前面元素右浮动带来的影响
- both
- 清除前面元素所有浮动带来的影响
-
浮动元素对父元素的影响
- 影响
- 由于浮动元素会脱离文档流,所以导致不占据页面空间,所以会对父元素高度带来一定影响。如果一个元素中包含的元素全部是浮动元素,那么该元素高度将变成0
- 解决方案
- 直接设置父元素的高度
- 设置父元素浮动
- 为父元素设置overflow属性
- hidden
- auto
- 父元素中,追加空子元素,并设置其clear属性为both
-
CSS3Basic4
-
显示
-
显示方式
-
属性:display
- none
- 让生成的元素没有框
- 脱离文档流
- block
- 块级元素
- 独占一行
- 允许修改尺寸
- 正常处理垂直外边距
- inline
- 行内
- inline-block
- 行内块
- 位置与行内元素一样
- 允许修改宽和高
- table
- 独占一行
- 尺寸以内容为准
- ... ...
-
显示效果
-
显示/隐藏
- 属性:visibility
- visible : 可见的
- hidden :隐藏的
- 面试:display:none 和 visiblity:hidden的区别
- display:none ; 脱离文档流,所以不占页面空间
- visibility:hidden;还在文档流中,所以只是隐藏了,空间还占据
-
透明度
- 属性:opacity
- 0~1之间的数字(小数)
- 数字越小 透明度越高
- opacity:0.1;若隐若现
-
垂直居中对齐
- 属性:vertical-align
- 行内块元素
- 单元格
- img
- 取值
- top
- middle
- bottom
- baseline
-
光标
-
cursor
- default
- pointer
- crosshair
- text
- wait
- help
-
列表
-
列表项标志
-
list-style-type
- none
- disc
- ... ...
-
列表项图像
-
list-style-image
- url(图像路径)
-
列表项位置
-
list-style-position
- outside
- inside
-
列表属性
-
list-style
- type url() position;
- 常用:list-style:none;
-
定位
-
定位属性
-
position
- static : 静态,默认
- relative :相对定位
- absolute :绝对定位
- fixed :固定定位
- 作用:实现元素的特殊定位方式,relative,absolute,fixed 称之为 “已定位元素”
-
偏移属性
- top属性
- 上下移动元素
- + :下移动
- - :上移动
- bottom属性
- 上下移动
- + : 上移动
- - :下移动
- left 属性
- 左右移动
- + : 右移动
- - : 左移动
- right 属性
- 左右移动
- + : 左移动
- - :右移动
-
z-index
- 堆叠顺序
-
相对定位
-
what?
- 元素框会相对于它原来的位置偏移某个距离
-
属性 & 值
- position:relative;
- 配合偏移属性实现位置移动
- 测试:对一个已定位元素实现 四个偏移属性值
-
使用场合
- 自身元素的位置微调
- 配合着 绝对定位 来使用
-
绝对定位
-
what ?
- 脱离文档流-不占据页面空间
- 会相对于最近的已定位祖先元素去实现定位
- 如果没有已定位的祖先元素,那么就相对于最初的包含块-body
-
属性 & 值
- position:absolute;
-
注意
- 绝对定位的元素 都将 变成块级元素
- margin的处理,除了 auto外,其他数值均正常显示
- #d1{
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
}
- 可以调整堆叠顺序
-
堆叠顺序
- 属性:z-index
- 取值:数字
- 注意:只有在已定位元素中才能使用
-
固定定位
-
what
- 将元素固定在页面的某个位置处
- 不会随着滚动条的滚动而发生位置的变化
- 脱离文档流,不占据页面空间
-
属性 & 值
- position:fixed
-
注意
- 脱离文档流
- 会变为块级元素
- 永远都是相对于body实现位置初始化
-
CSS3Core1
-
复杂选择器
-
兄弟选择器
-
相邻兄弟选择器
- 选择器1+选择器2
-
通用兄弟选择器
- 选择器1~选择器2
-
属性选择器
-
[attr]
- 匹配页面中具备attr属性的所有元素昀ꗗߐĀ剰潵
-
[attr1][attr2]
- 匹配页面中既有attr1属性同时也具备attr2属性的元素
-
elem[attr]
- 匹配页面中具备attr属性的elem元素
-
[attr=value]
- 匹配页面中attr属性值为value的元素
-
伪类选择器
-
目标伪类
- :target
- 匹配 活动的html 锚元素
-
结构伪类
- :first-child
- 匹配 属于其父元素中的首个子元素
- :last-child
- 匹配属于其父元素中的最后一个子元素
- :nth-child(n)
- 匹配属于其父元素中的第n个子元素
- :empty
- 匹配每个为空的元素
- :only-child
- 匹配属于其父元素中的唯一子元素
-
否定伪类
- :not(selector)
- 将满足selelctor选择器的元素排除出去
-
伪元素选择器
-
:first-letter或 ::first-letter
- 首字符
-
:first-line 或 ::first-line
- 首行
-
::selection
- 被用户选取的部分
-
内容生成
-
伪元素择器
-
:before 或 ::before
- 匹配 元素的内容区域 之前
-
:after 或 ::after
- 匹配 元素的内容区域 之后
-
属性:content
-
生成内容
- 字符串
- 图像:url()
-
解决问题
-
浮动元素
- .clear:after{
content:"";
display:block;
clear:both;
}
-
外边距的溢出
- 选择器:before{
content:"";
display:table;
}
-
弹性布局
-
弹性布局
- 指定某元素内子元素的布局方式,为布局提供最大的灵活性
-
概念
- 弹性布局的容器
- 弹性布局的项目
- 主轴(Main Axsis)
- 决定项目们排列方向的一根轴
- 交叉轴(Cross Axsis)
- 与主轴相交叉轴的一根轴
-
语法
- display
- flex
- inline-flex
-
注意
- 元素设置为flex容器后,子元素的float,clear,vertical-align属性会失效
- 元素设置为flex容器后,子元素的尺寸允许被修改
- 容器text-align也会失效
-
容器属性
-
flex-direction
- 作用
- 决定在主轴的排列方向
- 取值
- row
- 主轴为水平方向,起点在左端,默认值
- row-reverse
- 主轴为水平方向,起点在右端
- column
- 主轴为y轴,起点在上端
- column-reverse
- 主轴为y轴,起点在底端
-
flex-wrap
- 作用
- 如果一条轴线排不下,如何换行
- 取值
- nowrap
- 默认值,不换行
- wrap
- 换行,第一行在上方
- wrap-reverse
- 换行,第一行在下方
-
flex-flow
- 作用
- flex-direction 和 flex-wrap的缩写
- 取值
- direction wrap
-
justify-content
- 作用
- 定义了项目在主轴上的对齐方式
- 取值
- flex-start
- 主轴的起点对齐
- flex-end
- 主轴的终点对齐
- center
- 居中对齐
- space-between
- 两端对齐,项目之间的间隔都相等
- space-around
- 每个项目两侧的间隔相等
-
align-items
- 作用
- 定义项目在交叉轴上如何对齐(一行项目)
- 取值
- flex-start
- 在交叉轴的起点对齐
- flex-end
- 在交叉轴的终点对齐
- center
- 在交叉轴的中间对齐
- baseline
- 在项目的第一行文字的基线对齐
- stretch
- 默认值,如果项目未设置高度或auto,将站门整个容器的高度
-
项目属性
-
order
- 项目排序
- 取值:数字,数字越大越靠后
-
flex-grow
- 定义项目的放大比例,默认为0,即如果有剩余空间,也不放大
- 取值:整数数字
-
flex-shrink
- 定义项目的缩小比例,默认为1
-
align-self
- 定义项目在交叉轴上的对齐方式
- 取值
- flex-start
- flex-end
- center
- stretch
- baseline
- auto
-
CSS Hack
-
CSS类内部Hack
- + :IE7,6
- - : IE 6
- \0 : IE 8,9,10
- \9\0:IE9 ,10
-
选择器Hack
- *p{
} //IE6
-
头部引用Hack
-
<!--[if 条件 IE 版本]>
条件注释内容
<![endif]-->
- 条件
- 省略
- 判断是否为指定版本 或是否为 IE浏览器
- gt
- 判断是否大于条件版本浏览器(不包含)
- gte
- lt
- lte
- !
-
CSS3Core2
-
转换
-
介绍
- 改变元素在页面中的 位置,尺寸,角度,形状
- 2D转换 和 3D转换
-
属性
- 转换属性
- transform
- none
- transform-functions
- 多个转换函数之间用空格隔开
- 转换原点
- transform-origin
- v1 v2
- x轴 y轴
- v1 v2 v3
- x y z
- 单位
- px
- %
- 关键字
-
2D转换
-
位移
- 函数:
- translate(x)
- + : 向右
- - :向左
- translate(x,y)
- translateX(x)
- translateY(y)
- + : 向下
- - : 向上
-
缩放
- 函数
- scale(value)
- 只给一个值,相当于 x轴和y轴的缩放是相等的
- scale(x,y)
- scaleX(x);
- scaleY(y)
- 取值
- 小于1 大于 0
- 缩小
- 大于1
- 放大
- 小于0
- 水平和垂直反转
- 放大
-
旋转
- 函数
- rotate(ndeg)
- n 为正 顺时针转
- n为负 逆时针转
- 注意
- 1、转换原点可能影响转换效果
- 2、元素转换后,坐标轴一同旋转的。旋转后做位移 可能会有不同的效果
-
倾斜
- 函数
- skew(x)
- 让元素向着x轴的方向(横向)倾斜,实际改变的是y轴的倾斜角度,取值为正 逆时针
- skew(x,y)
- skewX(x)
- skewY(y)
- 让元素向着y轴的方向倾斜(纵向),实际改变的是x轴的倾斜角度,取值为正,顺时针
-
3D转换
-
属性
- perspective:value;
- 注意
- 该属性要加在3D转换元素的父元素上
-
3D旋转
- rotatex(xdeg)
- rotatey(ydeg)
- rotatez(zdeg)
- rotate3d(x,y,z,ndeg)
-
过渡
-
什么是过渡
- 使CSS属性值在一段时间内平滑过渡
- 主要观察的是过程和结果
-
属性(要素)
-
过渡属性
- transition-property
- 颜色属性
- 取值为数值
- 转换 - transform
- 渐变属性
- visibility
- 阴影
-
过渡时长
- transition-duration
- s | ms
- 1000ms = 1s
- 300ms / 0.3s / .3s
-
过渡速度时间曲线函数
- transition-timing-function
- ease
- linear
- ease-in
- ease-out
- ease-in-out
-
过渡延迟
- transition-delay
-
过渡属性(综合)
- transition:property duration timing-function delay;
-
动画
- 使得元素从一种样式逐渐变化为另一种样式(复杂的过渡)
-
动画使用步骤
-
声明动画
- 为动画起名,并且设置 关键帧
- 关键帧 :某个时间点上,元素的特殊样式
- 为元素调用动画
-
声明动画
- @keyframes 名称{
0% | from{
样式;
}
.......
100% | to{
样式;
}
}
- @-webkit-keyframes 名称{}
-
使用动画
-
animation-name
- 绑定的动画名称
-
animation-duration
- 动画一个周期的时长
-
animation-timing-function
- 速度时间曲线函数
-
animation-delay
- 延迟
-
animation-iteration-count
- 播放次数
- 具体数值
- infinite : 无限次
-
animation-direction
- 播放方向
- normal
- 正常
- reverse
- 逆向
- alternate
- 轮流播放
- animation:name duration timing-function delay iteration-count direction
-
animation-fill-mode
- 动画播放前后的填充状态
- none :默认
- forwards :动画完成后,保持在最后一个帧的状态上
- backwards:动画播放前(延迟时间内),保持在第一个帧的状态上
- both
-
animation-play-state
- paused : 暂停
- running : 播放
-
CSS优化
-
CSS优化概述
- 减轻服务器压力
- 缩短服务器响应时间
- 提高用户的体验度
-
CSS优化原则
- 尽量减少HTTP请求个数
- 页面顶部引入CSS
- 将CSS和JS放到外部文件中
-
CSS代码优化
- 合并样式
- 缩小样式文件
- 选择更优的样式属性值
- 减少样式重写
- 代码压缩
- 不要在HTML中缩放图像
- 避免空的src和href
-
Bootstrap1
-
响应式网页
-
概述
-
什么是响应式
- 智能地根据用户行为或使用设备环境进行相应的布局
-
响应式网页的构成
- 流式网格布局
- 可伸缩的图片和文字
- css3 Media Query技术
-
测试
- 使用真实物理设备测试
- 使用第三方模拟器软件测试
- 使用浏览器提供的设备模拟器测试
-
编写
- head中:<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
- 不适用绝对宽度,相对大小的字体
- 流式布局
- 图片自适应
- 选择加载css
- css的@media规则
-
Bootstrap起步
-
概述
- 移动设备优先,兼容pc端的响应式网页
-
构成
- 起步
- 全局css样式
- 组件
- jQuery插件
- 定制
-
环境搭建
-
基本模板
- 声明
- 元数据
- 样式
- 脚本
- 兼容性
-
bootstrap.css
-
css Reset
- 使用css代码改写浏览器的默认设置,保证兼容性
-
box-sizing
- 用于赊着元素的框模型的方式
- 取值
- content-box
- border-box
-
全局css样式
-
html5文件类型
- <!DOCTYPE html>
<html lang="zh-cn">...</html>
-
移动端设备优先
- <meta name="viewport" content="width=deice-width,initial-scale=1">
-
css全局样式
- background-color:#fff; @font-family-base、@font-size-base和@line-hieght-base
-
布局容器
- .container
- .container-fluid
-
按钮
-
五种颜色
- (首选项)Primary
- (成功) Success
- (一般信息)lnfo
- (警告)Warning
- (危险)Danger
-
三种尺寸
- (大按钮)Large button
- (默认尺寸)Default button
- (小按钮)Small button
-
图片
-
响应式图片
- class=“img-fluid”
-
图片形状
- rounded
- rounded-circle
- img-thumbnail
-
文本
-
对齐
- text-left、text-center、text-right、text-justify、text-nowrap
-
大小写
- text-lowercase、text-uppercase、text-capitallize
-
颜色
- text-success、text-warning、text-error、text-info、text-primary
-
Bootstrap2
-
全局css样式
-
全局css样式
-
列表
- 无序列表和有序列表
- <ul>、<ol>
- 列表样式
- .list-unstyled
- .list-inline
- .list-group
- .list-group-item
- .active
- .disabled
-
表格
- 基本表格
- .table
- 条纹状表格
- .table-striped
- 带边框表格
- .table-bordered
- 鼠标悬停
- .table-hover
- 响应式表格
- .table-reponsive
-
辅助样式
- 浮动
- .float-left
- .float-right
- .clearfix
- 显示
- .visible
- .invisible
- 背景
- bg-success/warning/error/info/primary
- 边框
- .border/border-0/border-top/border-left/……
- 居中
- .mx-auto
- 尺寸
- .w-*/h-*/m-*/p-*
-
栅格布局
-
概述
- 随屏幕或者视口(viewport)尺寸的增加,系统会自动分为最多12列,
通过一系列的行(row)与列(column)的组合来创建页面布局
-
工作原理
- .container/.container-fluid----》row----》column
- 内容放置在column中,只有列可以做row的直接子元素
-
布局
- 每行12列,通过不同的列来划分元素的占地宽度
-
弹性布局
-
d-flex/d-inline-flex 类创建弹性容器
- 响应式布局
- .d-sm/md/lg/xl-flex
- 水平方向
- .flex-row
- .flex-row-reverse
- 垂直方向
- .flex-column
- .flex-column-reverse
- 内容排列
- justify-content-*
-
表单
-
垂直表单
- <div class="form-group">
<label></label>
<input />
</div>
-
水平表单
- <form class="form-inline"><div class="form-group"></div></form>
-
单行输入框
- .form-control
-
多行文本域
- form-control
-
多选和单选框
- 内联多选和单选框
-
下拉列表
- form-control
-
组件
-
常用组件
-
下拉菜单
- 基本格式
- <div class="dropdown|dropup">
<button data-toggle="drpdown">
<ul class="dropdown-menu">
- 标题
- <li class="dropdown-header">
- 分割线
- <li class="divider"></li>
- 禁用
- <li class="disabled">
-
按钮组
- 基本按钮组
- <div class="btn-group">
- 按钮工具栏
- <div class="btn-toolbar">
- 尺寸
- .btn-group-lg|sm|xs
- 垂直排列
- <div class="btn-group-vertical">
-
警告框
- <div class="alert alert-warning"></div>
- <div class="alert alert-success"></div>
- ......
- <a href="#" class="alert-link"></a>
-
Bootstrap3
-
组件
-
常用组件
-
导航
- 选项卡
- <ul class="nav nav-tabs">
<li role="presentation" class="active">
- 胶囊式标签页
- <ul class="nav nav-pills">
- 垂直标签
- <ul class="nav nav-pills flex-column">
- 对齐方式
- <ul class="nav nav-tabs justify-content-* ">
-
导航条
- 导航条
- <div class="navbar navbar-expand-*" >
- 导航条按钮
- <button class="btn navbar-toggler " data-toggle="collapse" data-target="#id">
- 导航条项目
- <p class="nav-item">
- 非导航链接
- <a href="#" class="nav-link">
- 折叠
- .collapse 用于指定一个折叠元素,点击按钮后会在隐藏与显示之间切换
- 固定
- .fixed-top|bottom
-
卡片
- 创建卡片
- <div class="card">
- 卡片头部
- <div class="card-header">头部</div>
- 卡片内容
- <div class="card-body">内容</div>
- 卡片底部
- <div class="card-footer">底部</div>
-
媒体对象
- 结构
- <div class="media">
- 构成
- .media-body、align-self-*
-
列表组
- 用于显示多个条目
- <ul class="list-group">
<li class="list-group-item list-group-item-success">
- 定制内容
- <h4 class="list-group-item-heading">
<p class="list-group-item-text">
-
轮播
- 创建轮播 .carousel
- 为轮播添加指示符 .carousel-indicators
- 添加要切换的图片 .carousel-inner
- 指定每个图片的内容 .carousel-item
-
模态框
- <div class="modal">
- <div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<div class="modal-title">
<div class="modal-body">
<div class="modal-footer"
-
其他组件
-
徽章
- <button class="btn btn-primary" type="button">
Messages
<span class="badge">4</span>
<button>
-
巨幕
- <div class="jumbotron"><h1> Hello,world</h1></div>
-
分页
- 分页条
- <ul class="pagination">
- <li class="page-item active">...</li>
- 尺寸
- .pagination-lg
- .pagination-sm
-
面包屑导航
- <ul class="breadcrumb">
<li class="breadcrumb-item">
<a href=“#”>…</a>
</li>
</ul>
-
缩略图
- <div class="img-thumbnail">
<img src="img/1.jpg" ></div>
-
进度条
- <div class="progress">
<div class="progress-bar bg-success" style="width:40%"></div>
</div>
-
Bootstrap4
-
Bootstrap定制
-
SCSS概述
-
动态样式语言
- 动态语言为css赋予了动态语言的特性,极大提高了样式语言的可维护性
-
什么是scss
-
Scss 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 、嵌套 、混合 、导入、函数等高级功能,这些拓展令 CSS 更加强大与优雅
-
使用scss
- 服务器
- 1.安装nodejs解释器
- 2.安装scss编译程序:npm install -g node-sass
- 3.在命令行运行scss转换程序(node-sass d:/input.scss d:/output.css);或者把scss转换程序配置为Webstorm中的“文件监视器”(node-sass -w d:/input.scss d:/output.css )
-
LESS语法
-
注释
- 多行注释
- /*多行注释,会被转换到生成的.css文件中*/
- 单行注释
- // 单行注释,不会被转换到生成的.css文件中
-
变量
- 可以将需要多次使用的数据声明为一个变量,反复使用。
- ex:$jd_red:#e4393c; $thin_border:2px;
-
嵌套规则
- scss可以让我们以嵌套的方式简化样式的编写且可读性更高
- ex: #content {
div{
h1 { color: #333 }
p { margin-bottom: 1.4em }
}
a{ background-color: #EEE }
}
- 父选择器的标识符&
- div a {
color: blue;
&:hover { color: red }
}
- 属性嵌套
- nav {
border: { style: solid; width: 1px; color: #ccc; }
}
-
导入scss文件
- 使用scss的@import规则导入文件,可以省略.scss文件后缀
-
混合器
- 可以通过sass的混合器实现大段样式的重用。
- 混合器使用@mixin标识符定义
- 定义混合器
@mixin rounded-corners {
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
- 使用混合器
.notice{
background-color: green;
border: 2px solid #00aa00;
@include rounded-corners;
}
-
带参混合
- 通过参数,可以使用混合器把样式中的通用样式抽离出来,然后在其他地方重用。
-
@mixin link-colors($normal, $hover, $visited) {
color: $normal;
&:hover { color: $hover; }
&:visited { color: $visited; }
}
- 使用带参混合器
-
a { @include link-colors(blue, red, green); }
-
继承
- 继承是说一个选择器可以继承另一个选择器定义的所有样式
- . error{
border: 1px solid red;
background-color: yellow;
}
- .seriousError {
@extend .error;
border-width: 3px;
}
-
运算
- 任何数字、颜色、字符串等变量都可以进行运算
- $base:5%; @filler:$base*2;
- p { color: #010203 + #040506; }
- font-family: sans- + "serif";
-
函数
- 颜色自定义函数
- rgba(red,green,blue,alpha)
- hsl(hue,saturation,lightness);
- 数字函数
- round($value):将数值四舍五入,转换成一个最接近的整数;
- ceil($value):向上取整;
- floor($value):向下取整;
- min($numbers…):找出几个数值之间的最小值;
- max($numbers…):找出几个数值之间的最大值;
- 字符串功能
- unquote($string):删除字符串中的引号;
- quote($string):给字符串添加引号;
- To-upper-case($string):将字符串小写字母转换为大写字母
- To-lower-case($string):将字符串大写字母转换为小写字母
- 自定义函数
- Scss支持自定义函数使用关键词@function定义,需要调用 @return 输出结果。
- @function 函数名($n) {
@return 运算表达式;
}
-
控制指令
- 选择器 {
@if 条件{ …… }
}
- 选择器 {
@if $变量== 值{
……
} @else if $变量== 值{
……
} @else {
……
} }
-
boot项目3天
- 学子商城响应式布局