代码规范及html5+css3基础知识

整理之后的文档下载处:

web 基础: web 前端基础,HTML 和 CSS,JavaScrip,jQuery,Ajax,Node.js,Vue 框架icon-default.png?t=N7T8https://gitee.com/huichi-chen/web-basic.git

代码规范

1. 概述

欢迎使用品优购代码规范, 这个是我借鉴京东前端代码规范,组织的品优购内部规范。旨在增强团队开发协作、提高代码质量和打造开发基石的编码规范,

以下规范是团队基本约定的内容,必须严格遵循。

HTML规范

基于 W3C苹果开发者 等官方文档,并结合团队业务和开发过程中总结的规范约定,让页面HTML代码更具语义性。

图片规范

了解各种图片格式特性,根据特性制定图片规范,包括但不限于图片的质量约定、图片引入方式、图片合并处理等,旨在从图片层面优化页面性能。

CSS规范

统一规范团队 CSS 代码书写风格和使用 CSS 预编译语言语法风格,提供常用媒体查询语句和浏览器私有属性引用,并从业务层面统一规范常用模块的引用。

命名规范

目录图片HTML/CSS文件ClassName 的命名等层面约定规范团队的命名习惯,增强团队代码的可读性。

2. HTML 规范

DOCTYPE 声明

HTML文件必须加上 DOCTYPE 声明,并统一使用 HTML5 的文档声明:

<!DOCTYPE html>

HTML5标准模版

<!DOCTYPE html>
  <html lang="zh-CN">
  <head>
  <meta charset="UTF-8">
  <title>HTML5标准模版</title>
  </head>
  <body>
​
  </body>
</html>

页面语言lang

推荐使用属性值 cmn-Hans-CN(简体, 中国大陆),但是考虑浏览器和操作系统的兼容性,目前仍然使用 zh-CN 属性值

<html lang="zh-CN">

更多地区语言参考:

zh-SG 中文 (简体, 新加坡)   对应 cmn-Hans-SG 普通话 (简体, 新加坡)
zh-HK 中文 (繁体, 香港)     对应 cmn-Hant-HK 普通话 (繁体, 香港)
zh-MO 中文 (繁体, 澳门)     对应 cmn-Hant-MO 普通话 (繁体, 澳门)
zh-TW 中文 (繁体, 台湾)     对应 cmn-Hant-TW 普通话 (繁体, 台湾)

charset 字符集合

一般情况下统一使用 “UTF-8” 编码

<meta charset="UTF-8">

由于历史原因,有些业务可能会使用 “GBK” 编码

<meta charset="GBK">

请尽量统一写成标准的 “UTF-8”,不要写成 “utf-8” 或 “utf8” 或 “UTF8”。根据 IETF对UTF-8的定义,其编码标准的写法是 “UTF-8”;而 UTF8 或 utf8 的写法只是出现在某些编程系统中,如 .NET framework 的类 System.Text.Encoding 中的一个属性名就叫 UTF8。

书写风格

HTML代码大小写

HTML标签名、类名、标签属性和大部分属性值统一用小写

推荐:

<div class="demo"></div>

不推荐:

<div class="DEMO"></div>
    
<DIV CLASS="DEMO"></DIV>

类型属性

不需要为 CSS、JS 指定类型属性,HTML5 中默认已包含

推荐:

<link rel="stylesheet" href="" >
<script src=""></script>

不推荐:

<link rel="stylesheet" type="text/css" href="" >
<script type="text/javascript" src="" ></script>

元素属性

  • 元素属性值使用双引号语法

  • 元素属性值可以写上的都写上

推荐:

<input type="text">
<input type="radio" name="name" checked="checked" >

不推荐:

<input type=text>   
<input type='text'>
<input type="radio" name="name" checked >

特殊字符引用

文本可以和字符引用混合出现。这种方法可以用来转义在文本中不能合法出现的字符。

在 HTML 中不能使用小于号 “<” 和大于号 “>”特殊字符,浏览器会将它们作为标签解析,若要正确显示,在 HTML 源代码中使用字符实体

推荐:

<a href="#">more&gt;&gt;</a>

不推荐:

<a href="#">more>></a>

代码缩进

统一使用四个空格进行代码缩进,使得各编辑器表现一致(各编辑器有相关配置)

<div class="jdc">
    <a href="#"></a>
</div>

代码嵌套

元素嵌套规范,每个块状元素独立一行,内联元素可选

推荐:

<div>
    <h1></h1>
    <p></p>
</div>  
<p><span></span><span></span></p>

不推荐:

<div>
    <h1></h1><p></p>
</div>  
<p> 
    <span></span>
    <span></span>
</p>

段落元素与标题元素只能嵌套内联元素

推荐:

<h1><span></span></h1>
<p><span></span><span></span></p>

不推荐:

<h1><div></div></h1>
<p><div></div><div></div></p>

3. 图片规范

内容图

内容图多以商品图等照片类图片形式存在,颜色较为丰富,文件体积较大

  • 优先考虑 JPEG 格式,条件允许的话优先考虑 WebP 格式

  • 尽量不使用PNG格式,PNG8 色位太低,PNG24 压缩率低,文件体积大

  • PC平台单张的图片的大小不应大于 200KB。

背景图

背景图多为图标等颜色比较简单、文件体积不大、起修饰作用的图片

  • PNG 与 GIF 格式,优先考虑使用 PNG 格式,PNG格式允许更多的颜色并提供更好的压缩率

  • 图像颜色比较简单的,如纯色块线条图标,优先考虑使用 PNG8 格式,避免不使用 JPEG 格式

  • 图像颜色丰富而且图片文件不太大的(40KB 以下)或有半透明效果的优先考虑 PNG24 格式

  • 图像颜色丰富而且文件比较大的(40KB - 200KB)优先考虑 JPEG 格式

  • 条件允许的,优先考虑 WebP 代替 PNG 和 JPEG 格式

4. CSS规范

代码格式化

样式书写一般有两种:一种是紧凑格式 (Compact)

.jdc{ display: block;width: 50px;}

一种是展开格式(Expanded)

.jdc {
    display: block;
    width: 50px;
}

团队约定

统一使用展开格式书写样式

代码大小写

样式选择器,属性名,属性值关键字全部使用小写字母书写,属性字符串允许使用大小写。

/* 推荐 */
.jdc{
	display:block;
}
	
/* 不推荐 */
.JDC{
	DISPLAY:BLOCK;
}

选择器

  • 尽量少用通用选择器 *

  • 不使用 ID 选择器

  • 不使用无具体语义定义的标签选择器

/* 推荐 */
.jdc {}
.jdc li {}
.jdc li p{}

/* 不推荐 */
*{}
#jdc {}
.jdc div{}

代码缩进

统一使用四个空格进行代码缩进,使得各编辑器表现一致(各编辑器有相关配置)

.jdc {
    width: 100%;
    height: 100%;
}

分号

每个属性声明末尾都要加分号;

.jdc {
    width: 100%;
    height: 100%;
}

代码易读性

左括号与类名之间一个空格,冒号与属性值之间一个空格

推荐:

.jdc { 
    width: 100%; 
}

不推荐:

.jdc{ 
    width:100%;
}

逗号分隔的取值,逗号之后一个空格

推荐:

.jdc {
    box-shadow: 1px 1px 1px #333, 2px 2px 2px #ccc;
}

不推荐:

.jdc {
    box-shadow: 1px 1px 1px #333,2px 2px 2px #ccc;
}

为单个css选择器或新申明开启新行

推荐:

.jdc, 
.jdc_logo, 
.jdc_hd {
    color: #ff0;
}
.nav {
    color: #fff;
}

不推荐:

.jdc,jdc_logo,.jdc_hd {
    color: #ff0;
}.nav{
    color: #fff;
}

颜色值 rgb() rgba() hsl() hsla() rect() 中不需有空格,且取值不要带有不必要的 0

推荐:

.jdc {
    color: rgba(255,255,255,.5);
}

不推荐:

.jdc {
    color: rgba( 255, 255, 255, 0.5 );
}

属性值十六进制数值能用简写的尽量用简写

推荐:

.jdc {
    color: #fff;
}

不推荐:

.jdc {
    color: #ffffff;
}

不要为 0 指明单位

推荐:

.jdc {
    margin: 0 10px;
}

不推荐:

.jdc {
    margin: 0px 10px;
}

属性值引号

css属性值需要用到引号时,统一使用单引号

/* 推荐 */
.jdc { 
	font-family: 'Hiragino Sans GB';
}

/* 不推荐 */
.jdc { 
	font-family: "Hiragino Sans GB";
}

属性书写顺序

建议遵循以下顺序:

  1. 布局定位属性:display / position / float / clear / visibility / overflow(建议 display 第一个写,毕竟关系到模式)

    1. 自身属性:width / height / margin / padding / border / background

  2. 文本属性:color / font / text-decoration / text-align / vertical-align / white- space / break-word

  3. 其他属性(CSS3):content / cursor / border-radius / box-shadow / text-shadow / background:linear-gradient …

.jdc {
    display: block;
    position: relative;
    float: left;
    width: 100px;
    height: 100px;
    margin: 0 10px;
    padding: 20px 0;
    font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
    color: #333;
    background: rgba(0,0,0,.5);
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -o-border-radius: 10px;
    -ms-border-radius: 10px;
    border-radius: 10px;
}

mozilla官方属性顺序推荐

命名规范

由历史原因及个人习惯引起的 DOM 结构、命名不统一,导致不同成员在维护同一页面时,效率低下,迭代、维护成本极高。

目录命名

  • 项目文件夹:shoping

  • 样式文件夹:css

  • 脚本文件夹:js

  • 样式类图片文件夹:img

  • 产品类图片文件夹: upload

  • 字体类文件夹: fonts

ClassName命名

ClassName的命名应该尽量精短、明确,必须以字母开头命名,且全部字母为小写,单词之间统一使用下划线 “_” 连接

.nav_top

常用命名推荐

注意:ad、banner、gg、guanggao 等有机会和广告挂勾的不建议直接用来做ClassName,因为有些浏览器插件(Chrome的广告拦截插件等)会直接过滤这些类名,因此

<div class="ad"></div>

这种广告的英文或拼音类名不应该出现

另外,敏感不和谐字眼也不应该出现,如:

<div class="fuck"></div>
<div class="jer"></div>
<div class="sm"></div>
<div class="gcd"></div> 
<div class="ass"></div> 
<div class="KMT"></div> 
...
ClassName含义
about关于
account账户
arrow箭头图标
article文章
aside边栏
audio音频
avatar头像
bg,background背景
bar栏(工具类)
branding品牌化
crumb,breadcrumbs面包屑
btn,button按钮
caption标题,说明
category分类
chart图表
clearfix清除浮动
close关闭
col,column
comment评论
community社区
container容器
content内容
copyright版权
current当前态,选中态
default默认
description描述
details细节
disabled不可用
entry文章,博文
error错误
even偶数,常用于多行列表或表格中
fail失败(提示)
feature专题
fewer收起
field用于表单的输入区域
figure
filter筛选
first第一个,常用于列表中
footer页脚
forum论坛
gallery画廊
group模块,清除浮动
header页头
help帮助
hide隐藏
hightlight高亮
home主页
icon图标
info,information信息
last最后一个,常用于列表中
links链接
login登录
logout退出
logo标志
main主体
menu菜单
meta作者、更新时间等信息栏,一般位于标题之下
module模块
more更多(展开)
msg,message消息
nav,navigation导航
next下一页
nub小块
odd奇数,常用于多行列表或表格中
off鼠标离开
on鼠标移过
output输出
pagination分页
pop,popup弹窗
preview预览
previous上一页
primary主要
progress进度条
promotion促销
rcommd,recommendations推荐
reg,register注册
save保存
search搜索
secondary次要
section区块
selected已选
share分享
show显示
sidebar边栏,侧栏
slide幻灯片,图片切换
sort排序
sub次级的,子级的
submit提交
subscribe订阅
subtitle副标题
success成功(提示)
summary摘要
tab标签页
table表格
txt,text文本
thumbnail缩略图
time时间
tips提示
title标题
video视频
wrap容器,包,一般用于最外层
wrapper容器,包,一般用于最外层

常用模块类名命名

名称说明
快捷导航栏shortcut
头部header
标志logo
购物车shopcar
搜索search
热点词hotwords
导航nav
导航左侧dropdown 包含.dd .dt
导航右侧navitems
页面底部footer
页面底部服务模块mod_service
页面底部帮助模块mod_help
页面底部版权模块mod_copyright

网站TDK三大标签SEO优化

SEO(Search Engine Optimization) 汉译为搜索引擎优化,是一种利用搜索引擎的规则提高网站在有关搜索引擎内自然排名的方式。

SEO的目的是对网站进行深度的优化,从而帮助网站获取免费的流量,进而在搜索引擎上提升网站的排名,提高网站的知名度。

页面必须有三个标签用来符合SEO优化。

三大标签:title(标题)、description(网站说明)、keywords(关键字)

1. title网站标题

title具有不可替代性,是我们内页的第一个重要标签,是搜索引擎了解网页的入口和对网页主题归属的最佳判断点。

建议:网站名(产品名)—网站的介绍(尽量不要超过30个汉字)

  • 京东(JD.COM)-综合网购首选-正品低价、品质保障、配送及时、轻松购物!

  • 小米商城-小米5s、红米Note4、小米MIX、小米笔记本官方网站

2. description网站说明

简要说明我们网站主要是做什么的。

我们提倡,description作为网站总体业务和主题概括,多采用“我们是...."、“我们提供...”、xxx网作为...“、”电话:010....“之类语句。

例如:

<meta name="description" content="京东JD.COM-专业的综合网上购物商城,销售家电,数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!"/>

3. keywords 关键字

keywords是页面关键词,是搜索引擎的关注点之一。

keywords最好限制为6~8个关键词,关键词之间用英文逗号隔开,采用关键词1,关键词2的形式。

例如:

<meta name="Keywords" content="网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,相机,数码,配件,手表,存储卡,京东"/>

对于我们前端人员来说,我们只需要准备好这三个标签,具体里面的内容,有专门的SEO人员准备。

LOGO SEO 优化

  1. logo里面首先放一个 h1 标签,目的是为了提权,告诉搜索引擎,这个地方很重要

  2. h1里面再放一个 链接 ,可以返回首页的,把logo的背景图片给链接即可

  3. 为了搜索引擎收录我们,我们链接里面要放文字(网站名称),但是文字不要显示出来

    • 方法1:text-indent 移到盒子外面 (text-indent: -999px) ,然后 overflow: hidden; ,淘宝的做法

    • 方法2:直接给 font-size:0; 就看不到文字了,京东的做法

  4. 最后给链接一个 title 属性,这样鼠标放到logo上就可以看到提示文字了

<div class="logo">
    <h1><a href="index.html" title="品优购商城">品优购商城</a></h1>
</div>
.logo {
    position: absolute;
    top: 25px;
    width: 171px;
    height: 61px;
}
​
.logo a {
    display: block;
    width: 171px;
    height: 61px;
    background: url(../images/logo.png) no-repeat;
    /* font-size: 0; 京东的做法 */
    /* 淘宝的做法 */
    /* text-indent: -9999px;
    overflow: hidden; */
    color: transparent;
}

盒子阴影

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子阴影</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            margin: 100px auto;
            /* box-shadow: 阴影水平位置 阴影垂直位置 模糊程度 阴影大小 */
            /* box-shadow: 10px 10px 10px 10px rgba(0, 0, 0, .5) inset; */
        }
        /* 原先没有影子,当我们鼠标经过盒子就添加阴影效果 */
        
        div:hover {
            box-shadow: 10px 10px 10px 10px rgba(0, 0, 0, .5) inset;
        }
    </style>
</head>

<body>
    <div></div>
</body>

</html>

文字阴影

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文字阴影</title>
    <style>
        div {
            font-size: 30px;
            color: red;
            font-weight: 700;
            text-shadow: 5px 5px 6px rgba(0, 0, 0, .4)
        }
    </style>
</head>

<body>
    <div>
        你是阴影,我是火影
    </div>
</body>

</html>

粘性定位

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>粘性定位</title>
    <style>
        body {
            height: 3000px;
        }
        
        .nav {
            /* 粘性定位 */
            position: sticky;
            top: 0;
            width: 800px;
            height: 50px;
            background-color: pink;
            margin: 100px auto;
        }
    </style>
</head>

<body>
    <div class="nav">我是导航栏</div>
</body>

</html>

前端笔记导读

  1. HTML标签是由尖括号包围的关键字

  2. HTML标签通常是成对出现的,例如<html>和</html>,我们称为双标签。标签对中的第一个标签是开始标签,第二个标签是结束标签

  3. 有些特殊的标签必须是当标签(极少情况),列如<br />,我们称之为单标签(在下面的笔记中双标签我只写一个并且不会有尖括号,只有单标签的时候才会写尖括号)

软件开发架构

cs 客户端 服务端
bs 浏览器 服务端
ps:bs本质也是cs

浏览器窗口输入网址回车发生了几件事

  1. 浏览器朝服务端发送请求

  2. 服务端接受请求(eg:请求百度页面)

  3. 服务端返回相应的响应(eg:返回百度页面)

  4. 浏览器接收相应,根据特定的规则渲染页面然后展示给用户看

标签关系

  • 包含关系

  • 并列关系

<div>
    <p>grandpa</p>
</div>
<!-- 包含关系 -->
<p>grandpa</p>
<p>grandpa</p>
<!-- 并列关系 -->

基本结构标签总结

<!-- html最大的标签,根标签 -->
<html lang="en">
<!-- 文档的头部 -->
<head>
  <!-- 网页标题 -->
  <title></title>
</head>
<!-- 主题内容,文档的主体,以后我们的网页内容基本都是放在body里面的 -->
<body>
</body>
</html>
<!-- 文档类型的声明,作用就是告诉浏览器使用哪种HTML版本来显示网页,这个页面必须写在页面的开头,而且这个标签不是html标签,它就是文档类型的声明标签 -->
<!DOCTYPE html>
<!-- lang语言种类,en表示的是英语的意思,zn-CN定义语言为中文,但是对于文档的显示的时候定义成en的文档也可以显示中文,定义成zn-CN的文档也可以显示英文 -->
<html lang="en">
​
<head>
    <!-- charset表示的是字符集的意思可以通过修改这个来指定网页的编码格式,如果没有定义字符集的话很容易出现乱码的情况 -->
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
​
<body>
​
</body>
​
</html>

注释

如果需要在HTML文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签

HTML中的注释以"<!--"开头,以"-->"结束

在vs里面注释的快捷键为crtl+/

HTML中的特殊字符

在HTML页面中,一些特殊的符号很难或者不方便直接使用,此时我们就可以使用下面的字符来替代

特殊字符描述字符的代码
空格符&nbsp;
<小于号&lt;
>大于号&gt;
&和号&amp;
人民币&yen;
©版权&copy;
®注册商标&reg;
°摄氏度&deg;
±正负号&plusmn;
×乘号&times;
÷除号&divide;
²平方2(上标2)&sup2;
³立方3(上标3)&sup3;

HTML常用标签

标题标签

为了使网页更具有语义化,我们经常会在页面中用到标题标签。HTML提供了6个等级的网页标题,即h1到h6

标签语义:作为标题使用,并且依次重要性递减

特点

  1. 加了标题的文字会变的加粗,字号也会依次变大

  2. 一个标题独占一行

标签名语义
h1一级标题
h2二级标题
h3三级标题
h4四级标题
h5五级标题
h6六级标题

段落标签和换行标签

段落标签

在网页中,要把文字有条理显示出来,就需要将这些文字分段显示。在HTML标签中,p标签用于定义段落,它可以将整个网页分为若干个段落

特点

  1. 文本在一个段落中会根据浏览器窗口的大小自动换行

  2. 段落和段落之间保有空隙

换行标签

在HTML中,一个段落中的文字会从左到右一次排列,直到浏览器窗口的右端,然后才自动换行。如果希望其某段文本强制换行显示,就需要使用换行标签<br >

特点

  1. 只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距

标签名语义
p段落
<br \>换行

文本格式化标签

在网页中,有时需要为文字设置粗体斜体或下划线效果,这时就需要用到HTML中的文本格式化标签,使文字以特殊的方式显示

标签语义:突出重要性,比普通文字更重要,注意一般不写后面的简写,因为简写内容语义不明确

标签语义
strong或者b加粗
em或者i倾斜
del或者s删除线
ins或者u下划线

div标签和span标签

div和span是没有语义的,它们就是一个盒子,用来装内容的

特点

  1. div标签用来布局,但是现在一行只能放一个div

  2. span标签用来布局,一行上可以多个span

标签名语义
div大盒子
span小盒子

图像标签和路径

在HTML标签中,img标签用于定义html页面中的图像

src是img标签的必须属性,它用于指定图像的路径和文件名

所谓属性:简单理解就是属于这个图像标签的特性

标签语义
img图像

图像标签的属性设置

属性属性值说明
src图片路径必须属性
alt文本替换文本。图像不能显示的文字
title文本提示文本。鼠标放到图像上,显示的文字
width像素设置图像的宽度
height像素设置图像的高度
border像素设置图像的边框粗细

图像标签属性注意点

  1. 图像标签可以拥有多个属性,必须写在标签名的后面。

  2. 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开

  3. 属性采取键值对的格式,即key=“value”的格式,属性=“属性值”

  4. 图像属性的src是必须写的

  5. alt和title来说alt是在图片无法显示的时候出现的文字描述,而title是在图片能显示的时候鼠标放到图像之后才显示的文字

  • 目标文件夹

    就是普通文件夹,里面只不过存放了我们做页面所需要的相关素材,比如html文件、图片等

  • 根目录

    打开目录文件夹的第一层就是根目录

路径

  1. 相对路径

    以引用文件所在位置为参考基础,而建立出的目录路径(图片相对于html页面的位置)

相对路径分类符号说明
同一级路径图像文件位于HTML文件同一级 如<img src="baidu.gig" />
下一级路径/图像文件位于HTML文件下一级 如<img src="images/baidu.gif" />
上一级路径../图像文件位于HTML文件上一级 如<img src="../baidu.gif" />

注意:

相对路径是从代码所在的这个文件出发,去寻找目标文件的,而我们这里所说的上一级、下一级和同一级就是图片相对于HTML页面的位置

  1. 绝对路径

    是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径

超链接标签

在HTML标签中,a标签用于定义超链接,作用是从一个页面链接到另一个页面

  1. 链接的语法格式

  2. 链接的分类

标签语义
a超链接

链接的语法格式

属性作用
href用于指定链接目标的url地址,(必须属性)当为标签应用href属性时,它就具有了超链接的功能
target用于指定链接页面的打开方式,其实_self为默认值,_blank为在新窗口中打开方式

链接分为几大类

外部链接

<a src="http://www.4399.com">4399</a>

内部链接:网站内部网页之间的相互链接,直接链接内部页面名称即可

<a src="index.html">首页</a>

空链接:如果当时没有确定链接目标时,<a href="#">首页</a>

<a src="#">首页</a>
<!-- 注意空链接不会跳转任何页面 -->

下载链接:地址链接的是文件.exe或者是zip等压缩包形式

<a src="img.zip">下载文件</a>

网页元素链接:在网页中的各种网页元素,如文本、图像、表格、音频、视频等都可以添加超链接

<a href="http://www.baidu.com"><img src="img.jpg" /></a><!-- 这个时候是通过图片来进入链接 -->

锚点链接:点我们点击链接,可以快速定位到页面中的某个位置

  • 在链接文本的href属性中,设置属性值为#名字的形式,如<a href="#two">第二集</a>

  • 找到目标位置标签,里面添加一个id属性=刚才的名字,如<h3 id="two">第二集介绍</h3>

<!--- 在点击锚点链接的时候会直接跳转套对应的id位置 ---><!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <style>        div {            height: 1000px;        }    </style></head><body>    <a href="#two">第二集</a>    <div></div>    <h3 id="two">第二集介绍</h3></body></html>

表格标签

作用:

表格主要用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。

总结:

表格不是用来布局页面的,而是用来展示数据的

表格

标签语义作用
table表格用于定义表格的标签
thead头部用于将写表格的头部区域,添加代码的可读性,在使用的 时候tr是在这个标签里面的
tbody主体用于将写表格的主体区域,添加代码的可读性,在使用的 时候tr是在这个标签里面的
tr一行标签用于定义表格中的行,必须嵌套在table标签中
th表头单元格用于书写表格中的表头,通常放在第一行tr中,常用于表 格第一行,突出重要性,表头单元格里面的蚊子会加粗居中显示
td数据单元格用于书写表格中的数据,必须嵌套在tr标签中这个标签里 面是表格中书写表格数据的

表格属性

属性名属性值描述
alignleft、center、right规定表格相对周围元素的对齐方式
border1或""规定表格单元是否拥有边框,默认为"",表示没有边框
cellpadding像素值规定单元边沿与其内容之间的空白,默认为1像素
cellspacing像素值规定单元格之间的空白,默认2像素
width像素或百分比规定表格的宽度

单元格属性

属性名属性值描述
rowspan个数跨行合并,根据属性值指定的个数向右合并指定的单元格数量
colspan个数跨列合并,根据属性值指定的个数向下合并指定的单元格数量

案例:

 <table border="1" cellpadding="0" cellspacing="0" align="center">        <thead>            <tr>                <th>名字</th>                <th>年龄</th>                <th>性别</th>                <th>国家</th>            </tr>        </thead>        <tbody>            <tr>                <td>小明</td>                <td>18</td>                <td>男</td>                <td rowspan="2">中国</td>            </tr>            <tr>                <td>小红</td>                <td>17</td>                <td>女</td>            </tr>            <tr>                <td>小方</td>                <td colspan="3">保密</td>            </tr>        </tbody></table>

列表标签

作用:

表格是用来显示数据的,那么列表就是用来布局的

列表最大的特点就是整齐、整洁、有序,它作为布局会更加的自由方便

根据使用情景不同,列表可以分为三大类:无序列表、有序列表和自定义列表

无序列表

ul标签显示html页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用li标签定义

标签语义作用
ul无序列表用于定义有序列表的标签
li单元格用于填写数据,必须放在ul标签中

注意:

  1. 无须列表的各个列表项之间没有顺序级别之分,是并列的

  2. ul中只能嵌套li,直接在ul标签中输入其他标签或者文字的做法是不被允许的

  3. li相当于一个容器,可以容纳所有元素

  4. 无序列表会带有自己的样式数据,但在实际使用中时,我们会使用CSS来设置

有序列表

有序列表即为有排列顺序 的列表,其各个列表项会按照一定的顺序排列定义

在HTML标签中,ol标签用于定义有序列表,列表排序以数字来显示,并且使用li标签来定义列表项

标签语义作用
ol有序列表用于定义有序列表的标签
li单元格用于填写数据,必须放在ol标签中

注意和无序列表一样

自定义列表

在HTML标签中,dl标签用于定义描述列表(或定义列表),该标签会与dt(定义项目/名字)和dd(描述每一个项目/名字)一起使用

注意:

  1. dl里面只能包含dt和dd

  2. dt和dd个数没有限制,经常是一个dt对应多个dd

标签语义作用
dl自定义列表用于定义自定义序列表的标签
dt单元格用于填写无缩进数据,必须放在dl标签中
dd单元格用于填写有缩进数据,必须放在dl标签中
<dl>    <dt>小明</dt>    <dd>个人介绍。。。</dd>    <dd>个人名言。。。</dd>    <dt>小红</dt>    <dd>个人介绍</dd>    <dd>个人名言</dd></dl>

表单标签

使用表单目的是为了收集用户信息

在我们的网页中,我们也需要跟用户进行交互,收集用户资料,此时就需要表单

表单的组成

在HTML中,一个完整的表单通常由表单域、表单控件(也称为表单元素)和提示信息3个部分构成

表单域

表单域是一个包含表单元素的区域

在HTML标签中,form标签用于定义表单域,以实现用户信息的收集和传递

form会把它范围内的表单元素信息提交给服务器

标签语义作用
form表单定义表单域

表单的属性

属性属性值作用
actionurl地址用于指定接收并处理表单数据的服务器程序的url地址
methodget/post用于设置表单数据的提交方式,其取值为get或post
name名称用于指定表单的名称,以区分同一个页面中的多个表单域

input表单元素

在表单域中可以定义各种表单元素,这些表单元素就是运行用户在表单中输入或者选择的内容控件

input表单元素

表单元素<input />标签常用于收集用户信息

标签语义作用
<input />输入框用来在表单中填写信息

input表单元素的属性

属性属性值描述
type在下面用来选择input输入框输入的数据类型
name由用户自定义定义input元素的名称
value由用户自定义规定input元素的默认值
checkedchecked规定此input元素首次加载时应该被选中
maxlength正整数规定输入字段中的字符的最大长度
placeholder由用户自定义规定在输入框中为空的时候出现的提示性文本

type属性值和描述

属性值描述
button定义可点击按钮(多数情况下,用于通过JavaScript启动脚本)
checkbox定义复选框
file定义输入字段和"浏览"按钮,提供文件上传
hidden定义隐藏的输入字段
image定义图像形式的提交按钮
password定义密码字段,该字段中的字符被掩码
radio定义单选按钮
reset定义重置按钮,重置按钮会清楚表单中的所有数据
submit定义提交按钮,提交按钮会把表单数据发送到服务端
text定义单行的输入字段,用户可在其中输入文本,默认宽度为20个字符

label标签

label标签为input定义标注标签

label标签用于绑定一个表单元素,当点击label标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验

注意:label标签的for属性应当与相关元素的id属性相同

标签语义
label选中标签

label属性

属性属性值描述
for由用户自定义用来对对应的元素进行匹配

案例:

<label for="sex">    <div style="width:200px;height:200px;background:red;">        <p>            你今天必死        </p>    </div></label><input type="text" name="sex" id="sex" />

注意:

  1. label标签是可以使用其他标签的,并且效果是没有变化的

select表单元素

在页面中国,如果有多个选项让用户选择,并且想要节约页面空间时,我们可以使用select标签控件定义下拉列表

标签语义作用
select下拉表定义一个下拉框用来提供用户选择的
option选项书写给用户选择的数据

注意:

  1. select中至少包含一对option

  2. 在option中定义selected="selected"时,当前项即为默认选中项

textarea表单元素

当用户输入内容较多的情况下,我们就不能使用文本框表单了,此时我们可以使用textarea标签

在表单元素中,textarea标签是用于定义多行文本输入的控件

使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论

标签语义描述
textarea文本域当文本内容比较多的情况下使用这个标签

textarea属性

属性属性值描述
cols由用户自定义用来显示每行中的字符数
rows由用户自定义用来显示行数

注意:

  1. 我们一般都是使用css来改变textarea每行显示的字符串和数据的行数

css

HTML和css 的作用:

  1. HTML主要做结构,显示网页元素内容

  2. CSS美化HTML,布局网页

  3. css最大价值:由HTML专注去做结构呈现,样式交给CSS,即结构(HTML)与样式(CSS)相分离

传统网页布局的三种方式

网页布局的本质——用CSS来摆放盒子。把盒子摆放到相应位置CSS提供了三种传统布局方式(简单说,就是盒子如何进行排列顺序)∶

  • 普通流(标准流)

  • 浮动

  • 定位

注意:实际开发中,一个页面基本都包含了率三种布局方式(后面移动端学习新的布局方式)。

标准流(普通流/文档流)

所谓的标准流:就是标签按照规定好默认方式排列.

  1. 块级元素会独占一行,从上向下顺字排列。

  • 常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table

  1. 行内元素会按照顺序,从左到右顺字排列,碰到父元素边缘则自动换行。

  • 常用元素: span、a、i、em等

css选择器

选择器(选择符)就是根据不同需求把不同的标签选出来这就是选择器的作用。简单来说,就是选择标签用的

小结

  1. 找到所有的对应标签

  2. 设置这些标签的样式

选择器分为基础选择器和复合选择器两个大类,我们这里先讲解一下基础选择器

  • 基础选择器是由单个选择器组成的

  • 基础选择器又包括:标签选择器、类选择器、id选择器和通配符选择器

标签选择器

标签选择器(元素选择器)是指HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式

格式作用
标签名修改这个文件中所有这个标签名的样式

作用

标签选择器可以把某一类标签全部选择出来,比如所有的div标签和所有的span标签

优点

能快速为页面中同类型的标签统一设置样式

缺点

不能设计差异化样式,只能选择全部的当前标签

<head>    <style>        div {            width: 100px;            height: 100px;        }    </style></head><body>    <div></div>    <div></div></body>

类选择器

如果想要差异化选择不同的标签,单独选一个或者几个标签,可以使用类选择器

注意

结构里需要用class属性来调用class类的意思

格式/属性属性值描述
.类名用来改变一个或多个指定类名的样式
class由用户自定义给你一个或多个标签添加类,这些类的类名可以重复使用

注意:

  1. 类选择器使用"."(英文点号)进行标识,后面紧跟类名

  2. 可以理解为给这个标签起了一个名字来表示

  3. 长名称或词组可以使用中横线来为选择器命名

  4. 不要使用纯数字、中文等命名,尽量使用英文字母来表示

<head>    <style>        .one {            width: 100px;            height: 100px;            background:red;        }        .two{            width: 100px;            height: 100px;            background:blue;        }    </style></head><body>    <div class="one"></div>    <div class="one"></div>    <div class="two"></div></body>

多类名

我们可以给一个标签指定多个类名,从而达到更多的选择目的。这些类名都可以选出这个标签,简单理解就是一个标签有多个名字

注意

  1. 在标签class属性中书写多个类名的时候不同类名中间必须用空格分开

  2. 这个标签可以分别具有这些类名的形式

  3. 当使用多个类的时候如果两个类设置了同一个属性,后面的类会覆盖前面的类,也就是说最后面的类会生效

<head>    <style>        .one {            width: 100px;            height: 100px;            background:red;        }        .two{            width: 200px;            background:blue;        }    </style></head><body>    <div class="one two"></div></body>

id选择器

id选择器可以为标有特定id的HTML元素指定特定的样式

HTML元素以id属性来设置id选择器,CSS中id选择器以"#"来定义

格式/属性属性值描述
#id名用来改变一个指定id名的样式
id由用户自定义给标签添加一个id来调用对应id的样式

注意:

  1. id在页面中时唯一的如果出现多个只有第一个会生效

通配符选择器

在css中,通配符选择器使用"*"定义,它表示选取页面中所有元素(标签)

  • 通配符选择器不需要调用,自动就给所有的元素使用样式

  • 特殊情况才使用

总结:

基础选择器作用特点使用情况用法
标签选择器可以选出所有相同的标签,比如p不能差异化选择较多p{color: red;}
类选择器可以选出1个或者多个标签可以根据需求选择非常多.head{color: red;}
id选择器一次只能选择1个标签ID属性只能在每个HTML文档中出现一次一般和js搭配#head{dolor: red;}
通配符选择器选择所有的标签选择的太多,有部分不需要特殊情况使用*{color: red;}

css字体属性

css Fonts(字体)属性用于定义字体系列、大小、粗细、和字体样式(如斜体)

css使用font-family属性定义文本的字体系列

属性属性值表示
font-family系统指定(如:微软雅黑/Microsoft Yahei)字体类型
font-size像素(谷歌浏览器默认为16像素)字体字号
font-weight数字或者系统指定字体粗细
font-style系统指定字体样式
fontfont: font-style font-weight font-size/line-height font-family;字体连写

font-weight属性值介绍

属性值作用
normal默认值(不加粗)
bold定义粗体(加粗的)
100-900400等同于normal,而700等同于blod 注意这个数字后面不跟单位

fontsize属性值介绍:

属性值作用
normal默认值,浏览器会显示标准的字体样式
italic浏览器会显示斜体的字体样式

注意:

  1. font-family

    • 各种字体之间必须使用英文状态下的逗号隔开

    • 一般情况下,如果有空格隔开的多个单词组成的字体或者为中文字体,加引号

    • 尽量使用系统默认自带字体,保证在任何用户的浏览器中都能正确显示

    • 最常见的几个字体:'Microsoft Yahei,tahoma,arial,'Hiragino Sans GB'

    • 案例:

    *{    font-family:'Microsoft Yahei',Arial,'宋体';}
  2. font-size

    • 不同浏览器可能默认显示的字号大小不一致,我们尽量给一个明确值大小,不要默认大小

font复合属性写法

字体属性可以把以上文字样式综合来写,这样可以更节约代码

body{    font: font-style font-weight font-size/line-height font-family;}
<head>    <style>        .one {            font: italic 700 16px/1px '宋体','微软雅黑';        }    </style></head><body>    <div class="one">沙发沙发上</div></body>

注意:

  • 使用font属性时,必须按上面语法格式张工的顺序书写,不能更换顺序,并且各个属性间以空格隔开

  • 不需要设置的属性可以省略(取默认值),但必须保留font-size和font-family属性,否则属性将不起作用

css文本属性

属性表示注意点
color文本颜色我们通常用十六进制表示,#ffffff,而且支持简介,#fff
text-align文本对齐可以设定文字水平的对齐方式
text-indent文本缩进通常我们用于段落首行缩进2个字的距离 text-indent:2em'
text-decoration文本修饰添加下划线underline取消下划线none
line-height行高控制行与行之间的距离

文本颜色

color属性用于定义文本的颜色

属性值

表示属性值
预定义的颜色red,green,blue,black,pink颜色等等
十六进制#FF0000(简写为#F00),#FF6600(简写为#F60),#29D794
RGB代码rgb(255,0,0)或者rgb(100%,0%,0%)
RGBA代码rgba(255,0,0,.1)或者rgba(255,255,255,0.3),后面的a表示的 是颜色的透明度

对齐文本

text-align属性用于设置元素内文本内容的水平对齐方式

属性值

属性值解释
left左对齐(默认值)
right右对齐
center居中对齐

文本装饰器

text-decoration属性规定添加报文本的修饰,可以给文本添加下划线、删除线、上划线。

属性值描述
none默认,没有装饰线(最常用)
underline下划线,链接a标签自带下划线(常用)
overline上划线(几乎不用)
line-through删除线(不常用)

文本缩进

text-indent属性用来指定文本的第一行的缩进,通常是加段落的首行缩进

通过设置该属性,所有元素的第一行都可以首行缩进一个给定的长度,甚至该长度可以是负值

em是一个相对单位,就是当前元素(font-size)1个文字的大小,如果当前元素没有设置大小,则会按照父元素的一个文字大小进行缩进

行间距

line-height属性用于设置行间的距离(行高)。可以控制文字行与行之间的距离

解释:一个文本框分为三部分,第一部分为框框到文字的空白部分那么这个部分叫做上间距,文字占用的空间叫做文本高度,文字下面的到下面的框框叫做下间距,而这个属性添加的就是上间距和下间距的大小,值为正添加上间距,值为负添加下间距

css引入方式

样式表优点缺点使用情况控制范围
行内样式表书写方便,权重高结构样式混写较少控制一个标签
内部样式表部分结构和样式相分离没有彻底分离较多控制一个页面
外部样式表完成实现结构和样式相分离需要引入最多控制多个页面

内部样式表

内部样式表(内嵌样式表)是写到HTML页面内部,是将所有的css代码抽取出来,单独放到一个style标签中

<head>    <style>        .one {            font: italic 700 16px/1px '宋体','微软雅黑';        }    </style></head><body>    <div class="one">沙发沙发上</div></body>
  • style标签理论上可以放在HTML文档的任何地方,但一般会放在文档的head标签中

  • 通过此种,可以方便控制当前整个页面中的元素样式设置

行内样式表

行内样式表(内联样式表)是在元素标签内部的style属性中设置CSS样式。适合于修改简单样式

<div style="color:red;width:100px;height:20px;background-color:blue;font-size:16px;">    风水轮流转</div>
  • style其实就是标签的属性

  • 在双引号中间,写法要符合CSS规范

  • 可以控制当前的标签设置样式

  • 由于书写繁琐,并且没有体现出结构与样式相分离的思想,所以不推荐大量使用,只有对当前元素添加简单样式的时候,可以考虑使用

外部样式表

实际开发都是外部样式表,适合于样式比较多的情况,核心是:样式单独写到css文件中,之后把css文件导入到HTML页面中使用

标签描述
<link >用来导入外部css的

link标签的属性

属性作用
rel定义当前文档与被链接文档之间的关系,在这里需要指定为”stylesheet“,表示被链接的文档是一个样式表文件
href定义所链接外部样式表文件的URL,可以是相对路径,也可以是绝对路径

引入外部样式表分为两步:

  1. 新建一个后缀名为.css的样式文件,把所有css代码都放入此文件中

  2. 在HTML页面中,使用link标签引入这个文件

注意:

  • 使用外部样式表设定css,通常也被称为外链式或链接式引入,这种方式是开发中常用的方式

复合选择器

在CSS中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。

  • 复合选择器可以更准确、更高效的选择目标元素(标签)

  • 复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的

  • 常用的复合选择器包括︰后代选择器、子选择器、并集选择器、伪类选择器等等

后代选择器

后代选择器又称为包含选择器,可以选择父元素里面子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。 语法︰

元素1元素2{样式声明}

上述语法表示选择元素1里面的所有元素2(后代元素)。例如∶

ul li {样式声明}/*选择ul里面所有的li标签元素*/
  • 元素1和元素2中间用空格隔开

  • 元素1是父级,元素2是子级,最终选择的是元素2

  • 元素2可以是儿子,也可以是孙了等,只要是元素1的后代即可

  • 元素1和元素2可以是任意基础选择器

子代选择器

子元素选择器(子选择器)只能选择作为某元素的最近一级子元素。简单理解就是选亲儿子元素.

语法︰

元素1>元素2{样式声明}

上述语法表示选择元素1里面的所有直接后代(子元素)元素2。例如∶

div > p{样式声明}/*选择div 里面所有最近一级p标签元素*/
  • 元素1和元素2中间用大于号隔开

  • 元元素1是父级,元素2是子级,最终选择的是元素2

  • 元素2必须是亲儿子,其孙子、重孙之类都不归他管.你也可以叫他亲儿子选择器

并集选择器

并集选择器可以选择多组标签,同时为他们定义相同的样式。通常用于集体声明.

并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分。

语法:

元素1,元素2{ 样式声明}

上述语法表示选择元素1和元素2。

例如︰

ul, div{样式声明}/*选择ul和div标签元素*/
  • 元素1和元素2中间用逗号隔开

  • 逗号可以理解为和的意思

  • 并集选择器通常用于集体声明

伪类选择器

伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素。

伪类选择器书写最大的特点是用冒号(:)表示,比如:hover . :first-child 。

因为伪类选择器很多,比如有链接伪类、结构伪类等,所以这里先给大家讲解常用的链接伪类选择器。

选择器作用特征使用情况隔开符号及用法
后代选择器用来选择后代元素可以是子孙后代较多符号是空格.nav a
子代选择器选择最近—级元素只选亲儿子较少符号是大于.nav>p
并集选择器选择某些相同样式的元素可以用于集体声明较多符号是逗号.nav,.header
链接伪类选择器选择不同状态的链接跟链接相关较多重点记住a{}和a:hover 实际开发的写法
:focus选择器选择获得光标的表单跟表单相关较多input:focus记住这个写法

链接伪类选择器

a : link        /* 选择所有未被访问的链接*/
a : visited     /*选择所有已被访问的链接*/
a : hover       /* 选择鼠标指针位于其上的链接*/
a : active      /* 选择活动链接(鼠标按下未弹起的链接)*/

链接伪类选择器实际开发中的写法.链接伪类选择器注意事项

  1. 为了确保生效,请按HLVHA的循顺序声明:link - :visited - :hover - :active。

  2. 因为a链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式。

链接伪类选择器实际工作开发中的写法︰

/* a是标签选择器所有的链接*/
a {
color: gray;
}
/* :hover是链接伪类选择器鼠标经过*/
a:hover {
color: red;/*鼠标经过的时候,由原来的灰色变成了红色*/
}

focus伪类选择器

:focus 伪类选择器用于选取获得焦点的表单元素。

焦点就是光标,一般情况input类表单元素才能获取,因此这个选择器也主要针对于表单元素来说。

input:focus {
background-color: yellow ;
}

css显示模式

作用:网页的标签非常多,在不同地方会用到不同类型的标签,了解他们的特点可以更好的布局我们的网页。

元素显示模式就是元素(标签)以什么方式进行显示,比如div自己占一行,比如一行可以放多个span。

HTML元素一般分为块元素和行内元素两种类型。

元素模式元素排列设置样式默认宽度包含
块级元素一行只能放一个块级可以设置宽度高度容器的100%容器级可以包含任何标签
行内元素一行可以放多个行内元素不可以直接设置宽度高度它本身内容的宽度容纳文本或则其他行内元素
行内块元素一行放多个行内块元素可以设置宽度和高度它本身内容的宽度

块元素

常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>标签是最典型的块元素。

块级元素的特点︰

  • 比较霸道,自己独占一行。

  • 高度,宽度、外边距以及内边距都可以控制。

  • 宽度默认是容器(父级宽度)的100%。

  • 是一个容器及盒子,里面可以放行内或者块级元素。

注意:

  • 文字类的元素内不能使用块级元素

  • p标签主要用于存放文字,因此p里面不能放块级元素,特别是不能放div

  • 同理,h1~h6等都是文字类块级标签,里面也不能放其他块级元素

行内元素

常见的行内元素有a、strong、b、em、i、del、s、ins、u、span等,其中span标签是最典型的行内元素。有的地方也将行内元素称为内联元素。

行内元素的特点︰

  • 相邻行内元素在一行上,一行可以显示多个。

  • 高、宽直接设置是无效的。

  • 默认宽度就是它本身内容的宽度。

  • 行内元素只能容纳文本或其他行内元素。

注意:

  • 链接里面不能再放链接

  • 特殊情况链接a里面可以放块级元素,但是给a转换一下块级模式最安全

行内块元素

在行内元素中有几个特殊的标签——img、input 、td,它们同时具有块元素和行内元素的特点。有些资料称它们为行内块元素。

行内块元素的特点:

  • 和相邻行内元素(行内块)在一行上,但是他们之间会有空白缝隙。一行可以显示多个(行内元素特点)。

  • 默认宽度就是它本身内容的宽度(行内元素特点)。

  • 高度,行高、外边距以及内边距都可以控制(块级元素特点)。

元素显示模式转换

特殊情况下,我们需要元素模式的转换,简单理解:一个模式的元素需要另外一种模式的特性比如想要增加链接a的触发范围。

  • 转换为块元素:display:block;

  • 转换为行内元素:display.inline;

  • 转换为行内块:display: inline-block;

css背景

通过CSS背景属性,可以给页面元素添加背景样式。

背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。

属性作用
background-color背景颜色预定义的颜色值/十六进制/RGB代码
background-image背景图片url(图片路径)
background-repeat是否平铺repeat/no-repeat/repeat-x/repeat-y
background-position背景位置length/position分别是x和y坐标
background-attachment背景附着scroll(背景滚动)/fixed(背景固定)
背景简写书写更简单背景颜色 背景图片地址 背景平铺 背景滚动 背景位置;
背景色半透明背景颜色半透明background: rgba(0,0,0,0.3); 后面必须是4个值

背景颜色

background-color属性定义了元素的背景颜色。

background-color:颜色值;

一般情况下元素背景颜色默认值是transparent(透明),我们也可以手动指定背景颜色为透明色

背景图片

background-image属性描述了元素的背景图像。实际开发常见于logo或者一些装饰性的小图片或者是超大的背景图片,优点是非常便于控制位置.(精灵图也是一种运用场景)

background-image:none | url (url)
参数值作用
none无背景图(默认的)
url使用绝对或相对地址指定背景图像

背景平铺

如果需要在HTML页面上对背景图像进行平铺,可以使用background-repeat属性。

background-repeat: repeat | no-repeat | repeat-x | repeat-y
参数值作用
repeat背景图像在纵向和横向上平铺(默认的)
no-repeat背景图像不平铺
repeat-x背景图像在横向上平铺
repeat-y背景图像在纵向平铺

背景图片位置

利用background-position属性可以改变图片在背景中的位置。

background-position: x y;

参数代表的意思是:x坐标和y坐标。可以使用方位名词或者精确单位

参数值说明
length百分数|由浮点数字和单位标识符组成的长度值
positiontop | center | bottom | left | center | right 方位名词
  1. 参数是方位名词

  • 如果指定的两个值都是方位名词,则两个值前后顺序无关,比如left top和top left效果一致

  • 如果只指定了一个方位名词,另一个值省略,则第二个值默认居中对齐

  1. 参数是精确单位

  • 如果参数值是精确坐标,那么第一个肯定是×坐标,第二个一定是y坐标

  • 如果只指定一个数值,那该数值一定是x坐标,另一个默认垂直居中

  1. 参数是混合单位

  • 如果指定的两个值是精确单位和方位名词混合使用,则第一个值是×坐标,第二个值是y坐标

背景图像图像(背景附着)

background-attachment属性设置背景图像是否固定或者随着页面的其余部分滚动。

background-attachment后期可以制作视差滚动的效果。

    background-attachment:scroll | fixed
参数作用
scroll背景图像是随对象内容滚动
fixed背景图像固定

背景复合写法

为了简化背景属性的代码,我们可以将这些属性合并简写在同一个属性background中。从而节约代码量.当使用简写属性时,没有特定的书写顺序,一般习惯约定顺

序为:

background:背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置;

background: transparent url(image.jpg) repeat-y fixed top ;

这是实际开发中,我们更提倡的写法。

背景色线性渐变

语法1:

background: linear-gradient(起始方向,颜色1,颜色2,...)
background: -webkit-linear-gradient(left,red,blue)
background: -webkit-linear-gradient(left top,red,blue)

背景渐变必须添加浏览器私有前缀

起始方向可以是:方位名词 或者 度数, 如果省略默认就是top

css三大特性

层叠性

相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突的问题

层叠性原则:

  • 样式冲突,遵循的原则是就近原则,哪个样式离结构近,就执行哪个样式

  • 样式不冲突,不会层叠

继承性

现实中的继承:我们继承了父亲的姓

CSS中的继承:子标签会继承父标签的某些样式,如文本颜色和字号。简单的理解就是︰子承父业。

  • 恰当地使用继承可以简化代码,降低CSS样式的复杂性

  • 子元素可以继承父元素的样式( text-, font-,line-这些元素开头的可以继承,以及color属性)

行高的继承

body {
    font:12px/1.5 Microsoft YaHei;
}
  • 行高可以跟单位也可以不跟单位

  • 如果子元素没有设置行高,则会继承父元素的行高为1.5

  • 此时子元素的行高是:当前子元素的文字大小* 1.5

  • body行高1.5这样写法最大的优势就是里面子元素可以根据自己文字大小自动调整行高

优先级

当同一个元素指定多个选择器,就会有优先级的产生。

  • 选择器相同,则执行层叠性

  • 选择器不同,则根据选择器权重执行

选择器权重如下表所示。

选择器选择器权重
继承或者*0,0,0,0
元素选择器0,0,0,1
类选择器,伪类选择器0,0,1,0
ID选择器0,1,0,0
行内样式style=""1,0,0,0
!important重要的=无穷大
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            color: #0f0!important;
            background-color: black;
            height: 100px!important;
        }
        
        .one {
            width: 120px;
            height: 100px;
            color: #f00;
            background-color: black;
            text-align: center;
            line-height: 100px;
        }
    </style>
</head>
​
<body>
    <div class="one">我真的是无语了</div>
</body>

优先级注意点:

  1. 权重是有4组数字组成,但是不会有进位。

  2. 可以理解为类选择器永远大于元素选择器, id选择器永远大于类选择器,以此类推

  3. 等级判断从左向右,如果某一位数值相同,则判断下一位数值。

  4. 可以简单记忆法:通配符和继承权重为0,标签选择器为1,类(伪类)选择器为10, id选择器100,行内样式表为1000,!important无穷大.

  5. 继承的权重是0,如果该元素没有直接选中,不管父元素权重多高,子元素得到的权重都是0。

权重叠加

权重叠加∶如果是复合选择器,则会有权重叠加,需要计算权重。

  • div ul li ------> 0,0,0,3

  • .nav ul li ------> 0,0,1,2

  • a:hover ------> 0,0,1,1

  • .nav a ------> 0,0,1,1

盒子模型

网页布局过程:

  1. 先准备好相关的网页元素,网页元素基本都是盒子Box。

  2. 利用CSS设置好盒子样式,然后摆放到相应位置。

  3. 往盒子里面装内容.

网面布局的核心本质:就是用CSS摆盒子

所谓盒子模型︰就是把HTML页面中的布局元素看作是一个矩形的盒子,也就是一个盛装内容的容器。CSS盒子模型本质上是一个盒子,封装周围的HTML元素,它包括:边框、外边距、内边距、和实际内容

边框(border)

border可以设置元素的边框。边框有三部分组成:边框宽度(粗细)边框样式边框颜色语法;

border:border-width || border-style || border-color
属性属性
border-width定义边框粗细,单位是px
border-style边框的样式
border-color边框颜色

边框的复合写法

CSS边框属性允许你指定一个元素边框的样式和颜色。

边框简写:

border:1px solid red;没有顺序

边框分开写法:

border-top: 1px solid red;  /*只设定上边框,其余同理*/

表格的细线边框

border-collapse属性控制浏览器绘制表格边框的方式。它控制相邻单元格的边框。

语法︰

border-collapse:collapse;
  • collapse单词是合并的意思

  • border-collapse: collapse;表示相邻边框合并在一起

边框会影响盒子实际大小

边框会额外增加盒子的实际大小。因此我们有两种方案解决:

  1. 测量盒子大小的时候,不量边框

  2. 如果测量的时候包含了边框,则需要width/height减去边框宽度

内边距

padding属性用于设置内边距,即边框与内容之间的距离。

属性作用
padding-left左内边距
padding-right右内边距
padding-top上内边距
padding-bottom下内边距

padding属性简写

值的个数表达意思
padding: 5px;1个值,代表上下左右都有5像素内边距;
padding: 5px10px;2个值,代表上下内边距是5像素 左右内边距是10像素;
padding: 5px 10px 20px;3个值,代表上内边距5像素 左右内边距10像素 下内边距20像素;
padding: 5px 10px 20px 30px;4个值,上是5像素 右10像素 下20像素 左是30像素顺时针

特性:

当我们给盒子指定padding值之后,发生了2件事情:

  1. 内容和边框有了距离,添加了内边距。

  2. padding影响了盒子实际大小。

也就是说,如果盒子已经有了宽度和高度,此时再指定内边框,会撑大盒子。

解决方案∶

如果保证盒子跟效果图大小保持一致,则让width/height 减去多出来的内边距大小即可。

或者使用box-sizing:border-box;属性

外边距

margin属性用于设置外边距,即控制盒子和盒子之间的距离。

属性作用
margin-left左外边距
margin-right右外边距
margin-top上外边距
margin-bottom下外边距

margin简写方式代表的意义跟padding完全一致。

外边距典型应用

外边距可以让块级盒子水平居中,但是必须满足两个条件:

  1. 盒子必须指定了宽度( width ) .

  2. 盒子左右的外边距都设置为auto 。

.header{ width: 960px; margin: 0 auto;}

常见的写法,以下三种都可以:

  • margin-left: auto;margin-right auto;

  • margin: auto;

  • margin: 0 auto;

注意:以上方法是让块级元素水平居中,行内元素或者行内块元素水平居中给其父元素添加text-align:center即可。

外边距合并

使用margin定义块元素的垂直外边距时,可能会出现外边距的合并。

相邻块元素垂直外边距的合并

当上下相邻的两个块元素(兄弟关系)相遇时,如果上面的元素有下外边距margin-bottom,下面的元素有上外边距margin-top,则他们之间的垂直间距不是margin-bottom与 margin-top之和。取两个值中的较大者这种现象被称为相邻块元素垂直外边距的合并。

解决方案∶

尽量只给一个盒子添加margin值。

嵌套块元素垂直外边距的塌陷

对于两个嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值。

解决方案:

  1. 可以为父元素定义上边框。

  2. 可以为父元素定义上内边距。

  3. 可以为父元素添加overflow:hidden。

  4. 还有其他方法,比如浮动、固定,绝对定位的盒子不会有塌陷问题

清除内外边距

网页元素很多都带有默认的内外边距,而且不同浏览器默认的也不一致。因此我们在布局前,首先要清除下网页元素的内外边距。

* {
    padding:0;/*清除内边距*/
    margin: 0;/*清除外边距*/
}

注意:行内元素为了照顾兼容性,尽量只设置左右内外边距,不要设置上下内外边距。但是转换为块级和行内块元素就可以了

css3新增

背景色半透明

css3为我们提供了背景颜色半透明的效果。

background:rgba(0,0,0,0.3);
  • 最后一个参数是alpha透明度,取值范围在0~1之间

  • 我们习惯把0.3的0省略掉,写为background: rgba(0,0,0,.3);

  • 注意:背景半透明是指盒子背景半透明,盒子里面的内容不受影响

  • CSS3新增属性,是IE9+版本浏览器才支持的

  • 但是现在实际开发,我们不太关注兼容性写法了,可以放心使用

圆角边框

在CSS3中,新增了圆角边框样式,这样我们的盒子就可以变圆角了。

border-radius属性用于设置元素的外边框圆角。

语法︰

border-radius : length;

radius半径(圆的半径)原理:(椭)圆与边框的交集形成圆角效果

注意

  • 参数值可以为数值或百分比的形式

  • 如果是正方形,想要设置为一个圆,把数值修改为高度或者宽度的一半即可,或者直接写为50%

  • 如果是个矩形,设置为高度的一半就可以做

  • 该属性是一个简写属性,可以跟四个值,分别代表左上角、右上角、右下角、左下角

  • 分开写: border-top-left-radius、border-top-right-radius、border-bottom-right-radius和border-bottom-left-radius

盒子阴影

CSS3中新增了盒子阴影,我们可以使用box-shadow属性为盒子添加阴影。

语法︰

box-shadow: h-shadow v-shadow blur spread color inset;
描述
h-shadow必需。水平阴影的位置。允许负值。
v-shadow必需。垂直阴影的位置。允许负值。
blur可选。模糊距离。
spread可选。阴影的尺寸。
color可选。阴影的颜色。请参阅CSS颜色值。
inset可选。将外部阴影(outset)改为内部阴影。

注意:

  1. 默认的是外阴影(outset),但是不可以写这个单词,否则导致阴影无效

  2. 盒子阴影不占用空间,不会影响其他盒子排列。

文字阴影

在CSS3中,我们可以使用text-shadow属性将阴影应用于文本。

语法︰

text-shadow : h-shadow v-shadow blur color;
描述
h-shadow必需。水平阴影的位置。允许负值。
v-shadow必需。垂直阴影的位置。允许负值。
blur可选。模糊的距离。
color可选。阴影的颜色。

浮动

页面有很多的布局效果,标准流没有办法完成,此时就可以利用浮动完成布局。因为浮动可以改变元素标签默认的排列方式.

浮动最典型的应用:可以让多个块级元素一行内排列显示。

网页布局第一准则︰多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动。

float属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一个浮动框的边缘。

语法︰

选择器{ float:属性值;}
属性值描述
none元素不浮动(默认值)
left元素向左浮动
right元素向右浮动

浮动特性

脱标:

  1. 脱离标准普通流的控制(浮)移动到指定位置(动),(俗称脱标)

  2. 浮动的盒子不在保留原先的位置

浮动元素一行显示:

  1. 如果多个盒子都设置了浮动,则它们会按照属性值一行内显示并且顶端对齐排列

注意:浮动的元素是互相贴靠在一起的(不会有缝隙),如果父级宽度装不下这些浮动的盒子,多出的盒子会另起一行对齐

浮动元素会具有行内块元素特性:

任何元素都可以浮动。不管原先是什么模式的元素,添加浮动之后具有行内块元素相似的特性

  1. 如果块级盒子没有设置宽度,默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决定

  2. 浮动的盒子中间没有缝隙的,是紧挨着一起的

  3. 行内元素同理

小结:

为了约束浮动元素位置,我们网页布局一般采取的策略是:

先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置,符合网页布局第一准则

浮动的两个注意点

  1. 浮动和标准流的父盒子搭配

先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置

  1. 一个元素浮动了,理论上其余的兄弟元素也要浮动

一个盒子里面有多个盒子,如果其中一个盒子浮动了,那么其他兄弟也应该浮动,以防止引起问题。浮动的盒子只会影响浮动盒子后面的标准流,不会影响前面的标准流。

清除浮动

由于父级盒子很多情况下,不方便给高度,但是子盒子浮动又不占有位置,最后父级盒子高度为0时,就会影响下面的标准流盒子

清除浮动的本质

  • 清除浮动的本质是清除浮动元素造成的影响

  • 如果父盒子本身有高度,则不需要清除浮动

  • 清除浮动之后,父级就会根据浮动的子盒子自动检测高度。父级有了高度,就不会影响下面的标准流了

语法:

选择器{clear:属性值;}
属性值描述
left不允许左侧有浮动元素(清除左侧浮动的影响)
right不允许右侧有浮动元素(清除右侧浮动的影响)
both同时清除左右两侧浮动的影响

清除浮动的策略是:闭合浮动

清除浮动的方法

清除浮动的方式优点缺点
额外标签法(隔离法)通俗易懂,书写方便添加许多无意义的标签,结构化较差
父级overflow:hidden;书写简单溢出隐藏
父级after伪元素结构语义正确由于IE6-7不支持:after,兼容性问题
父类双伪元素结构语义正确由于IE6-7不支持:after,兼容性问题

额外标签法

额外标签法会在浮动元素末尾添加一个空的标签。例如<div style="clear:both;"></div>,或者其他标签(如<br />等)

  • 优点:通俗易懂,书写方便

  • 缺点:添加许多无意义的标签,结构化较差

注意:要求这个新的空标签必须是块级元素

给父级添加overflow

可以给父级添加overflow属性,将其属性值设置为hidden、auto或scroll。

  • 优点:代码简洁

  • 缺点:无法显示溢出的部分

:after伪元素法

:atter方式是额外标签法的升级版。也是给父元素添加

添加的内容如下:

.clearfix:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clearfix{ /* IE6/7专有 */
    *zoom: 1;
}
  • 优点:没有增加标签,结构更简单

  • 缺点:照顾低版本浏览器

双伪元素清除浮动

也是给父元素添加

添加内容如下:

.clearfix:before,.clearfix:after {
    content: "";
    display:table;
}
.clearfix:after {
    clear:both;
}
.clearfix {
    *zoom: 1;
}
  • 优点:代码更简洁

  • 缺点:照顾低版本浏览器

css属性书写顺序

建议遵循以下顺序:

  1. 布局定位属性:display/position/float/clear/visivility/overflow(建议display第一个写,因为关系到模式)

  2. 自身属性:width/height/margin/padding/border/background

  3. 文本属性:color/font/text-decoration/text-align/vertical-align/white-space/break-word

  4. 其他属性(CSS3):content/cusor/border-radius/box-shadow/background:linear-gradient...

.jdc {
    display: block;
    position: relative;
    float: left;
    width: 100px;
    height: 100px;
    margin: 0 10px;
    padding: 20px 0;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    color: #333;
    background: rgba(0, 0, 0, .5);
    border-radius: 10px;
}

定位

  1. 浮动可以让多个块级盒子一行没有缝隙排列显示,经常用于横向排列盒子

  2. 定位则是可以让盒子自由的在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒子

定位:将盒子定在某一个位置,所以定位也是在摆放盒子,按照定位的方式移动盒子

定位=定位模式+边偏移

定位模式用于指定一个元素在文档中的定位方式。边偏移则决定了该元素的最终位置

定位模式是否脱标移动位置是否常用
static静态定位否(占有位置)不能使用边偏移很少
relative相对定位是(不占有位置)相对于自身位置移动常用
absolute绝对定位是(不占有位置)带有定位的父级常用
fixed固定定位是(不占有位置)浏览器可视区常用
sticky粘性定位否(占有位置)浏览器可视区比较少

静态定位static(了解)

静态定位是元素的默认定位方式,无定位的意思

语法:

选择器 {position: static; }
  • 静态定位按照标准特性摆放位置,它没有位移

  • 静态定位在布局时很少用到

相对定位relative

相对定位是元素在移动位置的时候,是相对于它原来的位置来说的(自恋型)

语法:

选择器 {position: relative; }

相对定位的特点:(务必记住)

  1. 它是相对于自己原来的位置来移动的(移动位置的时候参照点是自己原来的位置)

  2. 原来在标准流的位置继续占有,后面的盒子仍然以标准流的方式对待它。(不脱标,继续保留原来位置)因此,相对定位并没有脱标。它最典型的应用是给绝对定位当爹的。。

绝对定位absolute

绝对定位是元素在移动位置的时候,是相对于它的祖先元素来说的(拼爹型)

语法:

选择器 {position: absolute; }

绝对定位的特点:(务必记住)

  1. 如果没有祖先元素或者祖先元素没有定位,则以浏览器为准定位(Document文档)。

  2. 如果祖先元素有定位(相对、绝对、固定定位),则以最近一级的有定位祖先元素位参考点移动位置

  3. 绝对定位不在占有原先的位置。(脱标)

子绝父相

意思是:子级是绝对定位的话,父级要用相对定位

  1. 子级绝对定位,不会占有位置,可以放到父盒子里面的任何一个地方,不会影响其他的兄弟盒子

  2. 父盒子需要加定位限制子盒子在父盒子内显示

  3. 父盒子布局时,需要占有位置,因此父亲只能是相对定位

这就是子绝父相的由来,所以相对定位经常用来作为绝对定位的父级

总结:因为父级需要占有位置,因此是相对定位,子盒子不需要占有位置,则是绝对定位

绝对定位的盒子居中

加了绝对定位的盒子不能通过margin:0 auto水平居中,但是可以通过以下计算方法实现水平和垂直居中

  1. left:50%;:让盒子的左侧移动到父级元素的水平中心位置

  2. margin-left:-100px;:让盒子向左移动自身宽度的一半

固定定位fixed

固定定位是元素固定于浏览器可视区的位置。主要使用场景:可以在浏览器页面滚动时元素的位置不会改变

语法:

选择器 {position: fixed; }

固定定位的特点:

  1. 以浏览器的可视窗口为参照点移动元素

  • 跟父元素没有任何关系

  • 不随滚动条滚动

  1. 固定定位不在占有原先的位置

固定定位也是脱标的,其实固定定位也可以看做是一种特殊的绝对定位

粘性定位sticky

粘性定位可以被认为是相对定位和固定定位的混合。

语法:

选择器 {position: sticky; top: 10px; }

粘性定位的特点:

  1. 以浏览器的可视窗口为参照点移动元素(固定定位的特点)

  2. 粘性定位占有原先的位置(相对定位特点)

  3. 必须添加top、left、right、bottom其中一个才有效

跟页面滚动搭配使用。兼容性较差,IE不支持

定位叠放次序z-index

在使用定位布局时,可能会出现盒子重叠的情况。此时,可以使用z-index来控制盒子的前后次序(z轴)

语法:

选择器 { z-index: 1; }
  • 数值可以是正整数,负整数或0,默认是auto,数值越大,盒子越靠上

  • 如果属性值相同,则按照书写顺序,后来居上

  • 数字后面不能加单位

  • 只有定位的盒子才有z-index属性

定位特殊特性

绝对定位、固定定位和浮动的相同点

  1. 行内元素添加聚堆或者固定定位,可以直接设置高度和宽度

  2. 块级元素添加绝对或者固定定位,如果不给宽度或者高度,默认大小是内容的大小

  3. 浮动元素。绝对定位(固定定位)元素都不会触发外边距合并的问题

绝对定位、固定定位和浮动的不同点

  1. 绝对定位(固定定位)会完全压住盒子

    浮动元素不同,只会压住它下面标准流的盒子,但是不会压住下面标准流盒子里面的文字(图片)

    但是绝对定位(固定定位)会压住下面标准流所有的内容

    浮动之所以不会压住文字,因为浮动产生的目的最初是为了做文字环绕效果的。文字会围绕浮动元素

元素的显示和隐藏

display属性

格式:

选择器 {display: none; }

display属性用于设置一个元素应如何显示

  • display:none; 隐藏对象

  • display:block; 除了装换为块级元素之外,同时还有显示元素的意思

display隐藏元素后,不在占有原来的位置

后面应用及其广泛,搭配js可以做很多的网页特效

visibility可见性

格式:

选择器 {visibility: visible; }

visibility属性用于指定一个元素应可见还是隐藏

  • visibility:visible; 元素可视

  • visibility:hidden; 元素隐藏

visibility隐藏元素后,继续占有原来的位置

如果隐藏元素想要原来位置,就用visibility:hidden

如果隐藏元素不想要原来位置,就用display:none(用处更多重点)

overflow溢出隐藏

overflow属性指定了如果内容溢出一个元素的框(超过其指定高度及宽度)时,会将超出部分内容进行一下属性值操作

属性值描述
visible不剪切内容也不添加滚动条
hidden不显示超过对象尺寸的内容,超出的部分隐藏掉
scroll不管超出内容否,总是显示滚动条
auto超出自动显示滚动条,不超出不显示滚动条

一般情况下,我们都不想让溢出的内容显示出来,因为溢出的部分会影响布局

但是如果有定位的盒子,请慎用overflow:hidden因为它会隐藏多余的部分

css简单的技术

精灵图

一个网页中往往会应用很多小的背景图作为修饰,当页面中的图像过多时,服务器就会频繁地接收和发送请求图片,造成服务器请求压力过大,这大大降低页面的加载速度

因此,为了有效减少服务器接收和发送请求的次数,提高页面加载速度,出现了css精灵技术(也称CSS Sprites、CSS 雪碧)。核心原理:将页面中一些小背景图片整合到一张大图,这样服务器只需要一次请求就可以了

使用精灵图核心:

  1. 精灵技术主要针对于背景图片使用。就是把多个小背景图片整合到一张大图中

  2. 这个大图也称为sprites精灵图或者雪碧图

  3. 移动背景图片位置,此时可以使用background-position

  4. 移动的距离就是这个目标图片的x和y坐标。注意网页中的坐标有所不同

  5. 因为一般情况下都是往上往左移动,所以数值是负值

  6. 使用精灵图的时候需要精确测量,每个小背景图片的大小和位置

使用精灵图核心总结

  1. 精灵图主要针对于晓得背景图片使用

  2. 主要借助于背景位置来实现---background-position

  3. 一般情况下精灵图都是负值。(千万注意网页中的坐标:x轴右边走是正值,左边走是负值,y轴同理。)

字体图标

字体图标使用场景:主要用于显示网页中通用、常用的一些小图标

精灵图是有诸多优点的,但是缺点很明显

  1. 图片文件还是比较大的

  2. 图片本身放大和缩小会失真

  3. 一旦图片制作完毕想要更换非常复杂

此时,有一种技术的出现很好的解决以上的问题,就是字体图标iconfont

字体图标可以为前端工程师提供一种方便高效的图标使用方式,展示的是图标,本质属于字体

  • 轻量级:一个图标文字要比一系列的图像更小。一旦字体加载了,图标就会马上渲染,减少了服务器请求

  • 灵活性:本质其实是文字,可以很随意的改变颜色、产生阴影、透明效果、旋转等

  • 兼容性:几乎支持所有的浏览器,请放心使用

注意:字体图标不能替代精灵技术,只是对工作中图标部分技术的提升和优化

总结:

  1. 如果遇到一些结构和样式比较简单的小图标,就用字体图标

  2. 如果遇到一些结构和杨思复杂一点的小图片,就用精灵图

字体的使用步骤

  1. 字体图标的下载

  2. 字体图标的引入(引入到我们的HTML页面中)

  3. 字体图标的追加(以后添加新的小图标)

字体图标的下载

推荐下载网站

字体图标的引入

下载完毕之后,里面的源文件不要删除,后面会使用到

  1. 把下载包可能的fonts文件夹放入页面根目录下

不同浏览器所支持的字体格式是不一样的,字体图标之所以兼容,就是因为包含了主流浏览器支持的字体文件

  1. TureType(.ttf)格式.ttf字体是Windows和Mac的最常见的字体,支持这种字体的浏览器有IE9+、Firefox3.5+、Chrome4+、Safari3+、Opera10+、iOS Mobile Safari4.2+;

  2. Web Open Font Format(.woff)格式woff字体,支持这种字体的浏览器有IE9+、Firefox3.5+、Chrome6+、Safari3.6+、Opera11.1+;

  3. Embedded Open Type(.eot)格式.eot字体是IE专用字体,支持这种字体的浏览器有IE4+;

  4. SVG(.svg)格式.svg字体是基于SVG字体渲染的一种格式,支持这种字体的浏览器有Chrome4+、Safari3.1+、Opera10.0+、iOS Mobile Safari3.2+;

在css样式中全局声明字体:简单理解把这些字体文件通过css导入到我们页面中

一定注意字体文件路径的问题

@font-face {
    font-family: 'icomoon';
    src: url('fonts/icomoon.eot?7kkyc2');
    src: url('fonts/icomoon.eot?7kkyc2#iefix') format('embedded-opentype'),
        url('fonts/icomoon.ttf?7kkyc2') fromat('truetype'),
        url('fonts/icomoon.woff?7kkyc2') fromat('woff'),
        url('fonts/icomoon.svg?7kkyc2#icommon') fromat('svg');
    font-weight: normal;
    font-style: normal;
}

字体图标的追加

如果工作中,原来的字体图标不够用了,我们需要添加新的字体图标到原来的字体文件中。

把压缩包里面的selection.json重新上传,然后选中自己想要新的图标,从新下载压缩包,并替换原来的文件即可

css三角做法

.box1 {
    width: 0;
    height 0;
    border-top:10px solid black;
    border-right:10px solid red;
    border-bottom:10px solid blue;
    border-left:10px solid green;
}
.box2 {
    width:0;
    height:0;
    border:10px solid transparent;
    border-top-color:red;
}

兼容一些低版本浏览器写法:

.box2 {
    width:0;
    height:0;
    line-height:0;
    font-size:0;
    border:10px solid transparent;
    border-top-color:red;
}

CSS用户界面样式

什么是界面样式

所谓的界面样式,就是更改一些用户操作样式,以便提高更好的用户体验。

  • 更改用户的鼠标样式

    <!DOCTYPE html>
    <html lang="en">
    ​
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>用户界面样式-鼠标样式</title>
    </head>
    ​
    <body>
        <ul>
            <li style="cursor:default;">我是默认的小白鼠标样式</li>
            <li style="cursor:pointer;">我是鼠标小手样式</li>
            <li style="cursor:move;">我是鼠标移动样式</li>
            <li style="cursor:text;">我是鼠标文本样式</li>
            <li style="cursor:not-allowed">我是鼠标禁止样式</li>
        </ul>
    </body>
    ​
    </html>

  • 表单轮廓

  • 防止表单域拖拽

    <!DOCTYPE html>
    <html lang="en">
    ​
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>用户界面样式-表单轮廓和防止拖拽文本域</title>
        <style>
            inpu,
            textarea {
                /* 取消表单轮廓 */
                outline: none;
            }
            
            textarea {
                /* 防止拖拽文本域 */
                resize: none;
            }
        </style>
    </head>
    ​
    <body>
        <!-- 1.取消表单轮廓 -->
        <input type="text">
        <!-- 2.防止拖拽文本域 -->
        <textarea name="" id="" cols="30" rows="10"></textarea>
    </body>
    ​
    </html>

4.1 鼠标样式 cursor

li {
    cursor:pointer;
}

4.2 轮廓线 outline

input {
    outline:none;或者
	input{outline:0;
}

4.3 防止拖拽文本域 resize

实际开发中,我们文本域右下角是不可以拖拽的。

textarea {
    resize:none;
}

5. vertical-align-属性应用

css的 vertical-align属性使用场景:经常用于设置图片表单(行内块元素)和文字垂直对齐 官方解释:用于设置一个元素的 垂直对齐方式,但是它只针对于行内元素或者行内块元素有效。

语法:

vertical-align:**baseline**|top|middle|bottom

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>利用vertical-align实现图片文字垂直居中对齐</title>
    <style>
        img {
            /* vertical-align: bottom; */
            /* 让图片和文字垂直居中 */
            vertical-align: middle;
            /* vertical-align: top; */
        }
    </style>
</head>

<body>
    <img src="../images/book.jpg" alt=""> 琴棋书画样样精通
</body>

</html>

图片底侧空白缝隙解决方案

<!DOCTYPE html>
<html lang="en">
​
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>图片底侧空白缝隙解决方案</title>
    <style>
        div {
            border: 2px solid red;
        }
        
        img {
            /* vertical-align: middle; */
            display: block;
        }
    </style>
</head>
​
<body>
    <div>
        <img src="../../images/5.jpg" alt="没错你就是卡了">
    </div>
</body>
​
</html>

margin负值的巧妙运用

  • 让每个盒子margin往左移动-1px 正好压住相邻盒子边框

  • 鼠标经过某个盒子的时候,提高当前盒子的层级即可(如果没有定位,则加相对定位(保留位置),如果有定位,则加z-index)

    <!DOCTYPE html>
    <html lang="en">
    ​
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>margin负值的巧妙运用</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            
            ul li {
                /* position: relative; */
                float: left;
                width: 150px;
                height: 200px;
                border: 1px solid red;
                list-style: none;
                margin-left: -1px;
            }
            ul li:hover {
                /* 1.如果盒子没有定位,则鼠标经过添加相对定位即可    */
                position: relative;
                border: 1px solid blue;
            }
            
            /* ul li:hover {
                如果li都有定位 则利用 z-index提高层级
                z-index: 1;
                border: 1px solid blue;
            } */
        </style>
    </head>
    ​
    <body>
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
        </ul>
    ​
     
    </body>
    ​
    </html>

行内块元素的巧妙运用

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>行内块元素的巧妙运用</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .box {
            text-align: center;
        }
        
        .box a {
            display: inline-block;
            width: 30px;
            height: 30px;
            font-size: 14px;
            background-color: #f7f7f7;
            border: 1px solid #ccc;
            text-decoration: none;
            text-align: center;
            line-height: 30px;
        }
        
        .box .prev,
        .box .next {
            width: 80px;
            color: #000;
        }
        
        .box .current,
        .box .elp {
            border: none;
            background-color: #fff;
        }
        
        .box input {
            width: 50px;
            height: 30px;
            border: 1px solid #ccc;
            outline: none;
        }
        
        .box button {
            width: 34px;
            height: 30px;
            background-color: #f7f7f7;
            border: 1px solid #ccc;
        }
    </style>
</head>

<body>
    <div class="box">
        <a href="#" class="prev">&lt;&lt;上一页</a>
        <a href="">1</a>
        <a href="" class="current">2</a>
        <a href="">3</a>
        <a href="">4</a>
        <a href="">5</a>
        <a href="">6</a>
        <a href="" class="elp">...</a>
        <a href="" class="next">&gt;&gt;下一页</a> 到第 <input type="text">页
        <button>确定</button>
    </div>
</body>

</html>

CSS初始化

/* 把我们所有标签的内外边距清零 */

* {
    margin: 0;
    padding: 0
}


/* em 和 i 斜体的文字不倾斜 */

em,
i {
    font-style: normal
}


/* 去掉 li 的小圆点  */

li {
    list-style: none
}

img {
    /* border 0 照顾低版本浏览器 如果 图片外面包含了链接会有边框的问题 */
    border: 0;
    /* 取消图片底侧有空白缝隙的问题 */
    vertical-align: middle
}

button {
    /* 当我们鼠标经过button 这个按钮的时候,鼠标变成小手 */
    cursor: pointer
}

a {
    color: #666;
    text-decoration: none
}

a:hover {
    color: #c81623
}

button,
input {
    /* \5B8B\4F53 就是宋体的意思 这样浏览器的兼容性比较好 */
    font-family: Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, "\5B8B\4F53", sans-serif
}

body {
    /* 抗锯齿形 让文字显示的更加清晰 */
    -webkit-font-smoothing: antialiased;
    background-color: #fff;
    /* 字体大小12px 1.5倍行高 */
    font: 12px/1.5 Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, "\5B8B\4F53", sans-serif;
    color: #666
}

.hide,
.none {
    display: none
}


/* 清除浮动 */

.clearfix:after {
    /* 隐藏元素 */
    visibility: hidden;
    clear: both;
    display: block;
    content: ".";
    height: 0
}

.clearfix {
    *zoom: 1
}


.clearfix:before,
.clearfix::after {
    content: "";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

1.单行文本溢出显示省略号--必须满足三个条件

  1. 先强制一行内显示文本

white-space:nowrap; (默认 normal 自动换行)

2.超出的部分隐藏

overflow:hidden;

3.文字用省略号代替超出的部分

text-overflow:ellipais;

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            width: 160px;
            height: 80px;
            background-color: pink;
            margin: 100px auto;
            /* normal这个单词的意思是如果文字显示不开 自动换行 */
            /* white-space: normal; */
            /* 1.这个单词的意思是如果文字显示不开 也必须强制一行内显示 */
            white-space: nowrap;
            /* 2. 溢出的部分隐藏起来 */
            overflow: hidden;
            /* 3. 文字溢出的时候用省略号来显示 */
            text-overflow: ellipsis;
        }
    </style>
</head>

<body>
    <div>
        啥也不说,此处省略一万字
    </div>
</body>

</html>

2. 多行文本溢出显示省略号

多行文本溢出显示省略号,有较大兼容性问题,适合于webKit浏览器或移动端(移动端大部分是webKit内核)

  • overflow:hidden;
  • text-overflow:ellipsis;
  • /弹性伸缩盒子模型显示/

  • display: -webkit-box;
  • 限制在一个块元素的文本的行数

  • -webkit-line-clamp:2;
  • /*设置或检索伸缩盒对象的子元素的排列方式 */

  • -webkit-box-orient:vertical;
  • 更推荐让后台人员来做这个效果,因为后台人员可以设置显示多少个字,操作更简单。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>多行文本溢出显示省略号</title>
    <style>
        div {
            width: 160px;
            height: 42px;
            background-color: pink;
            margin: 100px auto;
            overflow: hidden;
            text-overflow: ellipsis;
            /* 显示省略符号来代表被修剪的文本。*/
            /*弹性伸缩盒子模型显示*/
            display: -webkit-box;
            /*限制在一个块元素的文本的行数*/
            -webkit-line-clamp: 2;
            /*设置或检索伸缩盒对象的子元素的排列方式 */
            -webkit-box-orient: vertical;
        }
    </style>
</head>

<body>
    <div>
        啥都不用说,此处省略一万字;啥都不用说,此处省略一万字。
    </div>
</body>

</html>

1.HTML5的新特性

1.1HTML5的新增语义化标签

  • <header>:头部标签

  • <nav>:导航标签

  • <article>:内容标签

  • <section>:定义文档某个区域

  • <footer>:尾部区域

  • <aside>:侧边栏

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>HTML5新增语义化标签</title>
        <style>
            header,
            nav {
                width: 800px;
                height: 120px;
                background-color: pink;
                border-radius: 15px;
                margin: 15px auto;
                text-align: center;
                line-height: 120px;
            }
            
            section {
                width: 500px;
                height: 300px;
                background-color: skyblue;
                text-align: center;
                line-height: 300px;
            }
        </style>
    </head>
    
    <body>
        <header>头部标签</header>
        <nav>导航栏标签</nav>
        <section>某个区域</section>
    </body>
    
    </html>

1.2HTML5新增的多媒体标签

1.音频:<audio>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML5新增音频标签</title>
</head>
<body>
    <audio src="" controls="controls" autoplay="autoplay" loop="loop"></audio>
</body>
</html>

2.视频:<video>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML5新增标签</title>
</head>
<body>
    <!-- controls播放控件 autoplay自动播放  muted静音播放 loop是否循环播放  poster加载等待的画面图片-->
    <video width="320px" height="240px" controls  muted="muted" loop="loop" poster="../../media/mi10.jpg" >
        <source src="../../media/mi.mp4" type="video/mp4">
        <source src="">
        您的浏览器不支持 video 标签
    </video>
</body>
</html>

3.多媒体标签总结

  • 音频标签和视频标签使用方式基本一致

  • 浏览器支持情况不同

  • 谷歌浏览器把音频和视频自动播放禁止了

  • 我们给视频标签添加muted属性来静音播放视屏,音频不可以(可以通过JavaScript解决)

  • 视频标签是重点,我们经常设置自动播放,不适用controls控件,循环和设置大小属性

1.3 HTML5新增的input类型

属性值说明
type="email"限制用户输入必须为Email类型
type="url"限制用户输入必须为URL类型
type="date"限制用户输入必须为日期类型
type="time"限制用户输入必须为时间类型
type="month"限制用户输入必须为月类型
type="week"限制用户输入必须为周期类型
type="number"限制用户输入必须为数字类型
type="tel"手机号码
type="search"搜索框
type="color"生成一个颜色选择表单
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML5新增input表单</title>
    <style>
        * {
            margin:0;
            padding:0;
        }
        
        body {
            text-align: center;
        }
        li {
            list-style:none;
        }
        input {
            width: 600px;
            height: 40px;
            outline:none;
            line-height: 40px;
        }
        ul li .btn {
            background-color: skyblue;
            border-radius:10px;
        }
    </style>
</head>
<body>
    <!-- 我们验证的时候必须添加form表单域 -->
    <form action="">
        <ul>
            <li>邮箱:<input type="email"></li>
            <li>网址:<input type="url"></li>
            <li>日期:<input type="date"></li>
            <li>时间:<input type="time"></li>
            <li>数量:<input type="number"></li>
            <li>手机号码:<input type="tel"></li>
            <li>搜索:<input type="search" value=""></li>
            <li>颜色:<input type="color"></li>
            <!-- 当我们点击提交按钮就可以验证表单了  -->
            <li><input type="submit" value="提交" class="btn"></li>
        </ul>
    </form>
</body>
</html>

HTML5新增的表单属性

属性说明
requiredrequired表单拥有该属性表示其内容不能为空,必填
placeholder提示文本表单的提示信息,存在默认值将不显示
autofocusautofocus自动聚焦属性,页面加载完成自动聚焦到指定表单
autocompleteoff/on当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。 默认已经打开,如autocomplete="on",关闭autocomplete="off" 需要放在表单内,同时加上name属性,同时成功提交
multiplemultiple可以多选文件提交
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML5新增表单属性</title>
    <style>
        input {
            outline: none;
        }
        input::placeholder {
            color:gray;
        }
    </style>
</head>
<body>
    <form action="">
        <input type="search" name="sear" id="" required="required" placeholder="沙雕" autofocus="autofocus"
        autocomplete="off">
        <input type="file" name="" id="" multiple="multiple">
        <button type="submit">提交</button>
    </form>
</body>
</html>

图片模糊处理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>图片模糊处理</title>
    <style>
        img {
            width: 400px;
            height: 400px;
            filter:blur(20px)
        }

        img:hover {
            filter:blur(0)
        }
    </style>
</head>
<body>
    <img src="images/naicha.jpg" alt="">
</body>
</html>

2.CSS3的新特性

2.1 CSS3的现状

  • 新增的CSS3特性有兼容性问题,ie9+才支持

  • 移动端支持优于PC端

  • 不断改进中

  • 应用相对广泛

  • 现阶段学习: 新增选择器盒子模型以及 其他特性

2.2 属性选择器

属性选择器可以根据元素特定的属性来选择元素。这样就可以不用借助于类或者id选择器。

选择符简介
E[arr]选择具有att属性的E元素
E[arr="val"]选择具有att属性且属性值等于val的E元素
E[arr^="val"]匹配具有att属性且值以val开头的E元素
E[arr$="val"]匹配具有att属性且值以val结尾的E元素
E[arr*="val"]匹配具有att属性且值中含有val的E元素
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS3新增属性选择器</title>
    <style>
        /* 必须是input 但是同时具有placeholder这个属性 选择这个元素  [] */
        input[placeholder] {
            color:pink;
            outline: none;
        }
​
        /* 只选择type=text 的input */
        input[type=text] {
            color:pink;
        }
​
        /* 选择首先是div 然后具有class属性 并且属性值必须是icon开头的这些元素 */
        div[class^=icon] {
            color:red;
        }
        section[class$=date] {
            color: blue;
        }
​
        
    </style>
</head>
<body>
    <!-- 1. 利用属性选择器就可以不用借助于类或者id选择器 -->
    <!-- <input type="text"  placeholder="请输入用户名">
    <input type="text"> -->
    <!-- 2. 属性选择器还可以选择属性=值的某些元素  重点务必掌握的-->
    <input type="text" name="" id="">
    <input type="password" name="" id="">
    <!-- 3. 属性选择器可以选择属性值开头的某些元素 -->
    <div class="icon1">小图标1</div>
    <div class="icon2">小图标2</div>
    <div class="icon3">小图标3</div>
    <div class="icon4">小图标4</div>
    <div>我是打酱油的</div>
    <!-- 4.  属性选择器可以选择属性值结尾的某些元素-->
    <section class="icon1-date">我是安其拉</section>
    <section class="icon2-date">我是哥斯拉</section>
    <section class="icon3-ico">那我是谁</section>
</body>
</html>

2.3结构伪类选择器

选择符简介
E:first-child匹配父元素中的第一个子元素E
E:last-child匹配父元素中的最后一个E元素
E:nth-child(n)匹配父元素中的第n个子元素E
E:fitst-of-type指定类型E的第一个
E:last-type指定类型E的最后一个
E:nth-of-type指定类型E的第n个
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS3新增属性选择器-nth-child</title>
    <style>
​
        /* nth-child(2n)选择了所有偶数孩子 等价于even */
        ol li:nth-child(2n) {
            background-color:pink
        }
        ol li:nth-child(2n+1) {
            background-color: skyblue;
        }
    </style>
</head>
<body>
    <ol>
        <li>我是第1个孩子</li>
        <li>我是第2个孩子</li>
        <li>我是第3个孩子</li>
        <li>我是第4个孩子</li>
        <li>我是第5个孩子</li>
        <li>我是第6个孩子</li>
        <li>我是第7个孩子</li>
        <li>我是第8个孩子</li>
    </ol>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS3新增nth-of-type属性选择器</title>
    <style> 
        ul li:first-of-type {
            background-color: pink;
        }

        ul li:last-of-type {
            background-color: pink;
        }

        ul li:nth-of-type(even) {
            background-color: skyblue;
        }

        /* nth-child 会把所有的孩子都排列序号 */
        /* 执行的时候先看 :nth-child(1) 之后回去看 前面div */
        section div:nth-child(1) {
            background-color: red;
        }

        /* nth-of-type 会把指定元素的孩子排列序号 */
        /* 执行的时候先看 div指定的元素 之后回去看 nth-of-type(1) 第几个孩子 */
        section div:nth-of-type(1) {
            background-color: red;
        }
    </style>
</head>
<body>
    <ul>
        <li>我是第1个孩子</li>
        <li>我是第2个孩子</li>
        <li>我是第3个孩子</li>
        <li>我是第4个孩子</li>
        <li>我是第5个孩子</li>
        <li>我是第6个孩子</li>
        <li>我是第7个孩子</li>
        <li>我是第8个孩子</li>
    </ul>
    <!-- 区别 -->
    <section>
        <p>光头强</p>
        <div>熊大</div>
        <div>熊二</div>
    </section>
</body>
</html>

小结

  • 结构伪类选择器一般用于选择父级里面的第几个孩子

  • nth-child 对父元素里面所有孩子排序选择(序号是固定的) 先找到第n个孩子,然后看看是否和E匹配

  • nth-of-type 对父元素里面指定的子元素进行排序选择。先去匹配E然后再根据E找到第n个孩子

  • 关于nth-child(n)我们要知道n是从0开始计算的,要记住常用的公式

  • 如果是无序列表,我们肯定用nth-child更多

  • 类选择器、属性选择器、伪类选择器,权重为10

2.4伪元素选择器(重点)

伪元素选择器可以帮助我们利用CSS创建新标签元素,而不需要HTML标签,从而简化HTML结构。

选择符简介
::before在元素内部的前面插入内容
::after在元素内部的后面插入内容

注意:

  • beforeafter创建一个元素,但是属于行内元素

  • 新创建的这个元素在文档树中是找不到的,所以我们称为 伪元素

  • 语法:

    element::before{}
  • before和after必须有 content属性

  • before在父元素内容的前面创建元素,after在父元素的后面插入元素

  • 伪类选择器标签选择器一样,权重为1

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>伪元素选择器</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
        }
​
        /* div::before权重是2 */
        div::before {
            /* 这个content是必须写的 */
            content:'我';
        }
​
        div::after {
            content:'东京喰种'
        }
    </style>
</head>
<body>
    <div>
        是
    </div>
</body>
</html>

伪元素选择器使用场景

<!DOCTYPE html>
<html lang="en">
​
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>伪元素使用场景-字体图标</title>
    <style>
        @font-face {
            font-family: 'icomoon';
            src: url('fonts/icomoon.eot?es40wg');
            src: url('fonts/icomoon.eot?es40wg#iefix') format('embedded-opentype'), url('fonts/icomoon.ttf?es40wg') format('truetype'), url('fonts/icomoon.woff?es40wg') format('woff'), url('fonts/icomoon.svg?es40wg#icomoon') format('svg');
            font-weight: normal;
            font-style: normal;
            font-display: block;
        }
        
        div {
            position: relative;
            width: 200px;
            height: 35px;
            border: 1px solid #000;
        }
        
        div::after {
            position: absolute;
            top:12px;
            right:10px;
            font-family: 'icomoon';
            content: "\e927";
            font-size:14px;
        }
    </style>
</head>
​
<body>
    <div></div>
</body>
​
</html>

仿土豆网显示隐藏遮罩案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>仿土豆网显示隐藏遮罩案例</title>
    <style>
        .tudou {
            position: relative;
            width: 444px;
            height: 320px;
            margin: 30px auto;
        }
        
        .tudou img {
            width: 100%;
            height: 100%;
        }
        
        .tudou::before {
            /* 隐藏遮罩层    */
            content:'';
            display: none;
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, .4) url(../../素材/html_css_material/第八天/images/arr.png) no-repeat center;
        }
        /* 当我们鼠标经过了 土豆这个盒子,就让里面遮罩层显示出来 */
        
        .tudou:hover::before {
            /* 而是显示元素 */
            display: block;
        }
    </style>
</head>
<body>
    <div class="tudou">
        <img src="../../素材/html_css_material/第八天/images/tudou.jpg" alt="">
    </div>
</body>
</html>

2.7 CSS3过渡(重点)

过渡(transition)动画:是从一个状态 渐渐的过渡到另一个状态

经常和:hover一起搭配使用

语法: transition:要过渡的属性 花费时间 运动曲线 何时开始;

1.属性:想要变化的css属性,宽度高度 背景颜色 内外边距都可以。如果想要所有的属性都变化过渡,写一个all就可以了

2.花费时间:单位是秒(必须写单位) 比如0.5s

3.运动曲线:默认是ease(可以忽略)

4.何时开始:单位是秒(必须写单位)可以设置延迟触发时间 默认是0s(可以忽略)

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS3过渡效果(重点)</title>
    <style>
        div {
            width: 200px;
            height: 100px;
            background-color: pink;
            /* transition: 变化的属性 花费时间 运动曲线 何时开始; */
            /* 如果想要写多个属性利用逗号进行分隔 */
            /* 谁做过渡 给谁加 */
            transition: all .5s;
            /* border-radius: 0 100px 100px 0 ; */
        }

        div:hover {
            width: 800px;
            height: 400px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

CSS3宽度calc函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS3宽度calc函数</title>
    <style>
        .father {
            width: 300px;
            height: 200px;
            background-color: pink;
        }
​
        .son {
            width: calc(100% - 30px);
            height: 30px;
            background-color: blue;
            margin:0 auto;
        }
    </style>
</head>
<body>
    <!-- 需求我们的子盒子宽度永远比父盒子小30px -->
    <div class="father">
        <div class="son"></div>
    </div>
</body>
</html>


4. 2D转换

转换(transform)是CSS中具有颠覆性的特征之一,可以实现元素的位移、旋转、缩放等效果

转换(transform)你可以简单理解为变形

  • 移动: translate

  • 旋转: rotate

  • 缩放: scale

4.1 2D转换之移动 translate

2D移动是2D转换里面的一种功能,可以改变元素在页面中的位置,类似定位

1.语法:

transform: translate(x,y); 或者分开写
transform: translateX(n);
transform: translateY(n);

2.重点

  • 定义2D转换中的移动,沿着X和Y轴移动元素

  • translate最大的优点:不会影响到其他元素的位置

  • translate的百分比单位是相对于自身元素的translate:(50%,50%);

  • 对行内标签没有效果

<!DOCTYPE html>
<html lang="en">
​
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2D转换之translate</title>
    <style>
        /* 移动盒子的位置:  定位   盒子的外边距   2d转换移动 */
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            /* x就是x轴上移动位置  y就是y轴上移动位置 中间用逗号分隔 */
            /* transform: translate(100px,100px); */
            /* 1.如果只移动x轴坐标 */
            /* transform:translate(100px,0); */
            transform: translateX(100px);
            /* 1.如果只移动x轴坐标 */
            /* transform:translate(0,100px); */
            transform: translateY(100px);
        }
    </style>
</head>
​
<body>
    <div></div>
</body>
​
</html>

让盒子实现水平和垂直居中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>让盒子实现水平和垂直居中</title>
    <style>
        div {
            position: relative;
            width: 500px;
            height: 500px;
            background-color: pink;
            /* 1.transform里面的参数是可以用% */
            /* 如果里面的参数是 % 移动的距离是 盒子自身的宽度或者高度来对比的 */
            /* transform: translateX(50%); */
        }
        p {
            position: absolute;
            top: 50%;
            left: 50%; 
            width: 200px;
            height: 200px;
            background-color: purple;
            /* margin-top: -100px;
            margin-left: -100px; */
            transform: translate(-50%,-50%);
        }
​
        span {
            /* translate 对于行内元素是没有效果的 */
            transform: translate(300px,300px);
        }
    </style>
</head>
<body>
    <div>
        <p></p>
    </div>
    <span>123</span>
</body>
</html>

4.2 2D转换之旋转

2D旋转指的是让元素在二维平面内顺时针旋转或者逆时针旋转。

1.语法:

transform:rotate(度数);

重点:

  • rotate里面跟度数,单位是deg 比如 rotate(45deg)

  • 角度为正时,顺时针,负时,逆时针

  • 默认旋转的中心点是元素的中心点

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2D转换之旋转</title>
    <style>
        div img {
            float: left;
            width: 200px;
            /* 顺时针旋转45度 */
            /* transform: rotate(45deg); */
            border: 1px solid #ccc;
            border-radius: 50%;
            transition: all .3s;
            margin: 70px;
        }

        img:hover {
            /* transform: rotate(360deg); */
            transform: scale(3)
        }
    </style>
</head>
<body>
    <div><img src="../../images/tianz.jpg" alt=""></div>
    <div><img src="../../images/tianz.jpg" alt=""></div>
    <div><img src="../../images/tianz.jpg" alt=""></div>
    <div><img src="images/naicha.jpg" alt=""></div>
    <div><img src="images/naicha.jpg" alt=""></div>
    <div><img src="images/naicha.jpg" alt=""></div>
</body>
</html>

CSS书写三角

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS3书写三角</title>
    <style>
        div {
            position: relative;
            width: 249px;
            height: 35px;
            border: 1px solid #000;
        }
​
        div::after {
            content: '';
            position: absolute;
            top: 10px;
            right: 15px;
            width: 8px;
            height: 8px;
            border-right: 1px solid #000;
            border-bottom: 1px solid #000;
            transform: rotate(45deg);
            /* transition: all .1s; */
        }
        /* 鼠标经过div 里面的三角旋转 */
        div:hover::after {
            transform: rotate(225deg);
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

4.3 2D转换中心点transform-origin

我们可以设置元素转换的中心点

1.语法:

transform-origin: x,y;

2.重点

  • 注意后面的参数x和y用逗号隔开

  • x y默认转换的中心点是元素的中心点(50% 50%)

  • 还可以给x y 设置像素 或者 方位名词(top bottom left right center)

旋转中心点案列

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>旋转中心点案例</title>
    <style>
        /* div {
            width: 200px;
            height: 200px;
            background-color: pink;
            margin: 100px auto;
            transition: all .5s;
            1.可以跟方位名词
            transform-origin: left bottom;
            默认的是 50% 50%  等价于  center  center
            可以是 px 像素
            transform-origin: 50px 50px;
        } */
​
        /* div:hover {
            transform: rotate(360deg);
        } */
​
        div {
            overflow: hidden;
            float: left;
            width: 200px;
            height: 200px;
            border: 1px solid pink;
            margin: 10px;
            border: 1px solid #ccc;
            border-radius: 50%;
        }
​
        div::before {
            content: '你过来呀!';
            display: block;
            width: 200px;
            height: 200px;
            line-height: 200px;
            text-align: center;
            color: #fff;
            font-size: 24px;
            font-weight: 700;
            background-color: hotpink;
            border-radius: 50%;
            transform-origin: left bottom;
            transform: rotate(90deg);
            transition: all .3s;
        }
        /* 鼠标经过div 让里面的before 复原 */
        div:hover::before {
            transform: rotate(0);
        }
​
      
    </style>
</head>
<body>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</body>
</html>

4.4 2D转换之缩放scale()

缩放,顾名思义,可以放大和缩小。只要给元素添加了这个属性就能控制它是放大还是缩小

1.语法:

transform: scale(x,y);

2.注意:

  • 注意其中的x和y用逗号分隔

  • transform: scale(1,1); 宽和高都放大一倍,相当于没有放大
  • transform:scale(2,2); 宽和高都放大2倍
  • transform:scale(2); 只写一个参数,第二个参数则和第一个参数一样,相当于scale(2,2);
  • transform:scale(0.5,0.5); 缩小
  • scale缩放最大的优势:可以设置转换中心点缩放,默认以中心点缩放的,而且不影响其他盒子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2D转换之缩放scale</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            margin: 100px auto;
            transition: all .5s;
        }
​
        div:hover {
            /* 1. 里面写的是数字不跟单位  倍数 */
            /* transform: scale(x,y); */
            /* transform: scale(2,2); */
            /* 2. 修改了宽度为原来的2倍  高度不变 */
            /* transform: scale(2,1); */
            /* 3. 等比例缩放  同时修改宽度和高度,我们有简单的写法  一下是宽度修改了2倍,高度默认和第一个一样 */
            /* transform: scale(2); */
            /* 4. 我们可以进行缩小 小于1 就是缩放 */
            /* transform: scale(0.5,0.5);
            transform: scale(0.5); */
            /* 5. scale的优势之处:不会影响其他的盒子 而且可以设置缩放的中心点 */
            /* width: 100px;
            height: 100px; */
            transform: scale(2);
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

图片放大案例

<!DOCTYPE html>
<html lang="en">
​
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>图片放大案例</title>
    <style> 
        div {
            overflow: hidden;
            float: left;
            margin: 10px;
        }
​
        div  img {
            width: 400px;
            transition: all .4s;
        }
​
        div img:hover {
            transform: scale(1.2);
        }
    </style>
</head>
​
<body>
    <div><a href="#"><img src="../../images/tianz.jpg" alt=""></a></div>
    <div><a href="#"><img src="../../images/tianz.jpg" alt=""></a></div>
    <div><a href="#"><img src="../../images/tianz.jpg" alt=""></a></div>
</body>
​
</html>

分页按钮案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>分页按钮案例</title>
    <style>
        ul li  {
            display: inline-block;
            width: 50px;
            height: 50px;
            line-height: 50px;
            text-align: center;
            margin-left: 25px;
            border: 1px solid pink;
            border-radius: 50%;
            cursor: pointer;
            transition: all .3s;
        }
        
        a {
            text-decoration: none;
            color: #000;
        }
        
        li:hover {
            transform: scale(1.2);
        }
    </style>
</head>
<body>
    <ul>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li><a href="#">4</a></li>
        <li><a href="#">5</a></li>
        <li><a href="#">6</a></li>
        <li><a href="#">7</a></li>
    </ul>
</body>
</html>

4.5 2D转换综合写法

注意:

1.

同时使用多个转换,其格式为:transform:translate() rotate() scale()...等,

2.其顺序会影响转换的效果。(先选择会改变坐标轴方向)

3.当我们同时有位移和其他属性的时候,记得要将位移放到最前

4.6 2D转换总结

1. 转换transform 我们简单理解就是变形 有2D和3D之分
2. 我们暂且学了三个 分别是 位移 旋转 和 缩放
3. 2D 移动translate(x,y) 最大的优势是不影响其他盒子,里面参数用%,是相对于自身宽度和高度来计算的
4. 可以分开写比如translateX(x) 和 translateY(y)
5. 2D旋转rotate(度数)   可以实现旋转元素  度数的单位是deg
6. 2D缩放scale(x,y)  里面的参数是数字 不跟单位 可以是小数  最大的优势 不影响其他盒子
7. 设置转换中心点transform-origin: x,y;   参数可以是百分比、像素或者是方位名词
8. **当我们进行综合写法,同时有位移和其他属性的时候,记得要将位移放到最前**

5.动画

动画(animation)是CSS3中具有颠覆性的特征之一,可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果。

相比较过渡,动画可以实现更多变化,更多控制,连续自动播放等效果。

5.1 动画的基本使用

制作动画分为两步:

  1. 先定义动画

  2. 再使用(调用)动画

1.用@keyframes定义动画(类似定义类选择器)

@keyframes 动画名称 {
    0% {
        width: 100px;
    }
    100% {
        width: 200px;
    }
}

动画序列

  • 0%是动画的开始,100%是动画的完成这样的规划就是动画序列。

  • @keyframes中规定某项CSS样式,就能创建由当前样式逐渐改变为新样式的动画效果

  • 动画是使元素从一种样式逐渐变化为另一种样式的效果。您可以改变任意多的样式任意多的次数

  • 请用百分比来规定变化发生的时间,或用关键词'from'和'to',等同于0%100%

2.元素使用动画

    div {
        width: 200px;
        height: 200px;
        background-color: aqua;
        margin: 100px auto;
        /* 调用动画 */
        animation-name: 动画名称;
        /* 持续时间 */
        animation-duration: 持续时间;
    }

动画的基本使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS3动画基本使用</title>
    <style>
        /* 我们想一打开页面,一个盒子就从左边走到右边 */
        /* 1. 定义动画 */
​
        @keyframes  move {
            /* 开始状态 */
            0% {
                transform: translateX(0px);
            }
            100% {
                transform: translateX(1000px);
            }
        }
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            /* 调用动画 */
            /* 动画名称 */
            animation-name: move;
            /* 持续时间 */
            animation-duration: 2s;
​
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

动画序列

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>动画序列</title>
    <style>
        /* form 和 to 等价于 0% 和 100% */
        /* @keyframes move {
            from {
                transform: translate(0,0);
            }
            to {
                transform: translate(1000px,0);
            }
        } */

        @keyframes move {
            /* 1. 可以做多个状态的变化  keyframes 关键帧 */
            /* 2. 里面的百分比要是整数 */
            /* 3. 里面的百分比就是 总的时间(我们这个案列10s) 的划分 25% * 10 = 2.5s */
            0% {
                transform: translate(0,0);
            }
            25% {
                transform: translate(1000px,0);
            }
            50% {
                transform: translate(1000px,500px);
            }
            75% {
                transform: translate(0,500px);
            }
            100% {
                transform: translate(0,0);
            }
        }

        div {
            width: 100px;
            height: 100px;
            background-color: pink;
            animation-name: move;
            animation-duration: 10s;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

5.2 动画常用属性

属性描述
@keyframes规定动画
animation所有动画属性的简写属性,除了animation-play-state属性。
animation-name规定@keyframes动画的名称。(必须的)
animation-duration规定动画完成一个周期所花费的秒或毫秒,默认是0。(必须的)
animation-timing-function规定动画的速度曲线,默认是"ease"
animation-delay规定动画何时开始,默认是0
animation-iteration-count规定动画被播放的次数,默认是1,还有infinite
animation-direction规定动画是否在下一周期逆向播放,默认是"normal",alternate逆播放
animation-play-state规定动画是否正在运行或暂停。默认是"running",还有"paused"
animation-fill-mode规定动画结束后状态,保持forwards回到起始backwards

动画属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>动画属性</title>
    <style>
        @keyframes move {
            0% {
                transform: translate(0,0);
            }
            50% {
                transform: translate(1000px,500px) rotate(180deg) scale(4);
            }
            100% {
                transform: translate(1000px,0);
            }
        }
​
        div {
            width: 100px;
            height: 100px;
            background-color: pink;
            transition: all .5s;
            /* 动画名称 */
            animation-name: move;
            /* 花费时间 */
            animation-duration: 1s;
            /* 运动曲线 */
            animation-timing-function: ease-in-out;
            /* 何时开始 */
            /* animation-delay: 10s; */
            /* 重复次数   iteration 重复的  infinite  无限 */
            animation-iteration-count: infinite;
            /* 是否反方向播放  默认的是 normal 如果想要反方向  就写 alternate */
            animation-direction: alternate;
            /* 动画结束后的状态  默认是 backwards 回到起始状态  我们可以让他停留在结束状态 forwards */
            animation-fill-mode: forwards;
        }
​
        div:hover {
            /* 鼠标经过div 就让这个div停止动画,鼠标离开就继续动画 */
            animation-play-state: paused;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

5.3 动画简写属性

animation:动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 动画起始或者结束的状态

	animation: myfirst 5s linear 2s infinite alternate;
1. 简写属性里面不包括animation-play-state
2. 暂停动画:animation-play-state:puased;经常和鼠标经过等其他配合使用
3. 想要动画走回来,而不是直接跳回来:animation-direction:alternate
4. 盒子动画结束后,停在结束位置:animation-fill-mode:forwoeds

大数据热点图

<!DOCTYPE html>
<html lang="en">
​
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>大数据热点图</title>
    <style>
        .map {
            position: relative;
            width: 650px;
            height: 537px;
            background: url(../../images/map.jpg) no-repeat;
            margin: 0 auto;
        }
​
        .city {
            position: absolute;
            top: 202px;
            right: 162px;
        }
​
        .tb {
            top: 418px;
            right: 68px;
        }
​
        .wh {
            top: 345px;
            right: 168px;
        }
​
        .dotted {
            width: 8px;
            height: 8px;
            background-color: #09f;
            border-radius: 50%;
        }
​
        .city div[class^="pulse"] {
            /* 保证我们小波纹在父盒子里面水平居中垂直居中 放大之后就会中心向四周发散 */
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 8px;
            height: 8px;
            box-shadow: 0 0 12px #009dfd;
            border-radius: 50%;
            animation: pules .8s linear infinite;
        }
​
        .pulse2 {
            animation-delay: .4s !important;
        }
​
        .city div .pulse3 {
            animation-delay: .8s;
        }
​
        @keyframes pules {
            0% {}
​
            70% {
                /* transform: scale(4); 我们不要用scale 因为它会让 阴影变大 */
                width: 40px;
                height: 40px;
                /* opacity 透明度 */
                opacity: 1;
            }
​
            100% {
                width: 70px;
                height: 70px;
                opacity: 0;
            }
        }
    </style>
</head>
​
<body>
    <div class="map">
        <div class="city">
            <div class="dotted"></div>
            <div class="pulse1"></div>
            <div class="pulse2"></div>
            <div class="pulse3"></div>
        </div>
        <div class="city tb">
            <div class="dotted"></div>
            <div class="pulse1"></div>
            <div class="pulse2"></div>
            <div class="pulse3"></div>
        </div>
        <div class="city wh">
            <div class="dotted"></div>
            <div class="pulse1"></div>
            <div class="pulse2"></div>
            <div class="pulse3"></div>
        </div>
    </div>
</body>
​
</html>

5.4 速度曲线细节

animation-timing-function:规定动画的速度曲线,默认是"ease"

描述
linear动画从头到尾的速度是相同的。匀速
ease默认。动画以低速开始,然后加快,在结束前变慢
ease-in动画以低速开始
ease-out动画以低速结束
ease-in-out动画以低速开始和结束
steps()指定了时间函数中的间隔数量(步长)

速度曲线步长

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>速度曲线步长</title>
    <style>
        div {
            width: 0;
            height: 30px;
            background-color: pink;
            font-size: 20px;
            /* 让我们的文字强制一行内显示 */
            white-space: nowrap;
            /* steps就是分几步来完成我们的动画  有了steps 就不要写ease 或者 linear  */
            animation: w 4s steps(10) forwards;
            overflow: hidden;
        }

        @keyframes w {
            0% {
                width: 0;
            }
            100% {
                width: 200px;
            }
        }
    </style>
</head>
<body>
    <div>世纪佳豪我在这里等你</div>
</body>
</html>

奔跑的熊案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>奔跑的熊案例</title>
    <style>
        body {
            background-color: #ccc;
        }

        div {
            position: absolute;
            top: 198px;
            width: 200px;
            height: 100px;
            background: url(../../images/bear.png) no-repeat;
            /* 我们元素可以添加多个动画 用逗号进行分隔 */
            animation: bear 1s steps(8) infinite, move 5s forwards;
        }

        .shan {
            position: relative;
            width: 1880px;
            height: 330px;
            background: url(../../images/bg1.png);
        }

        @keyframes bear {
            0% {
                
                background-position: 0 0;
            }
            100% {
                background-position: -1600px 0;
            }
        }

        @keyframes move {
            0% {
                left: 0;
            }
            100% {
                left: 50%;
                transform: translate(-50%,0);
            }
        }
    </style>
</head>
<body>
    
    <div class="shan">
        <div></div>
    </div>
</body>
</html>

6. 3D转换

我们生活的环境是3D的,照片就是3D物体在2D平面呈现的例子。

有什么特点

  • 近大远小

  • 物体后面遮挡不可见

当我们在网页上构建3D效果的时候参考这些特点就能产出3D效果。

6.1 三维坐标系

  • x轴:水平向右 注意:x右边是正值,左边是负值

  • y轴:垂直向下 注意:y下面是正值,上面是负值

  • z轴:垂直屏幕 注意:往外面是正值,往里面是负值

3D转换

3D转换我们主要学习工作中对常用的 3D位移 和 3D旋转

主要知识点

  • 3D位移:translate3d(x,y,z)

  • 3D旋转rotate3d(x,y,z)

  • 透视:perspective

  • 3D呈现transfrom-style

6.2 3D移动 translate3d

3D移动在2D移动的基础上多加了一个可以移动的方向,就是z轴方向。

  • transform:translateX(100px);仅仅是在x轴上移动

  • transform:translateY(100px);仅仅是在y轴上移动

  • transform:translateZ(100px);仅仅是在z轴上移动(注意:translateZ一般用px单位)

  • transform:translate3d(x,y,z);其中x、y、z分别指要移动的轴的方向的距离

6.3透视perspective

在2D平面产生近大远小视觉立体,但是只是效果二维的

  • 如果想要在网页产生3D效果需要透视(理解成3D物体投影在2D平面内)。

  • 模拟人类的视觉位置,可认为安排一只眼睛去看

  • 透视我们也称为视距:视距就是人的眼睛到屏幕的距离

  • 距离视觉点越近的在电脑平面成像越大,越远成像越小

  • 透视的单位是像素

透视写在被观察元素的父盒子上面的

d:就是视距,视距就是一个距离人的眼睛到屏幕的距离。

z:就是z轴,物体距离屏幕的距离,z轴越大(正值)我们看到的物体就越大。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>3d移动transform3d</title>
    <style>
        body {
            /* 透视写在被观察元素的父盒子上面 */
            perspective: 200px;
        }

        div {
            width: 200px;   
            height: 200px;
            background-color: pink;
            /* transform: translateX(100px);
            transform: translateY(100px); */
            transform: translateX(100px) translateY(100px) translateZ(100px);
            /* 1. translateZ 沿着z轴移动 */
            /* 2. translateZ 后面的单位我们一般跟px */
            /* 3. translateZ(100px) 向外移动100px  (想着我们的眼睛来移动的) */
            /* 4. 3d移动有简写的方法 */
            /* transform: translate3d(x,y,z); */
            /* transform: translate3d(100px,100px,100px); */
            /* 5. xyz是不能省略的 如果没有就写0 */
            transform: translate3d(600px,100px,100px);
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

6.4translateZ

transform:translateZ(100px); 仅仅是在z轴上移动。

有了透视,就能看到translateZ引起的变化了

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>translateZ</title>
    <style>
        div {
            width: 200px;   
            height: 200px;
            background-color: pink;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

6.5 3D旋转 rotate3d

3D旋转指可以让元素在三维平面内沿着x轴,y轴,z轴或者自定义轴进行旋转。

语法

  • transform:rotateX(45deg); 沿着x轴正方向旋转45度

  • transform:rotateY(45deg); 沿着y轴正方向旋转45度

  • transform:rotateZ(45deg); 沿着z轴正方向旋转45度

  • transform:rotate3d(x,y,z,deg); 沿着自定义轴旋转deg为角度(了解即可)

对于元素旋转的方向的判断 我们需要先学习一个左手准则。

左手准则(X轴)

  • 左手的手拇指指向x轴的正方向

  • 其余手指的弯曲方向就是该元素沿着x轴旋转的方向

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>rotateX</title>
    <style>
        div {
            perspective: 600px;
        }
​
        div img {
            display: block;
            margin: 100px auto;
            transition: all 1s;
        }
​
        div img:hover {
            transform: rotateX(180deg);
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div>
        <img src="../../images/tianz.jpg" alt="">
    </div>
</body>
</html>

左手准则(Y轴)

  • 左手的手拇指指向y轴的正方向

  • 其余手指的弯曲方向就是该元素沿着y轴旋转的方向(正值)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>rotateY</title>
    <style>
        div {
            perspective: 400px;
        }
​
        div img {
            display: block;
            margin: 0 auto;
            transition: all 1s;
        }
​
        img:hover {
            transform: rotateY(180deg);
        }
    </style>
</head>
<body>
    <div>
        <img src="../../images/tianz.jpg" alt="">
    </div>
</body>
</html>

transform:rotate3d(x,y,z,deg); 沿着自定义轴旋转deg为角度(了解即可)

xyz是表示旋转轴的矢量,是表示你是否希望沿着该轴旋转,最后一个表示旋转的角度

6.6 3D呈现transform-style

  • 控制子元素是否开启三维立体环境

  • transform-style:flat 子元素不开启3d立体空间 默认的

  • transform-style:preserver-3d; 子元素开启立体空间

  • 代码写给父级,但是影响的是子盒子

  • 这个属性很重要,后面必用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>3D呈现transform-style</title>
    <style> 
        body {
            perspective: 400px;
        }
        .box {
            position: relative;
            width: 200px;
            height: 200px;
            margin: 100px auto;
            transition: all 2s;
            /* 让我们的子元素保持3d立体空间环境 */
            transform-style: preserve-3d;
        }
        .box:hover {
            transform: rotate3d(0,1,0,-deg);
        }
        .box div {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: pink;
        }

        .box div:last-child {
            background-color: purple;
            transform: rotateX(60deg);
        }
    </style>
</head>
<body>
    <div class="box">
        <div></div>
        <div></div>
    </div>
</body>
</html>

案例:两面翻转的盒子

1.搭建HTML结构

    <div class="box">
            <div class="front">黑马程序员</div>
            <div class="back">我在这里等你</div>
    </div>
  • box父盒子里面包含前后两个子盒子

  • box是翻转的盒子 front是前面盒子back是后面盒子

2.CSS样式

  1. box指定大小,切记要添加3d呈现

  2. back盒子要沿着y轴翻转180度

  3. 最后鼠标经过box沿着y旋转180deg

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>两面翻转的盒子</title>
    <style>
        body {
            perspective: 400px;
        }

        .box {
            position: relative;
            width: 400px;
            height: 400px;
            margin: 100px auto;
            transition: all .4s;
            /* 让背面的盒子保留立体空间 */
            transform-style: preserve-3d;
        }

        .box:hover {
            transform: rotateY(180deg);
        }

        .front,
        .back {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            font-size: 30px;
            line-height: 400px;
            text-align: center;
            color: #fff;
        }
        .front {
            background-color: pink;
            z-index: 1;
        }
        .back {
            background-color: purple;
            /* 像手机 背靠背 旋转 */
            transform: rotateY(180deg);
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="front">黑马程序员</div>
        <div class="back">我在这里等你</div>
    </div>
</body>
</html>

案例:3D导航栏

1.搭建HTML结构

    <ul>
            <li>
                <div class="box">
                    <div class="front">黑马程序员</div>
                    <div class="bottom">我在这里等你</div>
                </div>
            </li>
    </ul>
  • li做导航栏

  • .box是翻转的盒子 front是前面盒子bottom是底下盒子

<!DOCTYPE html>
<html lang="en">
​
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>3D导航栏</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
​
        ul {
            margin: 100px;
        }
​
        ul li {
            float: left;
            margin: 0 5px;
            width: 120px;
            height: 35px;
            list-style: none;
            /* 一会我们需要给box 旋转 也需要透视 干脆给li加 里面的子盒子都有透视效果 */
            perspective: 400px;
        }
​
        .box {
            position: relative;
            width: 100%;
            height: 100%;
            transform-style: preserve-3d;
            transition: all .4s;
        }
​
        .box:hover {
            transform: rotateX(90deg);
        }
​
        .front,
        .bottom {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            line-height: 35px;
            text-align: center;
        }
​
        .front {
            background-color: pink;
            z-index: 1;
            transform: translateZ(17.5px);
        }
​
        .bottom {
            background-color: purple;
            /* 这个x轴一定是负值 */
            /* 我们如果有移动 或者 其他样式 ,必须先写移动 */
            transform: translateY(17.5px) rotateX(-90deg);
        }
    </style>
</head>
​
<body>
    <ul>
        <li>
            <div class="box">
                <div class="front">黑马程序员</div>
                <div class="bottom">我在这里等你</div>
            </div>
            <div class="box">
                <div class="front">黑马程序员</div>
                <div class="bottom">我在这里等你</div>
            </div>
            <div class="box">
                <div class="front">黑马程序员</div>
                <div class="bottom">我在这里等你</div>
            </div>
            <div class="box">
                <div class="front">黑马程序员</div>
                <div class="bottom">我在这里等你</div>
            </div>
        </li>
    </ul>
</body>
​
</html>

案例:旋转木马

1.搭建HTML结构

    <section>
            <div></div>
            <div></div>
            <div></div>
            <div></div>
            <div></div>
            <div></div>
    </section>
<!DOCTYPE html>
<html lang="en">
​
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>案例:旋转木马</title>
    <style>
        body {
            perspective: 1000px;
        }
​
        section {
            position: relative;
            width: 400px;
            height: 400px;
            margin: 150px auto;
            transform-style: preserve-3d;
            animation: rotate 10s linear infinite;
            background: url(../../images/te4.jpg) no-repeat;
        }
​
        section:hover {
            /* 鼠标经过section 停止动画 */
            animation-play-state: paused;
            cursor: pointer;
        }
​
        @keyframes rotate {
            0% {
                transform: rotateY(0);
            }
            100% {
                transform: rotateY(360deg);
            }
        }
​
        img {
            width: 100%;
        }
​
        section div {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url(../../images/te2.jpg) no-repeat;
        }
​
        section div:nth-child(1) {
            transform: translateZ(400px);
        }
​
        section div:nth-child(2) {
            /* 先旋转好 再移动距离 */
            transform: rotateY(60deg) translateZ(400px);
            background: url(../../images/te1.jpg) no-repeat;
        }
​
        section div:nth-child(3) {
            /* 先旋转好 再移动距离 */
            transform: rotateY(120deg) translateZ(400px);
            background: url(../../images/te3.jpg) no-repeat;
        }
​
        section div:nth-child(4) {
            /* 先旋转好 再移动距离 */
            transform: rotateY(180deg) translateZ(400px);
            background: url(../../images/title.jpg) no-repeat;
        }
​
        section div:nth-child(5) {
            /* 先旋转好 再移动距离 */
            transform: rotateY(240deg) translateZ(400px);
            background: url(../../images/tianz.jpg) no-repeat;
        }
​
        section div:nth-child(6) {
            /* 先旋转好 再移动距离 */
            transform: rotateY(300deg) translateZ(400px);
            background: url(../新手进阶/images/naicha.jpg) no-repeat;
        }
    </style>
</head>
​
<body>
    <section>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
    </section>
</body>
​
</html>

7.浏览器私有前缀

浏览器私有前缀是为了兼容老版本的写法,比较新版本的浏览器无序添加。

1.私有前缀

  • -moz-:代表firefox浏览器私有属性(火狐)

  • -ms-:代表ie浏览器私有属性(微软)

  • -webkit-:代表safari、Chrome私有属性(谷歌等)

  • -o-:代表Opera私有属性

2.提倡的写法

    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;

课外知识扩展

  • 盒子覆盖知识点

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div:first-child {
            float: left;
            /* position: absolute;
            top: 0px;
            left: 0px; */
            width: 200px;
            height: 200px;
            background-color: red;
            z-index: 22;
        }
​
        div:last-child {
            /* position: absolute;
            top: 0px;
            left: 0px; */
            float: left;
            width: 100px;
            height: 100px;
            background-color: green;
        }
    </style>
</head>
<body>
    <div></div>
    <div></div>
    <!-- 当多个盒子重合时,三个不同类型的盒子,普通盒子和浮动盒子和定位盒子同时出现时,同一级别的盒子才能使用z-index
    来改变盒子的覆盖关系,而在这三个不同类型同时出现时,定位的优先级最高,另外两个无论z-index去什么值都是定位在最上面
    ,而浮动的优先级第二,普通盒子老工具人了没有盒权,一直都是被两个大哥压在下面-->
</body>
</html>

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
卷 data 的文件夹 PATH 列表 卷序列号为 64ED-8C1D D:\我的酷盘\FTP\学员面试资料 │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE企业应用实战.pdf │ Struts中文手册.pdf │ Struts配置文件详解.txt │ 上海税友.txt │ 上海税友软件 面试题.doc │ 公司培训文档-混淆的基本概念.doc │ 基本算法.doc │ 孙卫琴精通struts.基于MVC的.java.web设计与开发.pdf │ 学习Struts提供的和Form相关标签.txt │ 日企编码规范.doc │ 电信盈科面试题.pdf │ 速算.txt │ 面试题URL.txt │ ├─Javascript │ │ javascript资料(源码,教材,ppt).rar │ │ │ └─javascript资料(源码,教材,ppt) │ 00s.jpg │ 10fdada.gif │ 1102485678850.gif │ 1102513845804.gif │ 1102525271916.gif │ 1102554652413.gif │ 1102556639561.gif │ 9mmnbvc.gif │ adjuggler(1).htm │ adjuggler(2).htm │ adjuggler(3).htm │ adjuggler(4).htm │ adjuggler(5).htm │ adjuggler(6).htm │ adjuggler.htm │ article_count.jsp │ b01.gif │ b01a.gif │ b01d.gif │ b11.gif │ bian1.gif │ biao05.gif │ biaoshi1.gif │ bt724542.gif │ c.gif │ Counter │ counter.gif │ Desktop_.ini │ d_office_photo.html │ end02.gif │ end03.gif │ endin.htm │ feedback.htm │ peizhi1.gif │ Photoshopa.gif │ school.jpg │ schoolzt.gif │ schoolzt1.gif │ style.css │ title.html │ top.gif │ top.js │ UserTrack.htm │ zhuomianbianshen.gif │ ├─JavaScript 面试题 │ 新建 文本文档.txt │ ├─Java基础 │ └─SCJP │ │ 2006_02_01_SCWJD_EXAM.pdf │ │ Assertions.doc │ │ Collections.doc │ │ Desktop_.ini │ │ Fundamentals of the Java Programming Language .txt │ │ getstartedse5_zh_CN.pdf │ │ j2sdk-1_4_2-doc.zip │ │ Java Programming Language (SL-275).txt │ │ langspec-3.0.zip │ │ SCJP Certification Training.htm │ │ SCJP 考纲.doc │ │ SL275_OH_GB.pdf │ │ Sun Certified Programmer for Java 2 Platform 1.4 (CX-310-035)考试提纲.txt │ │ ucertify_prepkit_features.pdf │ │ vmspec.2nded.html.zip │ │ 一些其它网站的java基础精华贴.txt │ │ 新建 文本文档.txt │ │ 经验总结.txt │ │ 资料目录.txt │ │ 题目.txt │ │ │ ├─HTML Pages │ │ │ Desktop_.ini │ │ │ Low Level Security in Java.htm │ │ │ SCJP 1_4 认证的初级教程.htm │ │ │ 新建 文本文档.txt │ │ │ │ │ ├─Low Level Security in Java.files │ │ │ Desktop_.ini │ │ │ JAVA.85.gif │ │ │ s_code_remote.js │ │ │ │ │ └─SCJP 1_4 认证的初级教程.files │ │ bg-gold.gif │ │ c(1).gif │ │ c.gif │ │ Desktop_.ini │ │ dwcss.js │ │ dwlogo-small.gif │ │ emailfriend2.js │ │ forumwindow.js │ │ grabtitle.js │ │ ibm-logo.gif │ │ icon-email.gif │ │ search.gif │ │ stats.js │ │ │ ├─java │ │ │ Desktop_.ini │ │ │ Java程序员认证模拟题及详细分析.doc │ │ │ question.rar │ │ │ test4.doc │ │ │ 模拟题.rar │ │ │ 经典的104-147模拟题.rar │ │ │ │ │ ├─035 │ │ │ 2003.10.5.15.51.43.TestKing%20310-035%20Edt9.rar │ │ │ Desktop_.ini │ │ │ TestKing 310-035 Edt4.0.pdf │ │ │ TestKing 310-035 Edt4.0.rar │ │ │ │ │ ├─java认证课程 │ │ │ c01-04.doc │ │ │ C05.doc │ │ │ C06.doc │ │ │ C07.doc │ │ │ C08.doc │ │ │ c09.doc │ │ │ c10.doc │ │ │ c11-15.doc │ │ │ Desktop_.ini │ │ │ │ │ ├─question │ │ │ 275test-1.txt │ │ │ 275test-2.txt │ │ │ 275test-3.txt │ │ │ 275test-4.txt │ │ │ 275test.txt │ │ │ answer-1.txt │ │ │ answer-2.txt │ │ │ answer-3.txt │ │ │ answer-4.txt │ │ │ Desktop_.ini │ │ │ 考题_1.doc │ │ │ │ │ ├─参考资料 │ │ │ Desktop_.ini │ │ │ java编程思想中文301.pdf │ │ │ java编程思想中文302.pdf │ │ │ java编程思想中文303.pdf │ │ │ java编程思想中文304.pdf │ │ │ java编程思想中文305.pdf │ │ │ java编程思想中文306.pdf │ │ │ java编程思想中文307.pdf │ │ │ java编程思想中文308.pdf │ │ │ java编程思想中文309.pdf │ │ │ java编程思想中文310.pdf │ │ │ java编程思想中文311.pdf │ │ │ │ │ ├─培训 │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─培训主讲之题 │ │ │ │ Desktop_.ini │ │ │ │ question.rar │ │ │ │ │ │ │ └─培训教程 │ │ │ Desktop_.ini │ │ │ SL275_OH_GB.pdf │ │ │ │ │ ├─考前预测的三套题 │ │ │ Desktop_.ini │ │ │ Mock Exam - JCHQ - SCJP Exam 2.doc │ │ │ Mock Exam - JCHQ - SCJP Exam 2.pdf │ │ │ Mock Exam - JCHQ - SCJP Exam 3.pdf │ │ │ SCJP_021221_DL.pdf │ │ │ Scjp_14.pdf │ │ │ TestKing SCJP 310-025 v1.pdf │ │ │ the answer for Moxk2.doc │ │ │ Tutorial - Dylan Walsh - Quick SCJP.pdf │ │ │ │ │ ├─考题 │ │ │ 310-035.pdf │ │ │ Desktop_.ini │ │ │ readme.txt │ │ │ │ │ ├─认证资料 │ │ │ Cram Bible - SL 310-022,310-025 SUN Certified Java Programmer Exam.pdf │ │ │ Desktop_.ini │ │ │ Riders - Java 2 Certification Training Guide.pdf │ │ │ SUN - SL-275 Java Programming Language.pdf │ │ │ SUN - SL-315 JavaServer Pages Technology.pdf │ │ │ TestKing - Sun Java Certified Programmer v1.0.pdf │ │ │ │ │ └─难得资料 │ │ Desktop_.ini │ │ Java 基础题.doc │ │ │ ├─java考试 │ │ │ Desktop_.ini │ │ │ Java2程序员考试SCJP 试题解析 [SUN经验交流].htm │ │ │ Java国际认证(SCJP)典型试题1000例 - dearbook_com_cn.htm │ │ │ Java研究组织 - 研究文集 - SCJP 认证.htm │ │ │ Java认证SCJP之精辟总结--中国最权威的电脑教程认证信息软件资讯网站-3.htm │ │ │ Java认证SCJP之精辟总结--中国最权威的电脑教程认证信息软件资讯网站-4.htm │ │ │ Java认证SCJP之精辟总结--中国最权威的电脑教程认证信息软件资讯网站1.htm │ │ │ Java认证SCJP之精辟总结--中国最权威的电脑教程认证信息软件资讯网站2.htm │ │ │ Java认证SCJP之精辟总结--中国最权威的电脑教程认证信息软件资讯网站5.htm │ │ │ Matrix-与Java共舞 - Java相关技术(SCJP 论证).htm │ │ │ SCJP 1_4 考试心得(1).htm │ │ │ SCJP 1_4 考试心得(3) - 开发者 - ZDNet China.htm │ │ │ SCJP 1_4 考试心得(3) - 开发者.htm │ │ │ SCJP认证考试全接触-中国教育在线.htm │ │ │  [SUN经验交流]2.htm │ │ │  [SUN经验交流]3.htm │ │ │  [SUN经验交流]4.htm │ │ │ 中文java技术网Java程序员(SCJP)和开发员(SCJD)认证.htm │ │ │ 前卫资源网.htm │ │ │ 昆仑瑞通IT高级技术培训.htm │ │ │ │ │ ├─Java2程序员考试SCJP 试题解析 [SUN经验交流].files │ │ │ │ ad_article_xl_pcjob.js │ │ │ │ ad_art_150500.js │ │ │ │ ad_art_743.js │ │ │ │ ad_art_zl550.js │ │ │ │ ad_it55080.js │ │ │ │ ad_text_pcjob.js │ │ │ │ artbrowse.htm │ │ │ │ art_focus.js │ │ │ │ blank.gif │ │ │ │ bot_login.gif │ │ │ │ bot_search.gif │ │ │ │ commend.gif │ │ │ │ commend1.gif │ │ │ │ commend3.gif │ │ │ │ commend4.gif │ │ │ │ commend6.gif │ │ │ │ cp_main.jpg │ │ │ │ dcleft_bg.gif │ │ │ │ Desktop_.ini │ │ │ │ jobevery.js │ │ │ │ job_menu.js │ │ │ │ menu.html │ │ │ │ menu_diqu_01.gif │ │ │ │ menu_diqu_02.gif │ │ │ │ menu_it.gif │ │ │ │ newleft2.gif │ │ │ │ newlogo1.gif │ │ │ │ newright2.gif │ │ │ │ pcjob200.gif │ │ │ │ pc_but.js │ │ │ │ point.gif │ │ │ │ text.css │ │ │ │ toptitle_01.gif │ │ │ │ toptitle_02.gif │ │ │ │ toptitle_03.gif │ │ │ │ toptitle_left.gif │ │ │ │ toptitle_right.gif │ │ │ │ xgart_bg.gif │ │ │ │ xgart_biao.gif │ │ │ │ │ │ │ └─menu.files │ │ │ Desktop_.ini │ │ │ text.css │ │ │ │ │ ├─Java国际认证(SCJP)典型试题1000例 - dearbook_com_cn.files │ │ │ │ 2up.gif │ │ │ │ 2up01.gif │ │ │ │ 2up02.gif │ │ │ │ 2up03.gif │ │ │ │ 2up04.gif │ │ │ │ 2up05.gif │ │ │ │ 2up06.gif │ │ │ │ 2up07.gif │ │ │ │ 2up08.gif │ │ │ │ 2up09.gif │ │ │ │ add-to-cart.gif │ │ │ │ add-to-scj.gif │ │ │ │ add-to-syh.gif │ │ │ │ ads.htm │ │ │ │ beijing01.gif │ │ │ │ biaoshi.gif │ │ │ │ bookfriend.gif │ │ │ │ bookfriend.js │ │ │ │ box.gif │ │ │ │ buy-both.gif │ │ │ │ Dearbook.css │ │ │ │ Desktop_.ini │ │ │ │ dingdan.gif │ │ │ │ down01.gif │ │ │ │ fun.js │ │ │ │ Functions.js │ │ │ │ index_13.gif │ │ │ │ index_14_1.gif │ │ │ │ I_up01.gif │ │ │ │ line.gif │ │ │ │ logo01.gif │ │ │ │ newbook.gif │ │ │ │ orange-arrow.gif │ │ │ │ pageview1.htm │ │ │ │ plus-sign.gif │ │ │ │ Q_up01.gif │ │ │ │ recommend2vip.gif │ │ │ │ search.gif │ │ │ │ SearchForm.aspx │ │ │ │ shanghai01.gif │ │ │ │ ShoppingCartBrief.aspx │ │ │ │ show_ads.js │ │ │ │ smallTS_750538000401top.jpg │ │ │ │ smallTS_750832175201top.jpg │ │ │ │ smallTS_780163890801top.jpg │ │ │ │ song.css │ │ │ │ stars-1-0.gif │ │ │ │ stars-2-0.gif │ │ │ │ stars-3-0.gif │ │ │ │ stars-4-0.gif │ │ │ │ stars-5-0.gif │ │ │ │ SubSitePromotion.htm │ │ │ │ S_up01.gif │ │ │ │ TopLoginInfo.aspx │ │ │ │ TS_780163890801top.jpg │ │ │ │ tuangou.gif │ │ │ │ T_up01.gif │ │ │ │ W_up01.gif │ │ │ │ │ │ │ ├─SearchForm.files │ │ │ │ Desktop_.ini │ │ │ │ left01.gif │ │ │ │ search.gif │ │ │ │ song3.css │ │ │ │ │ │ │ ├─ShoppingCartBrief.files │ │ │ │ CartBrief.gif │ │ │ │ Desktop_.ini │ │ │ │ Functions.js │ │ │ │ │ │ │ └─TopLoginInfo.files │ │ │ DearBook.css │ │ │ Desktop_.ini │ │ │ │ │ ├─Java研究组织 - 研究文集 - SCJP 认证.files │ │ │ │ article_old.gif │ │ │ │ back_to.gif │ │ │ │ common.js │ │ │ │ Desktop_.ini │ │ │ │ leftad.htm │ │ │ │ logo.gif │ │ │ │ post.gif │ │ │ │ recommend.jsp │ │ │ │ topbanner.htm │ │ │ │ zaxis.css │ │ │ │ │ │ │ ├─leftad.files │ │ │ │ 180x45.GIF │ │ │ │ Desktop_.ini │ │ │ │ zaxis.css │ │ │ │ │ │ │ └─recommend.files │ │ │ Desktop_.ini │ │ │ zaxis.css │ │ │ │ │ ├─Java认证SCJP之精辟总结--中国最权威的电脑教程认证信息软件资讯网站-3.files │ │ │ │ 00s.jpg │ │ │ │ 10fdada.gif │ │ │ │ 1102485678850.gif │ │ │ │ 1102513845804.gif │ │ │ │ 1102525271916.gif │ │ │ │ 1102554652413.gif │ │ │ │ 1102556639561.gif │ │ │ │ 9mmnbvc.gif │ │ │ │ adjuggler(1).htm │ │ │ │ adjuggler(2).htm │ │ │ │ adjuggler(3).htm │ │ │ │ adjuggler(4).htm │ │ │ │ adjuggler(5).htm │ │ │ │ adjuggler(6).htm │ │ │ │ adjuggler.htm │ │ │ │ article_count.jsp │ │ │ │ b01.gif │ │ │ │ b01a.gif │ │ │ │ b01d.gif │ │ │ │ b11.gif │ │ │ │ bian1.gif │ │ │ │ biao05.gif │ │ │ │ biaoshi1.gif │ │ │ │ bt724542.gif │ │ │ │ c.gif │ │ │ │ Counter │ │ │ │ counter.gif │ │ │ │ Desktop_.ini │ │ │ │ d_office_photo.html │ │ │ │ end02.gif │ │ │ │ end03.gif │ │ │ │ endin.htm │ │ │ │ feedback.htm │ │ │ │ peizhi1.gif │ │ │ │ Photoshopa.gif │ │ │ │ school.jpg │ │ │ │ schoolzt.gif │ │ │ │ schoolzt1.gif │ │ │ │ style.css │ │ │ │ title.html │ │ │ │ top.gif │ │ │ │ top.js │ │ │ │ UserTrack.htm │ │ │ │ zhuomianbianshen.gif │ │ │ │ │ │ │ ├─adjuggler(6).files │ │ │ │ │ 01.htm │ │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ │ │ └─01.files │ │ │ │ 120X120_iPodmini_color_181104_CN.gif │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─adjuggler.files │ │ │ │ adfshow.htm │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─d_office_photo.files │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─endin.files │ │ │ │ 1089944158376.gif │ │ │ │ 1099324377796.gif │ │ │ │ 1100539723534.gif │ │ │ │ Desktop_.ini │ │ │ │ end02.gif │ │ │ │ end03.gif │ │ │ │ style.css │ │ │ │ │ │ │ └─feedback.files │ │ │ Desktop_.ini │ │ │ end02.gif │ │ │ end07.gif │ │ │ end08.gif │ │ │ feedbackCount.jsp │ │ │ │ │ ├─Java认证SCJP之精辟总结--中国最权威的电脑教程认证信息软件资讯网站-4.files │ │ │ │ 00s.jpg │ │ │ │ 10fdada.gif │ │ │ │ 1102485678850.gif │ │ │ │ 1102513845804.gif │ │ │ │ 1102525271916.gif │ │ │ │ 1102554652413.gif │ │ │ │ 1102556639561.gif │ │ │ │ 9mmnbvc.gif │ │ │ │ adjuggler(1).htm │ │ │ │ adjuggler(2).htm │ │ │ │ adjuggler(3).htm │ │ │ │ adjuggler(4).htm │ │ │ │ adjuggler(5).htm │ │ │ │ adjuggler(6).htm │ │ │ │ adjuggler.htm │ │ │ │ article_count.jsp │ │ │ │ b01.gif │ │ │ │ b01a.gif │ │ │ │ b01d.gif │ │ │ │ b11.gif │ │ │ │ bian1.gif │ │ │ │ biao05.gif │ │ │ │ biaoshi1.gif │ │ │ │ bt724542.gif │ │ │ │ c.gif │ │ │ │ Counter │ │ │ │ Desktop_.ini │ │ │ │ d_office_photo.html │ │ │ │ end02.gif │ │ │ │ end03.gif │ │ │ │ endin.htm │ │ │ │ feedback.htm │ │ │ │ peizhi1.gif │ │ │ │ Photoshopa.gif │ │ │ │ school.jpg │ │ │ │ schoolzt.gif │ │ │ │ schoolzt1.gif │ │ │ │ style.css │ │ │ │ title.html │ │ │ │ top.gif │ │ │ │ top.js │ │ │ │ UserTrack.htm │ │ │ │ zhuomianbianshen.gif │ │ │ │ │ │ │ ├─adjuggler(6).files │ │ │ │ │ 01.htm │ │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ │ │ └─01.files │ │ │ │ 120X120_iPodmini_color_181104_CN.gif │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─d_office_photo.files │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─endin.files │ │ │ │ 1089944158376.gif │ │ │ │ 1099324377796.gif │ │ │ │ 1100539723534.gif │ │ │ │ Desktop_.ini │ │ │ │ end02.gif │ │ │ │ end03.gif │ │ │ │ style.css │ │ │ │ │ │ │ └─feedback.files │ │ │ Desktop_.ini │ │ │ end02.gif │ │ │ end07.gif │ │ │ end08.gif │ │ │ feedbackCount.jsp │ │ │ │ │ ├─Java认证SCJP之精辟总结--中国最权威的电脑教程认证信息软件资讯网站1.files │ │ │ │ 00s.jpg │ │ │ │ 10fdada.gif │ │ │ │ 1102485678850.gif │ │ │ │ 1102513845804.gif │ │ │ │ 1102525271916.gif │ │ │ │ 1102554652413.gif │ │ │ │ 1102556639561.gif │ │ │ │ 9mmnbvc.gif │ │ │ │ adjuggler(1).htm │ │ │ │ adjuggler(2).htm │ │ │ │ adjuggler(3).htm │ │ │ │ adjuggler(4).htm │ │ │ │ adjuggler(5).htm │ │ │ │ adjuggler(6).htm │ │ │ │ adjuggler.htm │ │ │ │ article_count.jsp │ │ │ │ b01.gif │ │ │ │ b01a.gif │ │ │ │ b01d.gif │ │ │ │ b11.gif │ │ │ │ bian1.gif │ │ │ │ biao05.gif │ │ │ │ biaoshi1.gif │ │ │ │ bt724542.gif │ │ │ │ c.gif │ │ │ │ Counter │ │ │ │ counter.gif │ │ │ │ Desktop_.ini │ │ │ │ d_office_photo.html │ │ │ │ end02.gif │ │ │ │ end03.gif │ │ │ │ endin.htm │ │ │ │ feedback.htm │ │ │ │ peizhi1.gif │ │ │ │ Photoshopa.gif │ │ │ │ school.jpg │ │ │ │ schoolzt.gif │ │ │ │ schoolzt1.gif │ │ │ │ style.css │ │ │ │ title.html │ │ │ │ top.gif │ │ │ │ top.js │ │ │ │ UserTrack.htm │ │ │ │ zhuomianbianshen.gif │ │ │ │ │ │ │ ├─adjuggler(6).files │ │ │ │ │ 01.htm │ │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ │ │ └─01.files │ │ │ │ 120X120_iPodmini_color_181104_CN.gif │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─d_office_photo.files │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─endin.files │ │ │ │ 1089944158376.gif │ │ │ │ 1099324377796.gif │ │ │ │ 1100539723534.gif │ │ │ │ Desktop_.ini │ │ │ │ end02.gif │ │ │ │ end03.gif │ │ │ │ style.css │ │ │ │ │ │ │ └─feedback.files │ │ │ Desktop_.ini │ │ │ end02.gif │ │ │ end07.gif │ │ │ end08.gif │ │ │ feedbackCount.jsp │ │ │ │ │ ├─Java认证SCJP之精辟总结--中国最权威的电脑教程认证信息软件资讯网站2.files │ │ │ │ 00s.jpg │ │ │ │ 10fdada.gif │ │ │ │ 1102485678850.gif │ │ │ │ 1102513845804.gif │ │ │ │ 1102525271916.gif │ │ │ │ 1102554652413.gif │ │ │ │ 1102556639561.gif │ │ │ │ 9mmnbvc.gif │ │ │ │ adjuggler(1).htm │ │ │ │ adjuggler(2).htm │ │ │ │ adjuggler(3).htm │ │ │ │ adjuggler(4).htm │ │ │ │ adjuggler(5).htm │ │ │ │ adjuggler(6).htm │ │ │ │ adjuggler.htm │ │ │ │ article_count.jsp │ │ │ │ b01.gif │ │ │ │ b01a.gif │ │ │ │ b01d.gif │ │ │ │ b11.gif │ │ │ │ bian1.gif │ │ │ │ biao05.gif │ │ │ │ biaoshi1.gif │ │ │ │ bt724542.gif │ │ │ │ c.gif │ │ │ │ Counter │ │ │ │ Desktop_.ini │ │ │ │ d_office_photo.html │ │ │ │ end02.gif │ │ │ │ end03.gif │ │ │ │ endin.htm │ │ │ │ feedback.htm │ │ │ │ peizhi1.gif │ │ │ │ Photoshopa.gif │ │ │ │ school.jpg │ │ │ │ schoolzt.gif │ │ │ │ schoolzt1.gif │ │ │ │ style.css │ │ │ │ title.html │ │ │ │ top.gif │ │ │ │ top.js │ │ │ │ UserTrack.htm │ │ │ │ zhuomianbianshen.gif │ │ │ │ │ │ │ ├─adjuggler(6).files │ │ │ │ │ 01.htm │ │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ │ │ └─01.files │ │ │ │ 120X120_iPodmini_color_181104_CN.gif │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─d_office_photo.files │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─endin.files │ │ │ │ 1089944158376.gif │ │ │ │ 1099324377796.gif │ │ │ │ 1100539723534.gif │ │ │ │ Desktop_.ini │ │ │ │ end02.gif │ │ │ │ end03.gif │ │ │ │ style.css │ │ │ │ │ │ │ └─feedback.files │ │ │ Desktop_.ini │ │ │ end02.gif │ │ │ end07.gif │ │ │ end08.gif │ │ │ feedbackCount.jsp │ │ │ │ │ ├─Java认证SCJP之精辟总结--中国最权威的电脑教程认证信息软件资讯网站5.files │ │ │ │ 00s.jpg │ │ │ │ 10fdada.gif │ │ │ │ 1102485678850.gif │ │ │ │ 1102513845804.gif │ │ │ │ 1102525271916.gif │ │ │ │ 1102554652413.gif │ │ │ │ 1102556639561.gif │ │ │ │ 9mmnbvc.gif │ │ │ │ adjuggler(1).htm │ │ │ │ adjuggler(2).htm │ │ │ │ adjuggler(3).htm │ │ │ │ adjuggler(4).htm │ │ │ │ adjuggler(5).htm │ │ │ │ adjuggler(6).htm │ │ │ │ adjuggler.htm │ │ │ │ article_count.jsp │ │ │ │ b01.gif │ │ │ │ b01a.gif │ │ │ │ b01d.gif │ │ │ │ b11.gif │ │ │ │ bian1.gif │ │ │ │ biao05.gif │ │ │ │ biaoshi1.gif │ │ │ │ bt724542.gif │ │ │ │ c.gif │ │ │ │ Counter │ │ │ │ Desktop_.ini │ │ │ │ d_office_photo.html │ │ │ │ end02.gif │ │ │ │ end03.gif │ │ │ │ endin.htm │ │ │ │ feedback.htm │ │ │ │ peizhi1.gif │ │ │ │ Photoshopa.gif │ │ │ │ school.jpg │ │ │ │ schoolzt.gif │ │ │ │ schoolzt1.gif │ │ │ │ style.css │ │ │ │ title.html │ │ │ │ top.gif │ │ │ │ top.js │ │ │ │ UserTrack.htm │ │ │ │ zhuomianbianshen.gif │ │ │ │ │ │ │ ├─adjuggler(6).files │ │ │ │ │ 01.htm │ │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ │ │ └─01.files │ │ │ │ 120X120_iPodmini_color_181104_CN.gif │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─d_office_photo.files │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─endin.files │ │ │ │ 1089944158376.gif │ │ │ │ 1099324377796.gif │ │ │ │ 1100539723534.gif │ │ │ │ Desktop_.ini │ │ │ │ end02.gif │ │ │ │ end03.gif │ │ │ │ style.css │ │ │ │ │ │ │ └─feedback.files │ │ │ Desktop_.ini │ │ │ end02.gif │ │ │ end07.gif │ │ │ end08.gif │ │ │ feedbackCount.jsp │ │ │ │ │ ├─Matrix-与Java共舞 - Java相关技术(SCJP 论证).files │ │ │ 0.gif │ │ │ bar_12_bg.gif │ │ │ bar_12_left.gif │ │ │ bar_12_right.gif │ │ │ basic.js │ │ │ bg2.gif │ │ │ bg3l.gif │ │ │ bg_dian.gif │ │ │ Desktop_.ini │ │ │ download.gif │ │ │ head_scroll.js │ │ │ i.gif │ │ │ icon_admin.gif │ │ │ icon_puser.gif │ │ │ icon_super.gif │ │ │ icon_user.gif │ │ │ icon_vip.gif │ │ │ joekoe.css │ │ │ jt0.gif │ │ │ jt1.gif │ │ │ jt12.gif │ │ │ jt13.gif │ │ │ jt14.gif │ │ │ matrix.jpg │ │ │ matrix.org.htm │ │ │ menu_bg.gif │ │ │ mouse_on_title.js │ │ │ n.gif │ │ │ open_win.js │ │ │ search_go.gif │ │ │ show_ads.js │ │ │ star5.gif │ │ │ │ │ ├─SCJP 1_4 考试心得(1).files │ │ │ │ 817-grey.gif │ │ │ │ advertisement_e1.gif │ │ │ │ back_041116.gif │ │ │ │ biaoshi.gif │ │ │ │ blank.gif │ │ │ │ blank_041116.gif │ │ │ │ bottom_master.gif │ │ │ │ css.css │ │ │ │ Desktop_.ini │ │ │ │ intel_zdindex.gif │ │ │ │ j_041116a.gif │ │ │ │ j_041116b.gif │ │ │ │ maincolumn_header_talkback.gif │ │ │ │ margin(1).gif │ │ │ │ margin.gif │ │ │ │ menuback_041110.jpg │ │ │ │ newsletter_bar.gif │ │ │ │ planet.css │ │ │ │ powercenter_logo_01.gif │ │ │ │ powercenter_logo_03.gif │ │ │ │ powercenter_logo_0333.gif │ │ │ │ powercenter_logo_05.gif │ │ │ │ rexample.gif │ │ │ │ rightbg.gif │ │ │ │ rnews.gif │ │ │ │ rtech.gif │ │ │ │ save_icon.gif │ │ │ │ search.gif │ │ │ │ test_traffic.htm │ │ │ │ topback_041110.jpg │ │ │ │ traffick.htm │ │ │ │ traffick_temp.htm │ │ │ │ traincert;sz=1x1;ord=1357738383 │ │ │ │ writer.gif │ │ │ │ zdnet-chinaitlab_logo.gif │ │ │ │ zdnew.css │ │ │ │ │ │ │ ├─test_traffic.files │ │ │ │ │ coding;sz=1x1;%20ord=1442909742.htm │ │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ │ │ └─coding;sz=1x1;%20ord=1442909742.files │ │ │ │ Desktop_.ini │ │ │ │ dot.gif │ │ │ │ │ │ │ ├─traffick.files │ │ │ │ │ adfshow.htm │ │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ │ │ └─adfshow.files │ │ │ │ adfshow.gif │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ └─traffick_temp.files │ │ │ │ adfshow.htm │ │ │ │ Desktop_.ini │ │ │ │ en;sz=1x1;%20ord=1442909742.htm │ │ │ │ │ │ │ ├─adfshow.files │ │ │ │ Desktop_.ini │ │ │ │ dot.gif │ │ │ │ │ │ │ └─en;sz=1x1;%20ord=1442909742.files │ │ │ Desktop_.ini │ │ │ dot.gif │ │ │ │ │ ├─SCJP 1_4 考试心得(3) - 开发者 - ZDNet China.files │ │ │ │ 817-grey.gif │ │ │ │ advertisement_e1.gif │ │ │ │ back_041116.gif │ │ │ │ biaoshi.gif │ │ │ │ blank.gif │ │ │ │ blank_041116.gif │ │ │ │ bottom_master.gif │ │ │ │ css.css │ │ │ │ Desktop_.ini │ │ │ │ intel_zdindex.gif │ │ │ │ j_041116a.gif │ │ │ │ j_041116b.gif │ │ │ │ maincolumn_header_talkback.gif │ │ │ │ margin(1).gif │ │ │ │ margin.gif │ │ │ │ menuback_041110.jpg │ │ │ │ newsletter_bar.gif │ │ │ │ planet.css │ │ │ │ powercenter_logo_01.gif │ │ │ │ powercenter_logo_0333.gif │ │ │ │ powercenter_logo_05.gif │ │ │ │ rexample.gif │ │ │ │ rightbg.gif │ │ │ │ rnews.gif │ │ │ │ rtech.gif │ │ │ │ save_icon.gif │ │ │ │ search.gif │ │ │ │ test_traffic.htm │ │ │ │ traffick.htm │ │ │ │ traffick_temp.htm │ │ │ │ traincert;sz=1x1;ord=1772633043 │ │ │ │ writer.gif │ │ │ │ zdnew.css │ │ │ │ │ │ │ ├─test_traffic.files │ │ │ │ │ coding;sz=1x1;%20ord=1442909742.htm │ │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ │ │ └─coding;sz=1x1;%20ord=1442909742.files │ │ │ │ Desktop_.ini │ │ │ │ dot.gif │ │ │ │ │ │ │ ├─traffick.files │ │ │ │ │ adfshow.htm │ │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ │ │ └─adfshow.files │ │ │ │ adfshow.gif │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ └─traffick_temp.files │ │ │ │ adfshow.htm │ │ │ │ Desktop_.ini │ │ │ │ en;sz=1x1;%20ord=1442909742.htm │ │ │ │ │ │ │ ├─adfshow.files │ │ │ │ Desktop_.ini │ │ │ │ dot.gif │ │ │ │ │ │ │ └─en;sz=1x1;%20ord=1442909742.files │ │ │ Desktop_.ini │ │ │ dot.gif │ │ │ │ │ ├─SCJP 1_4 考试心得(3) - 开发者.files │ │ │ │ 817-grey.gif │ │ │ │ advertisement_e1.gif │ │ │ │ back_041116.gif │ │ │ │ biaoshi.gif │ │ │ │ blank.gif │ │ │ │ blank_041116.gif │ │ │ │ bottom_master.gif │ │ │ │ css.css │ │ │ │ Desktop_.ini │ │ │ │ intel_zdindex.gif │ │ │ │ j_041116a.gif │ │ │ │ j_041116b.gif │ │ │ │ maincolumn_header_talkback.gif │ │ │ │ margin(1).gif │ │ │ │ margin.gif │ │ │ │ menuback_041110.jpg │ │ │ │ newsletter_bar.gif │ │ │ │ planet.css │ │ │ │ powercenter_logo_01.gif │ │ │ │ powercenter_logo_03.gif │ │ │ │ powercenter_logo_0333.gif │ │ │ │ powercenter_logo_05.gif │ │ │ │ rexample.gif │ │ │ │ rightbg.gif │ │ │ │ rnews.gif │ │ │ │ rtech.gif │ │ │ │ save_icon.gif │ │ │ │ search.gif │ │ │ │ test_traffic.htm │ │ │ │ traffick.htm │ │ │ │ traffick_temp.htm │ │ │ │ traincert;sz=1x1;ord=1683304671 │ │ │ │ writer.gif │ │ │ │ zdnet-chinaitlab_logo.gif │ │ │ │ zdnew.css │ │ │ │ │ │ │ ├─test_traffic.files │ │ │ │ │ coding;sz=1x1;%20ord=1442909742.htm │ │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ │ │ └─coding;sz=1x1;%20ord=1442909742.files │ │ │ │ 15-1x1dot.gif │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ ├─traffick.files │ │ │ │ │ adfshow.htm │ │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ │ │ └─adfshow.files │ │ │ │ adfshow.gif │ │ │ │ Desktop_.ini │ │ │ │ │ │ │ └─traffick_temp.files │ │ │ │ adfshow.htm │ │ │ │ Desktop_.ini │ │ │ │ en;sz=1x1;%20ord=1442909742.htm │ │ │ │ │ │ │ ├─adfshow.files │ │ │ │ Desktop_.ini │ │ │ │ dot.gif │ │ │ │ │ │ │ └─en;sz=1x1;%20ord=1442909742.files │ │ │ Desktop_.ini │ │ │ dot.gif │ │ │ │ │ ├─SCJP认证考试全接触-中国教育在线.files │ │ │ aa.gif │ │ │ blank.gif │ │ │ Desktop_.ini │ │ │ index_12.gif │ │ │ index_it_03.gif │ │ │ index_it_06.gif │ │ │ it-pei-xun.png │ │ │ page.css │ │ │ search.js │ │ │ │ │ ├─ [SUN经验交流]2.files │ │ │ │ ad_article_xl_pcjob.js │ │ │ │ ad_art_150500.js │ │ │ │ ad_art_743.js │ │ │ │ ad_art_zl550.js │ │ │ │ ad_it55080.js │ │ │ │ artbrowse.htm │ │ │ │ art_focus.js │ │ │ │ blank.gif │ │ │ │ bot_login.gif │ │ │ │ bot_search.gif │ │ │ │ commend.gif │ │ │ │ commend1.gif │ │ │ │ commend3.gif │ │ │ │ commend4.gif │ │ │ │ commend6.gif │ │ │ │ cp_main.jpg │ │ │ │ dcleft_bg.gif │ │ │ │ Desktop_.ini │ │ │ │ jobevery.js │ │ │ │ job_menu.js │ │ │ │ menu.html │ │ │ │ menu_diqu_01.gif │ │ │ │ menu_diqu_02.gif │ │ │ │ menu_it.gif │ │ │ │ newleft2.gif │ │ │ │ newlogo1.gif │ │ │ │ newright2.gif │ │ │ │ pcjob200.gif │ │ │ │ pc_but.js │ │ │ │ point.gif │ │ │ │ text.css │ │ │ │ toptitle_01.gif │ │ │ │ toptitle_02.gif │ │ │ │ toptitle_03.gif │ │ │ │ toptitle_left.gif │ │ │ │ toptitle_right.gif │ │ │ │ xgart_bg.gif │ │ │ │ xgart_biao.gif │ │ │ │ │ │ │ └─menu.files │ │ │ Desktop_.ini │ │ │ text.css │ │ │ │ │ ├─ [SUN经验交流]3.files │ │ │ │ ad_article_xl_pcjob.js │ │ │ │ ad_art_150500.js │ │ │ │ ad_art_743.js │ │ │ │ ad_art_zl550.js │ │ │ │ ad_it55080.js │ │ │ │ artbrowse.htm │ │ │ │ art_focus.js │ │ │ │ blank.gif │ │ │ │ bot_login.gif │ │ │ │ bot_search.gif │ │ │ │ commend.gif │ │ │ │ commend1.gif │ │ │ │ commend3.gif │ │ │ │ commend4.gif │ │ │ │ commend6.gif │ │ │ │ cp_main.jpg │ │ │ │ dcleft_bg.gif │ │ │ │ Desktop_.ini │ │ │ │ jobevery.js │ │ │ │ job_menu.js │ │ │ │ menu.html │ │ │ │ menu_diqu_01.gif │ │ │ │ menu_diqu_02.gif │ │ │ │ menu_it.gif │ │ │ │ newleft2.gif │ │ │ │ newlogo1.gif │ │ │ │ newright2.gif │ │ │ │ pcjob200.gif │ │ │ │ pc_but.js │ │ │ │ point.gif │ │ │ │ text.css │ │ │ │ toptitle_01.gif │ │ │ │ toptitle_02.gif │ │ │ │ toptitle_03.gif │ │ │ │ toptitle_left.gif │ │ │ │ toptitle_right.gif │ │ │ │ xgart_bg.gif │ │ │ │ xgart_biao.gif │ │ │ │ │ │ │ └─menu.files │ │ │ Desktop_.ini │ │ │ text.css │ │ │ │ │ ├─ [SUN经验交流]4.files │ │ │ │ ad_article_xl_pcjob.js │ │ │ │ ad_art_150500.js │ │ │ │ ad_art_743.js │ │ │ │ ad_art_zl550.js │ │ │ │ ad_it55080.js │ │ │ │ artbrowse.htm │ │ │ │ art_focus.js │ │ │ │ blank.gif │ │ │ │ bot_login.gif │ │ │ │ bot_search.gif │ │ │ │ commend.gif │ │ │ │ commend1.gif │ │ │ │ commend3.gif │ │ │ │ commend4.gif │ │ │ │ commend6.gif │ │ │ │ cp_main.jpg │ │ │ │ dcleft_bg.gif │ │ │ │ Desktop_.ini │ │ │ │ jobevery.js │ │ │ │ job_menu.js │ │ │ │ menu.html │ │ │ │ menu_diqu_01.gif │ │ │ │ menu_diqu_02.gif │ │ │ │ menu_it.gif │ │ │ │ newleft2.gif │ │ │ │ newlogo1.gif │ │ │ │ newright2.gif │ │ │ │ pcjob200.gif │ │ │ │ pc_but.js │ │ │ │ point.gif │ │ │ │ text.css │ │ │ │ toptitle_01.gif │ │ │ │ toptitle_02.gif │ │ │ │ toptitle_03.gif │ │ │ │ toptitle_left.gif │ │ │ │ toptitle_right.gif │ │ │ │ xgart_bg.gif │ │ │ │ xgart_biao.gif │ │ │ │ │ │ │ └─menu.files │ │ │ Desktop_.ini │ │ │ text.css │ │ │ │ │ ├─中文java技术网Java程序员(SCJP)和开发员(SCJD)认证.files │ │ │ bar.htm │ │ │ cool.gif │ │ │ Desktop_.ini │ │ │ heard1.jpg │ │ │ heard2.jpg │ │ │ print.gif │ │ │ smalllogo.gif │ │ │ style.css │ │ │ __chazhao.gif │ │ │ │ │ ├─前卫资源网.files │ │ │ │ ad.htm │ │ │ │ Desktop_.ini │ │ │ │ error.htm │ │ │ │ image--dian.gif │ │ │ │ mainready.htm │ │ │ │ menu.htm │ │ │ │ min.gif │ │ │ │ soft--sanjiao--di--bottom.gif │ │ │ │ soft--sanjiao--di--top.gif │ │ │ │ soft--sanjiao--di.gif │ │ │ │ soft--sanjiao-w.gif │ │ │ │ soft--zhuan--2.gif │ │ │ │ soft--zhuan--3.gif │ │ │ │ soft--zhuan--4.gif │ │ │ │ soft--zhuan--5.gif │ │ │ │ soft--zhuan--6.gif │ │ │ │ soft--zhuan--7.gif │ │ │ │ │ │ │ ├─ad.files │ │ │ │ counter.htm │ │ │ │ Desktop_.ini │ │ │ │ logo.gif │ │ │ │ stat.js │ │ │ │ │ │ │ ├─mainready.files │ │ │ │ Desktop_.ini │ │ │ │ gif-12.gif │ │ │ │ image--dian.gif │ │ │ │ moveobj.js │ │ │ │ │ │ │ └─menu.files │ │ │ Desktop_.ini │ │ │ image--dian.gif │ │ │ min.gif │ │ │ │ │ └─昆仑瑞通IT高级技术培训.files │ │ a_r02_c11.gif │ │ book4.gif │ │ css1.css │ │ Desktop_.ini │ │ LASTPOST.gif │ │ pic_ecp.jpg │ │ slice_ecp.jpg │ │ sun.gif │ │ sunyouhui.gif │ │ title_ecp.gif │ │ top_graypic_shan.gif │ │ top_logo.gif │ │ top_v1.gif │ │ │ ├─SCJP Certification Training_files │ │ blebul1a.gif │ │ blebul2a.gif │ │ blebul3a.gif │ │ blegtext.gif │ │ blesepa.gif │ │ Desktop_.ini │ │ logo_michael-thomas.jpg │ │ MM.gif │ │ │ ├─SCJP-模拟环境 │ │ Desktop_.ini │ │ Whizlabs_SCJP_考試模擬器-310-035-(v4.0)-可以注册.zip │ │ │ └─自己搜集的资料 │ AlexZhao_javaprecisely-online.pdf │ Assertions.doc │ Collections.doc │ Desktop_.ini │ getstartedse5_zh_CN.pdf │ Java Programming Language (SL-275).txt │ langspec-3.0.zip │ SL275_OH_GB.pdf │ Sun Certified Programmer for Java 2 Platform 1.4 (CX-310-035)考试提纲.txt │ ucertify_prepkit_features.pdf │ vmspec.2nded.html.zip │ 新建 文本文档.txt │ 考纲.doc │ ├─java认证课程 │ c01-04.doc │ C05.doc │ C06.doc │ C07.doc │ C08.doc │ c09.doc │ c10.doc │ c11-15.doc │ ├─SCJP试题 │ SCJP试题详解.pdf │ ├─SQL 面试题 │ SQL (3).txt │ 新建 文本文档 (2).txt │ 新建 文本文档.txt │ ├─常见面试题目 │ │ ~$基本算法.doc │ │ 几个Java笔试编程的题目,大家看看 Java - J2SE - 基础类 - CSDN社区 community_csdn_net.mht │ │ 几种常用的模式.htm │ │ 在 Java 中应用设计模式 -- Singleton.htm │ │ 基本算法.doc │ │ 工厂模式.html │ │ 算法.doc │ │ 装饰模式.html │ │ 责任链模式.html │ │ 适配器模式.html │ │ 递归算法与递归程序.htm │ │ │ └─在 Java 中应用设计模式 -- Singleton_files │ ajax1.js │ blue_rule.gif │ c.gif │ cl-bullet.gif │ c_002.gif │ detection.js │ dropdown.js │ dw.gif │ dwcss14.js │ em.gif │ emailfriend2.js │ fig1.gif │ grabtitle.js │ ibm-logo.gif │ ibmcommon.js │ left-nav-corner.gif │ main.css │ print.css │ printer.gif │ r1v14.css │ rl-bullet.gif │ screen.css │ search.gif │ searchcount.js │ stats.js │ table.css │ u_bold.gif │ ├─数据库 │ MySQL数据库SQL语法参考.txt │ SQL基础.txt │ SQL语句大全.txt │ SQL语句性能调整原则.txt │ ├─权威经典面试题 │ ├─JAVA面试题 │ │ │ Java.net面试不求人.doc │ │ │ JAVA代码编写的30条建议 .txt │ │ │ java面试笔试题大汇总.doc │ │ │ java面试笔试题大汇总(一).txt │ │ │ Java面试题.doc │ │ │ java面试题.htm │ │ │ Java面试题及答案.doc │ │ │ JAVA面试题集.doc │ │ │ JSP面试题.doc │ │ │ 程序员面试之core java面试30题.txt │ │ │ │ │ ├─Java面试题集锦 │ │ │ 最全的JAVA面试题(一).txt │ │ │ 最全的JAVA面试题(七).txt │ │ │ 最全的JAVA面试题(三).txt │ │ │ 最全的JAVA面试题(九).txt │ │ │ 最全的JAVA面试题(二).txt │ │ │ 最全的JAVA面试题(五).txt │ │ │ 最全的JAVA面试题(八).txt │ │ │ 最全的JAVA面试题(六).txt │ │ │ 最全的JAVA面试题(十).txt │ │ │ 最全的JAVA面试题(十一).txt │ │ │ 最全的JAVA面试题(十二).txt │ │ │ 最全的JAVA面试题(四).txt │ │ │ │ │ └─面试、笔试题大全 │ │ │ java面接.doc │ │ │ ThreadLocal.txt │ │ │ 线程同步.txt │ │ │ 面接大全.pdf │ │ │ │ │ └─面试 │ │ ├─C++笔试题 │ │ │ └─C++笔试题 │ │ │ (1)C,C++经典问题,及面试笔试题 .txt │ │ │ (2)cc++.txt │ │ │ (3)笔试题2.doc │ │ │ (4)笔试题.doc │ │ │ (5)想成为嵌入式程序员应知道的0x10个基本问题.txt │ │ │ (6)网络.操作系统.数据库.txt │ │ │ (7)如果你觉得你够牛就回答这几个问题.txt │ │ │ (8)以上文档中的明显错误.txt │ │ │ c,c++笔试.txt │ │ │ CC++笔试题系列.txt │ │ │ IT职场中外企面试最爱提的问题TOP10 .txt │ │ │ memset.memmove.strcmp.txt │ │ │ TC使用.txt │ │ │ 介绍自己的优缺点有技巧 .txt │ │ │ 多线程编程之一——问题提出.txt │ │ │ 多线程编程之三——线程间通讯.txt │ │ │ 多线程编程之二——MFC中的多线开发.txt │ │ │ 多线程编程之四——线程的同步.txt │ │ │ 排序.txt │ │ │ 最常问问题和最佳答案.txt │ │ │ 求职信 .txt │ │ │ 深入分析Windows和Linux动态库应用异同 .txt │ │ │ 用VC++5.0 定 制 和 调 用 动 态 链 接 库 .txt │ │ │ 聘面谈记录切忌随心所欲.txt │ │ │ 英语面试.txt │ │ │ 范式间区别.txt │ │ │ 金山_人力资源试题库_软件工程.doc │ │ │ 金山问题.txt │ │ │ 面试常见37个问题.doc │ │ │ 面试常见问题解析 .txt │ │ │ 面试应答中最忌讳的是什么.doc │ │ │ │ │ ├─Java 笔试题 │ │ │ └─Java 笔试题 │ │ │ 28215271_java笔试题大集合及答案(另附各大公.rar │ │ │ java vishi2.doc │ │ │ java笔试题1.txt │ │ │ ⑴125条常见的java面试笔试题大汇总.txt │ │ │ ⑵java面试笔试题大汇总 ~很全面.txt │ │ │ ⑶java面试笔试题大汇总.txt │ │ │ 华为Java笔试题.txt │ │ │ 某公司java笔试题.(超难).txt │ │ │ │ │ ├─软件测试 │ │ │ └─软件测试 │ │ │ 单元测试、集成测试、系统测试、验收测试、回归测试.txt │ │ │ 白盒测试.txt │ │ │ 软件测试.doc │ │ │ 软件测试面试题.txt │ │ │ 金山的软件测试.txt │ │ │ 黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别.txt │ │ │ │ │ └─高质量CC++编程(完整) │ │ 高质量CC++编程(完整).doc │ │ │ └─企业试题 │ │ java面接.doc │ │ java面试笔试题大汇总.doc │ │ JAVA面试题集.doc │ │ ThreadLocal.txt │ │ UNIX系统命令.doc │ │ 上海税友软件开发岗位要求.doc │ │ 上软日文简历模版.doc │ │ 企业常用问答题.doc │ │ 俞雷.doc │ │ 华为面试题.doc │ │ 南京瑞钥.doc │ │ 培训机构试题(税友软件)-2009.doc │ │ 复件 web考题.doc │ │ 富士通面试题.doc │ │ 常用面试题.doc │ │ 广信联面试题.doc │ │ 文思创新面试题.doc │ │ 新电面试题.doc │ │ 泽讯程信息面试题目.txt │ │ 精通Oracle.10g.Pl.SQL编程.pdf │ │ 系统命令.doc │ │ 线程同步.txt │ │ 英语面试.doc │ │ 面接大全.pdf │ │ │ ├─java面试题库 │ │ (转) java入门与加深 -- 2_命令篇 - Java,J2EE.mht │ │ (转) java入门与加深 -- 3_I-O篇 - Java,J2EE.mht │ │ (转) java入门与加深 -- 4_关键字篇 - Java,J2EE.mht │ │ (转) java入门与加深 -- 5_面向对象篇 - Java,J2EE.mht │ │ (转) java入门与提高 -- 6_java_util篇 - Java,J2EE.mht │ │ Java入门与加深 -- 1_基础篇(Java入门系列) - Java,J2EE.mht │ │ JAVA认证考试:全面详解Java基础知识(一)-中国考试资源大全1.mht │ │ JAVA认证考试:全面详解Java基础知识(一)-中国考试资源大全2.mht │ │ java面向对象编程-中国考试资源大全-ExamLink_com.mht │ │ java面向对象编程-中国考试资源大全1.mht │ │ java面向对象编程-中国考试资源大全2.mht │ │ java面试打印.doc │ │ Java面试题(最新最全Java面试题汇总) - Java,J2EE.mht │ │ java面试题集.txt │ │ 每个Java初学者都应该搞懂的六个问题-中国考试资源大全.mht │ │ │ ├─南京亚信 │ │ 照片 001.jpg │ │ 照片 002.jpg │ │ 照片 003.jpg │ │ 照片 004.jpg │ │ 照片 005.jpg │ │ 照片 006.jpg │ │ 照片 007.jpg │ │ 照片.jpg │ │ │ ├─欧索日桥简历模版 │ │ 欧索日桥入职标准履歴書.doc │ │ │ └─面试+笔试 │ ├─C++笔试题 │ │ └─C++笔试题 │ │ (1)C,C++经典问题,及面试笔试题 .txt │ │ (2)cc++.txt │ │ (3)笔试题2.doc │ │ (4)笔试题.doc │ │ (5)想成为嵌入式程序员应知道的0x10个基本问题.txt │ │ (6)网络.操作系统.数据库.txt │ │ (7)如果你觉得你够牛就回答这几个问题.txt │ │ (8)以上文档中的明显错误.txt │ │ c,c++笔试.txt │ │ CC++笔试题系列.txt │ │ IT职场中外企面试最爱提的问题TOP10 .txt │ │ memset.memmove.strcmp.txt │ │ TC使用.txt │ │ 介绍自己的优缺点有技巧 .txt │ │ 多线程编程之一——问题提出.txt │ │ 多线程编程之三——线程间通讯.txt │ │ 多线程编程之二——MFC中的多线开发.txt │ │ 多线程编程之四——线程的同步.txt │ │ 排序.txt │ │ 最常问问题和最佳答案.txt │ │ 求职信 .txt │ │ 深入分析Windows和Linux动态库应用异同 .txt │ │ 用VC++5.0 定 制 和 调 用 动 态 链 接 库 .txt │ │ 聘面谈记录切忌随心所欲.txt │ │ 英语面试.txt │ │ 范式间区别.txt │ │ 金山_人力资源试题库_软件工程.doc │ │ 金山问题.txt │ │ 面试常见37个问题.doc │ │ 面试常见问题解析 .txt │ │ 面试应答中最忌讳的是什么.doc │ │ │ ├─Java 笔试题 │ │ └─Java 笔试题 │ │ 28215271_java笔试题大集合及答案(另附各大公.rar │ │ java vishi2.doc │ │ java笔试题1.txt │ │ ⑴125条常见的java面试笔试题大汇总.txt │ │ ⑵java面试笔试题大汇总 ~很全面.txt │ │ ⑶java面试笔试题大汇总.txt │ │ 华为Java笔试题.txt │ │ 某公司java笔试题.(超难).txt │ │ │ ├─软件测试 │ │ └─软件测试 │ │ 单元测试、集成测试、系统测试、验收测试、回归测试.txt │ │ 白盒测试.txt │ │ 软件测试.doc │ │ 软件测试面试题.txt │ │ 金山的软件测试.txt │ │ 黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别.txt │ │ │ └─高质量CC++编程(完整) │ 高质量CC++编程(完整).doc │ ├─正在看的 │ 5.13面试题.doc │ Java 方向就业岗位和技能要求.doc │ java 面试题 (2).txt │ JAVA相关基础知识.doc │ JS 面试题.txt │ Servlet 生命周期.ppt │ servlet小知识.txt │ 备忘.doc │ ├─看过的 │ CSS 题目.txt │ java 经典面试题 (3).txt │ java 面试题 (1).txt │ 合格程序员应该具备的12种能力.txt │ 应聘时漂亮的回答.txt │ 简历编写提醒.txt │ 编码规范.txt │ ├─算法 │ 算法.txt │ 算法ebook(10部算法经典著作的合集).chm │ ├─页面技术面试题 │ 新建 文本文档.txt │ └─项目文档参考 ├─01项目计划 │ OA 开发基本环境配置.doc │ OA开发计划(1.0).doc │ OA项目任务书(1.0).doc │ ├─02需求分析 │ OA系统需求文档.doc │ ├─03设计与实现 │ │ Java(JSP)代码规范.doc │ │ OA include文件说明.doc │ │ OA 权限代码.doc │ │ OA公共资源预约,文书档案-数据库表定义.doc │ │ OA系统数据库设计规约.doc │ │ OA系统设计报告(1.0).doc │ │ 会议管理-数据库表定义.doc │ │ 信息互递-数据库表定义.doc │ │ 公文管理-数据库表定义.doc │ │ 日程任务-数据库表定义.doc │ │ │ ├─数据库表详细设计说明(Html) │ │ │ db.htm │ │ │ │ │ └─db_files │ │ │ Blue_Theme.css │ │ │ db.htm │ │ │ db1.htm │ │ │ db_toc.htm │ │ │ Header_Blue.html │ │ │ i_blank.gif │ │ │ i_colpse.gif │ │ │ i_corner.gif │ │ │ i_expand.gif │ │ │ i_normal.gif │ │ │ menutree.js │ │ │ │ │ └─Header_Blue_files │ │ arches.png │ │ │ └─文档管理模块源代码 │ ├─java │ │ FM_Right.java │ │ FM_Statistic.java │ │ ModelOAFile.java │ │ ModelOAFolder.java │ │ OAFile.java │ │ OAFileSearch.java │ │ OAFolder.java │ │ │ └─web │ browser.js │ browser.jsp │ doSaveInfo.jsp │ doSaveRight.jsp │ File.js │ File.jsp │ Folder.js │ Folder.jsp │ GetRightXML.jsp │ list.jsp │ MoveToCata.jsp │ recycle.js │ recyclebin.jsp │ Right.js │ RightListXML.jsp │ search.js │ search.jsp │ searchResult.jsp │ _FolderTree.jsp │ ├─04软件测试 │ OA办公自动化测试工作总结(1.0).doc │ OA办公自动化测试计划(1.0).doc │ └─05后期制作 安博教育办公自动化系统安装手册.doc 教育行政办公自动化系统用户手册.doc
最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料;本资料仅用于学习。 【课程内容】 第1周 开课介绍 python发展介绍 第一个python程序 变量 字符编码与二进制 字符编码的区别与介绍 用户交互程序 if else流程判断 while 循环 while 循环优化版本 for 循环及作业要求 第2周 本节鸡汤 模块初识 pyc是什么 python数据类型 bytes数据类型 列表的使用 元组与购物车程序练习 购物车程序练习实例 字符串常用操作 字典的使用 三级菜单实例 本周作业-购物车优化 第3周 作业 上节内容回顾 集合及其运算 文件读与写详解 心灵鸡汤 文件修改详解 字符编码转换详解 函数与函数式编程 函数式编程之参数详解 局部变量与全局变量作用域 递归 函数式编程与函数不同 高阶函数 第4周 上节内容回顾 心灵鸡汤 装饰器详解 装饰器应用详解 装饰器之函数即变量 装饰器之高阶函数 装饰器之嵌套函数 装饰器之案例剖析 装饰器之高潮讲解 迭代器与生成器 迭代器与生成器并行 内置方法详解 Json与pickle数据序列化 软件目录结构规范 本周作业 第5周 心灵分享 ATM存钱取钱案例剖析 模块定义、导入、优化详解 内置模块详解之time与datetime模块 内置模块详解之Range模块 内置模块详解之OS模块 内置模块详解之Sys模块 内置模块详解之Shelve模块 内置模块详解之Xml模块 内置模块详解之Configparser模块 内置模块详解之Hashlib、Hmac模块 正则表达式Re模块使用详解 第6周 本节小鸡汤(电影分享) 面向对象介绍 面向对象特性介绍 实例演示opp编程好处 实例变量与类变量 类变量的作用及析构函数 类的继承 经典类与新式类的继承顺序 继承实例讲解 多态实例讲解 本节作业之选课系统开发 第7周 心灵分享 上节回顾 静态方法、类方法、属性方法 课堂扯淡 深入讲解类的特殊成员方法__init__等 深入讲解类的特殊成员方法__new__等 反射详解 异常处理TryExcept 网络编程Socket介绍 Socket通信案例消息发送与接收 第8周 上节回顾 Socket实现简单的ssh客户端 Socket实现简单的ssh服务端 积极思考正能量 Socket实现简单的ssh2 Socket粘包 Socket粘包深入编码 SocketServer SocketServer多并发 多用户在线Ftp程序 第9周 上节回顾 paramiko模块详解 ssh密钥讲解 进程与线程 多线程 多线程案例 主线程与子线程 线程锁 线程之信号量 线程之Event 队列Queue 作业之主机批量管理 第10周 心灵分享 上节回顾 多进程 多进程Queue 多进程Pipes与Manager 进程锁与进程池详解 协程 协程Gevent 协程之爬虫 协程之Socket IO多路复用 IO模式 Select解析Socket通信 作业 第11周 鸡汤 消息队列介绍 RabbitMQ基本示例 RabbitMQ消息分发轮询 RabbitMQ消息持久化 RabbitMQ fanout广播模式 RabbitMQ direct广播模式 RabbitMQ topic细致的消息过滤广播模式 Redis string操作 RabbitMQ rpc实现 Redis hash操作 Redis 集合set 和有序集合操作 Redis 集合操作补充 Redis 发布订阅及本节作业 第12周 上节回顾 数据库介绍 mysql基本使用 mysql数据类型与创建表 mysql 增删改查 mysql 外键关联 mysql 连接查询 mysql 事务与索引 mysql python交互 sqlalchemy orm介绍 sqlalchemy 常用语法 sqlalchemy 外键关联 sqlalchemy 多外键关联 sqlalchemy 多对多关联 作业之学员管理系统开发 第13周 堡垒机框架开发介绍 堡垒机源码讲解 堡垒机项目表结构设计与实现 自动创建表对象 权限分组与数据初始化 第14周 开课介绍 前端技术概要 今日内容概要 Html本质以及在web程序中的作用 html的head内标签 html的body内标签之图标、换行及其他 chrome查看html样式基本操作 html的body内标签之input系列 html的body内标签之多行文本及下来框 html的body内标签之超链接 html的body内标签之图片及表格 html的body内标签之表格 html的body内标签之fieldset标签和label标签 上述内容总结 css选择器 css的存在形式及优先级 css边框以及其他常用样式 css之float样式 css之float实现作业实例 css之display样式 css之内外边距 本周作业以及思路 第15周 上节内容答疑 上节内容回顾 CSS内容补充之position CSS内容补充之overflow CSS内容之hover CSS内容之background 初始javaScript javascript代码存在形式 javascript基本预览 javascript字符串操作以及跑马灯实例 javascript数组和字典以及for循环 javascript条件语句 javascript函数的定义 Dom直接选择器 Dom间接选择器 示例之模态对话框 示例之全选和反选以及取消 javascript必须加分号 示例之后台管理左侧菜单 今日内容梳理 本周作业 第16周 上节作业问题答疑 今日内容计划 CSS内容补充以及后台管理页面布局 后台管理页面布局 JavaScript内容回顾 JavaScript函数 JavaScript序列化及转义 开小差之自动登录抽屉并点赞 eval以及时间操作 JavaScript作用域 JavaScript面向对象及原型 Dom选择器以及内容文本操作 Dom样式操作 Dom属性及创建标签 Dom提交表单及其他 Dom事件操作 Dom事件操作补充 Dom绑定时间的另外一种方式 JavaScript 词法分析解析 前端学习方法分享 Sublime Text工具使用介绍 谢幕 第17周 今日内容概要 jQuery 和Dom关系及jQuery版本 jQuery选择器 实例多选反选取消 删选器以及Tab菜单示例 示例:模态编程框 jQuery 样式以及属性操作 示例:TAB切换菜单 jQuery内容操作 点赞以及jQuery css操作 JQuery高度以及位置操作 JQuery 事件绑定的方式 JQuery事件之组织事件的发生 示例:表单验证 JQuery事件之页面框架和加载后自动执行 JQuery扩展以及自动执行函数的应用 JQuery阻止事件发生 JQuery扩展 作业 第18周 内容概要 JS正则详解 JS正则详解之验证 组件BootStrap、EasyUI、JQueryUI 插件轮播 Django_Web框架引入 Django工程创建 Django目录详解 Django创建App Django的Model使用 Django实现用户登录与前端交互 Django路由介绍 Django知识点整理 作业 第19周 今日内容概要 上课内容概要 今日Django工程的创建 Django获取多个数据以及文件上传 Django的CBV和FBV Django模板语言循环字典 Django基于正则表达式的URL Django对应的路由名称 Django路由分发 DjangoORM基本创建基本类型以及生成数据库结构 DjangoORM使用mysql注意 DjangoORM基本增删查该 基于ORM实现用户登录 基于ORM实现用户增加删除修改以及查看详细 Django字段类型介绍 DjangoORM字段参数介绍 DjangoORM外键操作 基于DjangoORM的外键实现增加用户(含select标签) 作业 第20周 课程安排 上课内容回顾 Django一对多的创建 创建一对多表结构 获取单表单数据的三种方式 一对多跨表操作 一对多块表操作的的三种方式 增加一对多数据示例 初识Ajax Ajax内容基本整理 编辑一对多示例 创建多对多以及增加示例 本节内容梳理 本周作业 第21周 今日知识点概要 上节内容回顾以及URL的补充 视图获取用户请求相关信息以及请求头 模板之继承 模板之导入 上节作业情况 自定义 simple_tag 自定义filter 自定义分页 Cookie是什么鬼 基于Cookie实现用户登录 基于cookie实现定制显示数据条数 带签名的Cookie CBV和FBV用户认证装饰器 本周作业 第22周 上节回顾 Django之url、Views Django之Model操作 Django之模版 Django之Session Django之Session与Cookie Django之CSRF原理详解 Django之中间件详解 Django之缓存实例详解 Django之信号 Django之Form组件验证 作业 第23周 主机管理项目需求分析 主机管理项目架构设计 主机管理项目初始构建 主机管理项目编写插件基类 主机管理项目命令分发器 主机管理项目提取主机列表 主机管理项目提取yaml配置文件_ 主机管理项目动态调用插件进行数据解析 主机管理项目对模块中的参数进行解析 第24周 本节题纲 上节内容回顾 ModelForm操作及验证 ajax操作-原生ajax ajax操作-JQuery的ajax ajax操作-伪ajax(iframe) ajax操作-时机选择 文件上传(3种方式)-1 文件上传-时机选择及预览-2 图片验证码 KindEditor基本使用和文件操作 作业 第25周 今日内容概要 博客系统示例预览 组合搜索组件 JSONP跨域请求jQuery方式 JSONP跨域请求本质 XSS过滤以及单例模式 博客系统表结构讲解 博客系统功能讲解 CMDB介绍 CMDB实现的三种方式 CMDB Agent客户端示例 第26周 今日内容概要以及CMDB介绍 前端插件定制之表头 前端插件定制之表内容 第27周 前端插件定制之定制td内容以及属性 CMDB插件示例演示 算法介绍与列表查找 冒泡 选择 插入排序 快排 堆排序 第28周 堆排序复习 归并排序 希尔排序 算法练习 栈和队列 数据结构其他
div+css有实例,易学易懂第1 章 Web 标准布局的本质 第8 页 1.1 为什么要建立Web 标准 1.1.1 建立Web 标准的目的 1.1.2 使用Web 标准的好处 1.2 什么是Web 标准 1.3 内容、结构和表现 1.4 两种思考方式 1.5 Web 标准的前景 第 2 章 XHTML 书写规范 第14 页 2.1 为什么要使用XHTML 2.2 什么是XHTML 2.3 XHTML 语法基础 2.3.1 XHTML 页面结构 2.3.2 元素的书写格式和属性 2.3.3 各种元素的属性 2.4 XHTML 代码规范 第 3 章 CSS 基础与书写规范 第29 页 3.1 CSS 的基础知识 3.1.1 什么是CSS 3.1.2 CSS 的语法 3.1.3 选择符 3.1.4 属性 3.1.5 伪类和伪元素 3.1.6 默认值 3.1.7 继承性 3.2 CSS 编码规范 3.2.1 CSS 基本书写规范 3.2.2 CSS 样式表书写顺序 3.3 怎样更好地应用CSS 3.3.1 块元素和内联元素 3.3.2 一些CSS 的实用技巧 3.3.3 怎样调试CSS 3.4 关于CSS 的学习 第4 章 网页头部元素的详细定义 第41 页 4.1 DOCTYPE 的选择 4.1.1 什么是DOCTYPE 4.1.2 选择什么样的DOCTYPE 4.2 名字空间 4.3 编码问题 4.4 meta 标签 4.5 CSS 的调用 4.5.1 调用样式表的几种方法 4.5.2 应用样式的优先级 4.6 网页头部实例 第 5 章 CSS 基本布局属性 第50 页 5.1 页面的制作流程和整体分析 5.2 元素定位基础知识 5.2.1 块元素的默认排列 5.2.2 内联元素的默认排列 5.2.3 块元素和内联元素的混合默认排列 5.2.4 使用浮动属性进行定位 5.3 定位属性详解 5.3.1 定位模式 5.3.2 边偏移 5.3.3 层叠定位属性 5.4 定位属性的应用 5.4.1 页面的制作流程和整体分析 5.4.2 相对定位 5.4.3 固定定位 5.4.4 层叠定位属性的使用 5.5 页面的背景设定 5.5.1 使用背景色定义背景 5.5.2 背景图片默认使用 5.5.3 背景图片的重复 5.5.4 背景图片的位置 5.5.5 背景图片的附件 5.6 背景的综合应用 5.6.1 背景的综合应用 5.6.2 背景颜色和背景图片的层叠 5.6.3 背景属性在内联元素中的使用 5.6.4 背景属性的缩写 5.6.5 页面文本的样式 5.6.6 链接的样式 5.7 布局的基础 5.7.1 布局页面的步骤 5.7.2 使用ID 还是Class 5.7.3 控制内容显示的display 属性 5.7.4 控制内容显示的visibility 属性 5.7.5 使用text-align 属性的水平居中 5.7.6 使用margin 属性的水平居中 5.8 浮动属性 5.8.1 浮动属性详解 5.8.2 相邻的浮动元素和固定元素 5.8.3 相邻的两个浮动元素 5.8.4 相邻的多个浮动元素 5.9 关于ul 和li 的样式详解 5.9.1 使用list-style-type 属 5.9.2 使用list-style-position 属性 5.9.3 使用list-style-image 属性 5.9.4 list-style 属性 5.10 菜单原理 5.10.1 菜单原理 5.10.2 制作菜单内容和结构部分 5.10.3 CSS 代码编写 5.11 一个横向导航菜单的制作 5.11.1 菜单原理 5.11.2 制作菜单内容和结构部分 5.11.3 CSS 代码编写 5.12 清除浮动 5.12.1 清除浮动属性详解 5.12.2 清除浮动属性的使用 第6 章 CSS 定义文本属性 第123 页 6.1 文本的缩进和对齐 6.1.1 段首缩进 6.1.2 段首字符下沉与大写 6.1.3 文本的对齐 6.1.4 图文混排 6.2 行高与间隔 6.2.1 行高属性详解 6.2.2 利用行高属性使文本垂直居中 6.2.3 间隔与空白 6.2.4 文本的转换 6.3 水平和垂直居中问题 6.3.1 已知容器和内容大小的水平和垂直居中问题 6.3.2 未知容器的大小而已知内容大小的水平和垂直居中问题 6.3.3 已知容器的大小而未知内容大小的水平和垂直居中问题 6.3.4 容器的大小和内容大小均未知的水平和垂直居中 6.3.5 修饰图片的水平和垂直居中 6.4 字体的综合属性 6.4.1 字体的选择 6.4.2 字体的大小 6.4.3 字体的加粗 6.4.4 字体的样式 6.4.5 字体的变形 6.4.6 字体属性的简写 6.5 文本的修饰和链接 6.5.1 文本的修饰 6.5.2 链接属性详解 6.5.3 使用链接的顺序 6.5.4 链接的继承性 6.5.5 cursor 属性 第7 章 CSS 容器属性 7.1 什么是盒模型 7.1.1 内容与盒模型 7.1.2 背景与盒模型 7.2 补白属性 7.2.1 补白属性详解 7.2.2 百分比值的使用 7.2.3 单侧的补白属性 7.2.4 补白属性的简写 7.3 边框属性 7.3.1 边框样式 7.3.2 边框宽度 7.3.3 边框颜色 7.3.4 边框的综合定义 7.3.5 单侧边框的综合定义 7.3.6 一个有用的表格边框属性 7.3.7 应用边框属性的实例 7.4 边界属性 7.4.1 边界属性 7.4.2 单侧的边界和简写 7.4.3 垂直方向的边界重叠 7.4.4 水平方向的边界 7.4.5 负的边界值 7.4.6 在内联元素中使用边界属性 第8 章 浏览器及兼容问题 8.1 浏览器介绍 8.2 要兼容哪些浏览器 8.3 解决兼容问题的原理 8.4 !important 的使用 8.5 水平居中的问题 8.5.1 IE6.0 中的水平居中 8.5.2 FIREFOX2.0 中的水平居中 8.5.3 解决方法 8.6 非浮动内容和容器的问题 8.6.1 IE6.0 中固定宽度和高度的容器和内容 8.6.2 FIREFOX2.0 中的容器与内容 8.6.3 可能出现的问题和解决方法 8.7 使用:after 伪类解决浮动的问题 8.7.1 IE6.0 中的浮动元素和容器 8.7.2 FIREFOX2.0 中的浮动元素和容器 8.7.3 并列浮动元素默认宽度的问题 8.8 嵌套元素宽度和高度叠中的问题 8.8.1 父元素和子元素均没有定义宽度和高度 8.8.2 定义子元素的宽度后的效果 8.8.3 定义父元素宽度后的效果 8.8.4 解决的方法 8.9 子元素负边界的问题 8.9.1 IE6.0 中子元素的负边界 8.9.2 FIREFOX2.0 中子元素的负边界 8.9.3 解决方法 8.10 列表的默认显示问题 8.10.1 列表的默认显示方式 8.10.2 默认属性的取消 8.11 IE6.0 中的问题 8.11.1 浮动元素的双边距和零边距问题 8.11.2 浮动列表的问题 8.11.3 图片的间隙问题 8.12 IE7.0 中的问题 8.12.1 内容和容器的显示方式不同 8.12.2 支持!important 的声明 8.12.3 嵌套的问题 8.12.4 浮动子元素的问题 8.12.5 和IE6.0 相同的问题 8.13 兼容问题实例 8.13.1 纵向导航菜单的兼容 8.13.2 横向导航菜单的兼容 8.13.3 自适应高度的兼容 8.13.4 实例制作中的兼容问题 第9 章 一个英文网站的制作 9.1 分析效果图 9.2 切图 9.2.1 制作首页的切图 9.2.2 二级页面的切图 9.3 制作站点首页头部 9.3.1 首页头部的信息和基础样式的制作 9.3.2 首页头部的分析 9.3.3 首页头部结构的制作 9.3.4 首页头部CSS 代码的编写 9.4 制作首页的主体部分 9.4.1 分析主体部分效果图 9.4.2 制作主体左侧部分的结构 9.4.3 制作主体左侧部分的样式 9.4.4 制作主体中间部分的结构 9.4.5 制作主体中间部分的样式 9.4.6 制作主体右侧部分的结构 9.4.7 制作主体右侧部分的样式 9.5 制作首页的底部 9.6 首页的兼容问题 9.7 二级页面的制作 9.7.1 分析二级页面的效果图 9.7.2 制作二级页面中间内容部分的结构 9.7.3 制作二级页面中间内容部分的样式 9.7.4 制作二级页面右侧部分的结构 9.7.5 制作二级页面右侧部分的样式
HTML + JavaScript + Ajax + CSS 赵旭 [email protected] HTML5 1、WEB基础知识(了解) 1、Internet - 网 由若干台电脑、手机、平板 通过 网线(WIFI) 连接起来的结构 2、基于Internet上的程序 1、C / S 结构 Client / Server 特点:必须通过指定的客户端软件才能访问服务器端的一种程序 :如 :桌面版QQ,... ... 2、B / S 结构 Browser / Server Browser :浏览器 特点:通过 浏览器 就能访问服务器端的一种程序 如 :网页版百度,网页版 QQ,网页版 京东,... ... 3、WEB 1、什么是WEB WEB,是基于Internet上的一种应用程序(网页应用程序) WEB页面,简称WEB页(网页),就是保存在服务器端上的一个具体的页面( **.html / **.htm 作为结尾的文件) 2、WEB浏览器 1、功能 1、提交用户请求 (UA : User Agent) 2、作为HTML 以及 脚本执行的 解释器 3、以图形化的方式显示web页面 2、主要浏览器产品 1、Microsoft Internet Explorer (IE) 2、Mozilla Firefox 3、Google Chrome 4、Apple Safari 5、Opera Opera(欧朋) 3、主要技术 1、HTML 2、CSS 3、Javascript 2、HTML入门(重点) 1、什么是HTML Hyper Text Markup Language 超级 文本 标记 语言 超文本 :也是文本,但会具备特殊功能 普通文本 a : 普通字符 a 超文本 a : 表示超链接 普通文本 b : 普通字符 b 超文本 b : 加粗显示文本 标记 :超文本的表现形式 普通文本 a : a 超文本 a : 语言 :具备一定的语法规范 HTML 也具备自己的语法规范 WEB页面(HTML页面)就是由 HTML 语言来进行开发的 ,以 .html 或 .htm 进行结尾的文件 开发 & 运行网页的工具: 1、记事本 2、浏览器 2、HTML 的基础语法 1、标记语法 HTML中用于描述功能的符号称为"标记" 标记在使用时,用尖括号 "",标记的分类 1、封闭类型的标记 也称为 "双标记" , 必须成对出现 语法:内容 Demo : 1、创建 p 标记 --... 2、创建 div 标记 -- 3、创建 header 标记 -- <header></header> 2、非封闭类型的标记 也称为 "单标记" 语法: 或 Demo : 1、创建 br 标记 -- 2、创建 hr 标记 -- 3、创建 img 标记 -- 4、创建 input 标记 -- <input/> 2、标记(元素)的嵌套 在一对标记中,允许出现另外一对(一个)标记 注意:嵌套标记的书写格式 -- 被嵌套的标记要通过一个 缩进键(Tab) 来表示层级关系 Demo : 1、编写一对 body 标记,在body标记中,嵌套一对 div标记,在 div 标记中 ,嵌套一对 a 标记,在 a标记中,嵌套一对 b 标记,b标记中,随意编写一些文本 <body> 这是一段测试文本 </body> 3、标记的属性 1、什么是属性 用来修饰标记的效果的内容,就是属性 2、语法 1、属性必须声明在开始标记中 2、属性与标记名称之间,用 空格 隔开 3、属性的值 与 属性之间 使用 "=" 连接 4、一个元素允许有多属性,多属性间,排名不分先后,中间用 空格 隔开即可 Demo : 1、创建一个 div 标记 ,增加属性 ,设置 align 属性的值为 center ,设置 id 属性的值为 container,设置 title 属性的值为 这是一个div 四大标准属性: 1、id :定义元素在页面中独一无二的名称 2、title :鼠标悬停在元素上时,体现的文字 3、class :引用 类选择器时使用(CSS中) 4、style :定义 内联方式方式使用(CSS中) 4、注释 语法:<!-- --> 注意: 1、注释不能嵌套 2、注释不能出现在标记中 3、HTML 文档结构 W3C :Word Wide Web Consortium (万维网联盟) 1、HTML文档的组成 1、文档类型声明 告知浏览器当前的HTML文档用的是哪个版本 在网页的最顶端 2、由一对 html 根标记,来表示页面的开始与结束 Demo : 1、在 htdoc 中,创建一个网页 01-first.html 文件 创建一个 记事本,将 .txt 重命名为 .html 2、搭建HTML网页结构 1、添加 文档类型声明 2、添加 html 根标记 2、<html> 标记 包含两对子元素 1、<head></head> 包含的子元素(2对) 1、<title>网页的标题</title> 2、<meta charset="utf-8"/> -- 能正常显示中文 2、<body></body> 属性: 1、text ,取值是一个颜色值(red,green,blue...) 2、bgcolor ,取值也是一个颜色值 Demo : 在刚才的 Demo 基础上 1、在 <html>中 增加 <head> 和 <body> 2、为网页指定标题 - 我的第一个HTML文档 3、指定网页的字符编码格式为 utf-8 4、在 body 中 输出一句话 "我的第一HTML页面" 5、设置 body text为red,bgcolor为yellow 3、文本 1、特殊文本的实现 页面的空格以及一些特殊字符需要通过转义字符的方式体现 1、  表示一个空格 2、< 表示 4、© 表示© Demo : 1、创建一个页面 02-text.html 2、在页面中 输出以下内容 The element. ©2017 By Tarena The <p> element.     © By Tarena 2、文本样式相关标记 : 加粗 : 斜体 : 下划线 : 删除线 : 上标 : 下标 Demo : 这是一段包含 ,粗体,斜体,下划线,删除线,上标,下标的文本内容 将以上文本内,对应文字的特殊效果,用标记体现出来 3、标题元素 以 醒目 的方式表现出文本 语法: 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 属性: 1、align 文本的水平对齐方式 取值:left / center / right 4、段落元素 语法: 属性:align : left / center / right Demo : 1、在 02-text.html 中,增加以下内容 1、用 段落标记表示 :The first paragraph 2、用 段落标记表示 :The second paragraph ,文本表现为 右对齐 5、换行元素 6、分割线元素 作用:在页面中表现为一条直线 语法: 属性: 1、size 尺寸,以 px 为单位的数值 2、width 宽度,以 px 或 % 为单位的数值 3、align 水平对其方式 4、color 颜色 Demo : 02-text.html 中 增加一根水平线,size为5px,宽度为50%,居中对齐,颜色为红色(red) 7、预格式化 作用:保留源文档中的回车 和 空格 的作用 8、分区元素 1、块分区元素 语法: 作用:布局 2、行内分区元素 语法: 作用:设置同一行文字内的不同样式 9、行内元素 与 块级元素 按照元素们的表现形式来分类,分为 行内元素 和 块级元素1、行内元素 在一行内允许显示多个元素的,称为 "行内元素" span,i,b,s,u,sup,sub 作用:包裹文本,并处理文本的表现形式 2、块级元素 每个元素独占一行显示的,称为 "块级元素" div,p,h1,h2,h3,h4,h5,h6 作用:布局 注意: 1、p标记不能嵌套其它的块级元素 2、行内元素中 最好 不要嵌套块级元素 4、图像 和 链接 1、URL 目录结构 : 目录 ,保存文件的文件夹名称 多个文件夹之间的关系,就是目录结构 1、什么是 URL URL (Uniform Resource Locator),统一资源定位器。用来标识某资源文件的位置 2、URL 在 WEB 中的表现形式 共三种表现形式: 1、绝对路径 特点:从文件所在的最高级目录处开始查找资源文件所经过的路径,就是绝对路径 使用场合:当想访问互联网上的资源时,只能用绝对路径 完整的绝对路径分四部分: 1、协议名 http 2、域名(主机名,IP地址) www.codeboy.com 3、目录路径 img/header 4、文件名 logo.png http://www.codeboy.com/img/header/logo.png img/header/logo.png 2、相对路径(重点) 场合:使用本机文件时使用 什么是相对路径: 从当前文件位置处开始查找资源文件所经过的路径,就是相对路径 1、同目录,直接用 2、子目录,先进入 3、父目录,先返回 3、根相对路径 路径形式是以 / 作为开始的。 / : 表示的是服务器的根路径 2、图像 1、图像格式 WEB中支持的图像格式 1、*.jpg 2、*.gif(动图) 3、*.png(透明) 2、图像的语法 标记: 属性: 1、src :指定要显示图像的 URL 2、width :图像的宽度 3、height :图像的高度 4、title :鼠标悬停时,要显示的文本 Demo : 1、将 学子网的 logo 下载下来 2、显示在自己的网页中 3、超链接 1、语法 标记:内容 属性: 1、href : 要链接的HTML页面URL 2、target : 目标,指定新网页的打开形式 取值: 1、_blank : 在新标签页中打开网页 2、_self : 在自身标签页中打开新网页(默认值) Demo 1、创建一个超链接,内容为 :学子商城,点击时,在自身标签页中 打开 http://www.codeboy.com 2、创建一个超链接,内容为 :学子商城的LOGO,点击时,在新标签页中打开 http://www.codeboy.com 2、链接的四种表现形式 1、点击操作时,完成资源下载的操作 链接的资源为 zip / rar 时则为下载操作 下载 2、电子邮件链接 联系我们 前提 : 必须在计算机中安装并配置好至少一个邮件客户端的信息 3、返回页面顶部的空连接 返回顶部 4、执行Javascript代码片段 执行JS 3、锚点 1、作用 锚点用于在网页中的某个位置处做个记号,允许从其他位置处跳转到记号位置处 2、使用方式 1、定义锚点 1、使用 a 标记的 name 属性允许定义锚点 xxxx 2、任何标记的 id 属性定义锚点 2、链接到锚点 链接到锚点 链接到锚点 5、表格 1、表格 1、表格的作用 按照一定的格式来显示数据的 表格是由 单元格(列),行 来组成的 2、表格的语法 1、标记 1、 : 表示一个表格 2、 : 表示表格中的一行 3、 : 表行中的一列(单元格) : 行/列 标题 (加粗,水平居中) 4、 : 表格的标题 该元素必须添加在 之下,所有的tr之上 2、常用属性 1、table 1、width 2、height 3、align 设置表格的对齐方式 , left / center / right 4、border 边框宽度,取值以 px 为单位的数值 5、bgcolor 6、cellspacing :单元格外边距(单元格与单元格 或 单元格与表格之间的距离) 7、cellpadding : 单元格内边距(单元格与内容之间的距离) 2、tr 1、align 控制当前行内容的水平对齐方式 2、valign 控制当前行内容的垂直对齐方式 top / middle / bottom 3、bgcolor 3、td / th 1、align 2、valign 3、width 4、height 5、colspan :跨列 6、rowspan :跨行 Demo : 在 刚才的表格基础上,增加以下内容 1、为表格增加边框 1px 2、为表格增加尺寸 400 * 400 3、为表格增加单元格内边距 5px 4、为第四行 增加属性 ,内容水平居中对齐 3、表格的复杂应用 1、行分组 允许将若干行划分到一个组中,以便实现统一管理 1、表头行分组 允许将第一行的内容单独分到表头行分组中 2、表尾行分组 允许将最后一行的内容单独分到表尾行分组中 3、表主体行分组 2、不规则表格创建 通过 td 的跨行 和 跨列来实现不规则的表格 1、跨列 从指定单元格位置处开始,横向向右,合并掉几个单元格(包含自己),被合并掉的单元格,要删除 2、跨行 从指定单元格位置处开始,纵向向下,合并掉几个单元格(包含自己),被合并掉的单元格,要删除 3、表格的嵌套 被嵌套的所有的内容,只能放在 td 中 2、列表 1、作用 按照一定的格式显示数据 2、列表的分类 & 语法 1、列表的组成 由列表类型 以及 列表项 来组成 2、分类 & 语法 1、有序列表 --> Order List 允许包含若干列表项: --> List Item 2、无序列表 --> Unorder List 允许包含若干列表项: 3、属性 1、ol 1、type 1 、按数字方式排列,默认值 a 、按小写英文方式排列 A 、按大写英文方式排列 i 、按小写罗马数字排列 I 、按大写罗马数字排列 2、start 指定标识从 几 开始显示 2、ul 1、type 1、disc,实心圆,默认值 2、circle,空心圆 3、square,实心矩形 4、none 3、列表的嵌套 被嵌套的内容只能放在 li 中 Demo : 1、声明一个列表在 html 中(有序),包含两个列表项,显示 两部小说的名字 2、在两个列表项中,再各嵌套一个无序列表,各写3-4个小说中的主角 3、定义列表 1、作用 以一种特殊的结构来排列数据 通常用语对一类事物/名词 的解释上面 2、语法 :声明一个定义列表 :声明要解释的事物名称 或 名词 :对上述名词或事物解释的内容 3、常用场合 图文混排 3、结构标记 1、结构标记的作用 搭建网页的结构(布局),用于替代 div,最大的优点是提升了标记的"语义性" 2、结构标记详解 1、<header></header> 作用:表示网页 或 某块内容的头部 2、 作用:表示网页中的 导航内容 3、 作用:表示网页主体内容中的某一部分 4、 作用:出现在文字描述性比较强的场合:一则新闻,论坛中的帖子,微博信息,博客的信息 5、 作用:表示网页中,或某部分内容的 边栏信息 6、 作用:表示网页中尾部的信息 4、表单(难点) 1、表单的作用 用于收集用户的信息并提交给服务器 表单主体是由两部分组成的 1、表单元素 收集信息,并提交给服务器 2、表单控件 用于与用户交互的一些元素:文本框,密码框 2、表单元素(难点) 标记:<form></form> 注意:只有放在 <form></form> 里面的表单控件的值,才能提交给服务器 属性: 1、action 提交给服务器处理程序的地址 (动作) 2、method 提交方式,以什么样的方式把数据交给服务器 1、get 特点: 1、以明文的方式将数据传递给服务器(提交的数据会显示在地址栏上) 2、安全性很低 3、提交数据最大限制为 2KB 4、向服务器要数据时可以使用 2、post 特点: 1、以隐式的方式将数据传递给服务器 2、安全性很高 3、不限制提交数据的大小 4、要提交数据给服务器处理时使用 3、... ... 3、enctype 作用:指定表单数据进行编码的方式 取值: 1、application/x-www-form-urlencoded 默认值,允许将任意类型的文本提交给服务器 2、multipart/form-data 允许将文件提交给服务器 3、text/plain 不对任何数据进行编码和传输 Demo : 1、创建 05-form.html 2、声明一个表单元素 form 3、指定提交地址为 login.php,提交方式为 get,编码方式为默认 3、表单控件 表单元素分类: 1、input元素 2、textarea 多行文本域 3、select 和 option 选项框 4、其它元素 5、新input元素 详解 : 1、input元素 里面会包含若干个不同的表单控件 标记 :<input> 属性 : 1、type 根据不同的type属性值,可以创建不同的input元素 2、name 定义表单控件的名称,主要提交给服务器使用的 注意:如果不声明name属性的话,元素则无法提交给服务器 3、value 定义当前控件的值,主要提交给服务器使用的 4、disabled 禁用控件,无值的属性 <input disabled> 2、文本框 与 密码框 文本框:<input type="text"> 密码框:<input type="password"> 具备除以上四个属性外,还具备以下几个独立属性: 1、maxlength 限制输入的字符数,取值为数字 2、readonly 只读,无值属性 Q : readonly 和 disabled 的区别 1、readonly ,是只读的意思,是允许提交给服务器,不让用户改数据而已 2、disabled , 是禁用的意思,不仅不让用户改数据,而且还不能提交给服务器 3、placeholder 占位符,即默认显示在文本框用于给用户提示的文字 3、按钮 1、提交按钮 作用:将表单提交给服务器 标记:<input type="submit" value="显示的文本"> 2、重置按钮 作用:将表单恢复到初始化的状态 标记:<input type="reset" value="显示的文本"> 3、普通按钮 作用:通过 JS 自定义功能 标记:<input type="button" value="显示的文本"> 4、显示的内容 属性: 1、type :submit / reset / button 4、单选按钮 和 复选框 单选按钮:<input type="radio"> 复选框:<input type="checkbox"> 属性: 1、name 设置名称,并用于分组,一组单选按钮 或 复选框的名称必须相同 2、value 必须设置 3、checked 默认被选中,无值属性 5、隐藏域 和 文件选择框 1、隐藏域 <input type="hidden" name="" value=""> 想提交给服务器,但不想给用户看的数据,可以放在隐藏域中 2、文件选择框 <input type="file" name=""> 注意: 1、form的 method 属性值必须为 post 2、form的 enctype属性值必须为 multipart/form-data http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=bingbing http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=fengjie&gender=1&question=0&question=1&question=2&question=3 http://localhost/02-HTML/Day02/login.php?uname=wenhua.li&upwd=fdsafdsafdsa&gender=0&question=0&question=1&question=2&question=3&uid=10000567789 1、表单 1、form ... 2、input ... 3、textarea 控件 标记:<textarea></textarea> 属性: 1、name 定义名称,提交给服务器使用 2、cols 指定文本域的列数,变相指定宽 3、rows 指定文本域的行数,变相指定高 4、readonly 只读 Demo : 创建 01-form.html 文件 创建一个 多行文本域,列数为 50,行数为 5,名称为 intro 4、选项框 1、标记 表示 下拉列表 或 滚动列表 列表中的内容,允许出现多个 2、属性 1、 1、name :控件的名称 2、size :默认显示选项的数量,默认为1,为下拉列表,如果取值>1的话,则为滚动列表 3、multiple 设置多选,无值的属性 2、 1、value :选项的值,提交给服务器用 2、selected :默认被选中 5、其它标记 1、label 元素 作用:关联文本与表单控件的,点击文本时就如同点击表单控件一样 标记:文本 属性: 1、for 指定要关联的表单控件的ID值 2、为控件分组 分组标题 分组中的内容 3、浮动框架 1、作用 将其他页面导入到当前页面中来 2、语法 标记:<iframe></iframe> 属性: 1、src 要引入的页面的url 2、frameborder 指定浮动框架的边框,默认为1,则显示边框 不需要边框则设置为 0 3、width 4、height 练习: 创建一个 02-iframe 的网页,将 01-form.html 页面引入进来 ,适当调整宽度,高度,边框 6、新input元素 (HTML5) 1、电子邮件类型 作用:提交时会验证数据是否符合Email的规范 标记:<input type="email"> 2、搜索类型 作用:在文本框的基础上,提供了快速清除操作 标记:<input type="search"> 3、URL类型 作用:提交时会验证数据是否符合Web站点的URL规范(绝对路径) 标记:<input type="url"> 4、电话号码类型 作用:在移动端设备中,能展开 拨号键盘,在PC中无效 标记:<input type="tel"> 5、数字类型 作用:只能让用户输入 或 选择数字 标记:<input type="number"> 属性: 1、min :当前控件接受的最小值 2、max :当前控件接受的最大值 3、step :微调数字时每次变化的长度,默认为1 6、范围类型 作用:提供一个滑块,让用户选择数字 标记:<input type="range"> 属性: 1、min :当前控件的最小值 2、max :当前控件的最大值 3、value :设定初始值 7、颜色类型 作用:提供一个颜色拾取控件 语法:<input type="color"> 8、日期类型 作用:提供一个日期输入控件 标记:<input type="date"> 9、周类型 作用:提供一个日期控件,用于选取周 标记:<input type="week"> 10、月份类型 作用:选取月份控件 标记:<input type="month"> =============================
(5)\\python全栈day41-50\\python全栈s3 day41;目录中文件数:10个 ├─(1) 01 python s3 day41 JS的历史以及引入方式.avi ├─(2) 02 python s3 day41 JS的基础规范.avi ├─(3) 03 python s3 day41 JS的基本数据类型.avi ├─(4) 04 python s3 day41 JS的运算符.avi ├─(5) 05 python s3 day41 JS的控制语句与循环.avi ├─(6) 06 python s3 day41 JS的循环与异常.avi ├─(7) 07 python s3 day41 JS的字符串对象.avi ├─(8) 08 python s3 day41 JS的数组对象.avi ├─(9) 09 python s3 day41 JS的函数对象.avi ├─(10) day41.rar (6)\\python全栈day41-50\\python全栈s3 day42;目录中文件数:6个 ├─(11) 01 python s3 day42 JS的函数作用域.avi ├─(12) 02 python s3 day42 JS的window对象之定时器.avi ├─(13) 03 python s3 day42 JS的history对象和location对象.avi ├─(14) 04 python s3 day42 JS的DOM节点.avi ├─(15) 05 python s3 day42 JS的DOM节点.avi ├─(16) day42.rar (7)\\python全栈day41-50\\python全栈s3 day43;目录中文件数:10个 ├─(17) 01 python s3 day43 上节知识回顾.avi ├─(18) 02 python s3 day43 js之onsubmit事件与组织事件外延.avi ├─(19) 03 python s3 day43 DOM节点的增删改查与属性设值.avi ├─(20) 04 python s3 day43 正反选练习.avi ├─(21) 05 python s3 day43 js练习之二级联动.avi ├─(22) 06 python s3 day43 jquery以及jquery对象介绍.avi ├─(23) 07 python s3 day43 jquery选择器.avi ├─(24) 08 python s3 day43 jquery的查找筛选器.avi ├─(25) 09 python s3 day43 jquery练习之左侧菜单.avi ├─(26) day43课件代码.rar (8)\\python全栈day41-50\\python全栈s3 day44;目录中文件数:10个 ├─(27) 01 python s3 day44 jquery属性操作之html,text,val方法.avi ├─(28) 02 python s3 day44 jquery循环方法和attr,prop方法.avi ├─(29) 03 python s3 day44 jquery模态对话框与clone的应用.avi ├─(30) 04 python s3 day44 jqueryCSS操作之offsets,position以及scrolltop.avi ├─(31) 05 python s3 day44 jquery事件绑定与事件委托.avi ├─(32) 06 python s3 day44 jquery动画效果.avi ├─(33) 07 python s3 day44 jquery扩展与插件.avi ├─(34) 08 python s3 day44 jquery扩展补充.avi ├─(35) 09 python s3 day44 本周作业轮播图以及思路.avi ├─(36) day44课件代码.rar (9)\\python全栈day41-50\\python全栈s3 day45;目录中文件数:3个 ├─(37) day45.rar ├─(38) 轮播图片css部分.avi ├─(39) 轮播图片js部分.avi (10)\\python全栈day41-50\\python全栈s3 day46;目录中文件数:8个 ├─(40) 01 python s3 day46 数据库与dbms的概念.avi ├─(41) 02 python s3 day46 sql规范.avi ├─(42) 03 python s3 day46 数据库操作DDL.avi ├─(43) 04 python s3 day46 mysql的数据类型.a

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值