十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、HTML的开发工具和使用的浏览器
目前成都创新互联公司已为上千的企业提供了网站建设、域名、虚拟主机、网站运营、企业网站设计、墨玉网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
开发工具:记事本等文本编辑器,Atom、VisualStudioCode( VSCode)、Brackets、Sublime text和Hbuider。
浏览器:Chrome、Firefox、IE、Safari、IPhone、Android。
二、HTML的基本要素
DOCTYPE 描述文档的类型
html 网页的根元素,写在网页的在外面
head 网页的头部信息,写在html标记的里面
body 网页的内容,写在html标记的里面
具体描述:
1、DOCTYPE 描述文档的类型,规定web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。
网页可以使用的具体版本,网页中可以使用那些标记,每个版本的DTD版本均有不同
使用例子
HTML4的例子
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""
HTML5的例子
2、html/html 网页文档中的根标记
html 标签有三个特殊的属性
manifest 指定网页缓存文件,可以让用户离线的时候也可以访问文件。
xmlns 设置html名空间,比如把网页设置成xhml的时候可以使用这个值。
lang 设置网页的描述语言,比如中文是zh;英文是en。
3、head/head头部标签在网页中只能有一个,设置HTML文档的头部信息,里面内容不会在页面中显示出来·。
head里面的标记
meta 标记
title定义网页的标题
link 链接
script 标记JavaScript脚本的内容
style 标记css样式
meta 标记
4、body/body只能有一个,显示网页的主体内容。
代码示例:
请点击输入图片描述
1 !DOCTYPE html 2 html lang="en" 3 head 4 meta charset="UTF-8" 5 title网页标题(显示在浏览器上)/title 6 meta name="description" content="网页内容的简单描述" 7 meta name="keywords" content="网页关键词" 8 link rel="/css/style.css" 9 script src="/js/script.js"/script10 /head11 body12 header网页头部内容/header13 main网页主要内容/main14 nav网页的导航内容/nav15 footer网页的页脚内容/footer16 /body17 /html
请点击输入图片描述
请点击输入图片描述
三、写在head中的标签
(一)、meta标签
meta元素的属性:
name 描述信息的名称,来标记这是一个什么样的信息
http-equiv 描述行为
content 描述的内容
charset 指定网页的编码
1、name 属性
1 meta name="author" content="nyw"2 !--作者, 定义网页的作者 --3 meta name="description" content="meta标记学习"4 !-- 描述,描述网页的实际内容 --5 meta name="keywords" content="HTML,meta"6 !-- 关键字,定义网页关键字 --
2、http-equiv属性
1 meta http-equiv="refresh" content="30"2 !-- 网页30s后自动刷新 --3 meta http-equiv="refresh" content="5,url=dom.html"4 !-- 网页30秒后跳转到dom.html文档 --
meta http-equiv="refresh" content="5,url=dom.html"
http-equiv描述网页的行为,行为 refresh刷新,内容为5,表示5秒后跳转到 dom.html这个文档。
3、content 属性
特殊属性
content-type 指定http头部信息的文字编码(最为常用)
default-style 指定优先使用的样式单(stylesheet)
refresh 用于网页的自动刷新或是页面跳转
set-cookie 设置页面的cookie(现在已经不再推荐使用)
4、charset属性
指定网页的编码,推荐使用UTF-8来增加网页的兼容性。
代码实例:
为搜索引擎抓取机器人准备一些信息
这段代码可以禁止搜索引擎缓存和跟踪网页。
meta name="robots" content="noindex,nofollow"
!-- name定义的是机器人,内容部分表示不要被搜索引擎缓存,也不要被搜索引擎跟踪 --
代码实例:
请点击输入图片描述
1 !DOCTYPE html 2 html lang="en" 3 head 4 meta charset="UTF-8" 5 title网页标题(显示在浏览器上)/title 6 meta name="author" content="nyw" 7 !--作者, 定义网页的作者 -- 8 meta name="description" content="meta标记学习" 9 !-- 描述,描述网页的实际内容 --10 meta name="keywords" content="HTML,meta"11 !-- 关键字,定义网页关键字 --12 meta http-equiv="refresh" content="30"13 !-- 网页30s后自动刷新 --14 meta http-equiv="refresh" content="5,url=dom.html"15 !-- 网页30秒后跳转到dom.html文档 --16 meta name="robots" content="noindex,nofollow"17 !-- name定义的是机器人,内容部分表示不要被搜索引擎缓存,也不要被搜索引擎跟踪 --18 /head19 body20 /body21 /html
请点击输入图片描述
(二)、title、base标记
title和base标记都是写在head标签中
title:设置网页的标题
写法:title内容/title。
base:指定网页跳转基准URL,如果不指定的话默认为当前网站的当前路径。
写法:base href=""
base属性值:
href 指定网页跳转到基准URL,如果不指定的话则默认为当前网站的当前路径。
base href="" 这是将页面跳转到百度的网站打开。
target 指定链接的跳转帧如果不指定的话,则是在当前页面中跳转。
base target="_blank" 网页中的链接都应该在新的窗口中打开。
terget属性值:
_blank 在新窗口中打开被链接的文档
_self 默认值,在相同框架中打开被链接的文档
_parent 在父框架集中
_top 在整个窗口中打开被链接文档·
framename 在指定框架中打开被链接文档
(三)、link标记
link标记:链接外部文件时使用的标记,可以把外部文件的内容引入到当前文件中来,使当前网页实现更多的功能。
link属性:
href:指定链接外部路径的路径和文件名,要设置全路径并且带文件名
rel:引用文件,引用资源的类型定义
我们在使用link标签引用外部文件的时候,外部文件的类型是多种多样的。
alternate 代替文档(种子,其他语言版本,其他格式等等)
author 网页的作者
help 帮助文件的链接
icon 网页的图标
next 如果是连续网页的时候,指定下一个网页
prefetch 把链接外部资源时提前缓存起来。
prev 如果是连续网页
media 链接文件或是资源属于哪一种资源。
hreflang 链接文件的语言种类
type 链接文件的mi/me类型(比如说,图片图标文本)
sizes 根据link链接文件的类型,来指定文件的大小
代码示例:
链接网页图标:
网站的图标指定,可以显示在浏览器的图标栏,也可以被手机读取作为网站的图标存入收藏夹
1 !-- 网站的图标指定,可以显示在浏览器的图标栏,也可以被手机读取作为网站的图标存入收藏夹 --2 link rel="icon"3 !-- 示例 --4 link rel="icon" href="img/favicon.png" type="image/png"5 link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon"6 link rel="apple-touch-icon" href="img/apple-touch-icon.png" type="image/png"
注意:后面的href和前面type标注的类型要一致,这样既可以显示在浏览器,又可以显示在手机上
链接外部样式单
1 link rel="stylesheet"2 link rel="stylesheet" href="style1.css" media="screen"3 link rel="stylesheet" href="style2.css" title="主题样式文件"4 link rel=" alternate stylesheet" href="style3.css" title="可选样式单"
说明:
alternate 会在浏览器中会弹出一个对话框,供用户可以进行选择
media 表示媒体类型为屏幕,可以是手机,但不包括打印机和投影仪
title 对这个link进行简单的说明
网站RSS种子指定
!-- 网站RSS种子指定 --
link rel="alternate" type="application/rss+xml"
为搜索引擎的准备的网页的URL
!-- 为搜索引擎的准备的网页的URL --
link rel="canonical"
link rel="canonical" href=""
优点:a、网络标准统一、HTML5本身是由W3C推荐出来的。
b、多设备、跨平台
c、即时更新,提高可用性和改进用户的友好体验;
d、有几个新的标签,这将有助于开发人员定义重要的内容;
e、可以给站点带来更多的多媒体元素(视频和音频),可以很好的替代Flash和Silverlight;
f、涉及到网站的抓取和索引的时候,对于SEO很友好;
缺点: a、安全:像之前Firefox4的web socket和透明代理的实现存在严重的安全问题,同时web storage、web socket 这样的功能很容易被黑客利用,来盗取用户的信息和资料。
b、完善性:许多特性各浏览器的支持程度也不一样。
c、技术门槛: html5简化开发者工作的同时代表了有许多新的属性和API需要开发者学习,想web worker、web socket、web storage等新特性要求对于后台的技术需要有一定的了解,甚至需要深入了解其后面原理和逻辑,而canvas要求视觉和图像算法的一些知识,传统的前端开发者需要掌握更多算法、视觉、 后台甚至浏览器原理的知识,机遇的同时也是巨大的挑战
d、性能:某些平台上的引擎问题导致html5性能低下,同时在不加入GPU(图形处理器)加速的情况下,html5处理复杂音视频, 动画的性能不尽如人意。
e、浏览器兼容性:最大缺点,IE9以下浏览器几乎全军覆没。
学习HTML5需要掌握的知识点知识点有以下几个:
一、HTML5基本组成:
1、HTML5=HTML+CSS+JavaScript
2、HTML指的是结构:结构是在整个网页中有标题、列表、图片等。
CSS是样式:样式是标题文字的字体大小、颜色、字体;图片大小;某个块的背景色或背景图等。
JS是行为:行为是在网页上四处飘动的广告;图片滚动;浏览图片时鼠标移动到图片时,放大缩小图片的效果。
二、容易混淆概念:
1、HTML5移动端的功能和应用程序:
对于苹果手机中的应用程序,属于iOS开发,语言是OC;对于其他安卓系统的手机,需要使用JAVA语言进行开发。HTML5能够做的是移动端的网页以及微信平台中移动端网页。
2、前端后台的区别:
无论HTML5还是iOS,在整个网页开发流程中,前端(HTML5)开发工程师,主要负责的是“前台页面制作”,“网站测试”,“修改”三个部分。
3、HTML5与网页设计与制作的区别:
原有的网页设计与制作,主要针对PC平台,进行网页网站的设计与制作,相对会涉及一部分设计工作,并将美工图实现成网页。通常使用的工具是网页三剑客—Photoshop、Flash、Dreamweaver。
然而,行业的发展使得“网页设计与制作”这一职业逐渐遭到了淘汰。其中原因之一就是网页设计与制作当中的结构实现,通常采用的是table布局;而web前端开发工程师、HTML5当中结构的实现,采用的是DIV+CSS方式的布局,因此,Dreamweaver工具的使用也就没有什么必要性了,取而代之的是内存占用小,开发速度快的文本类编辑器。而Flash在与HTML5的大战中战败,当前已经退出了移动端以及电视平台的市场争夺,在PC平台也越来越少。转言之,Flash在网页制作的领域里已经江郎才尽,原来的网页三剑客只剩下一个ps,在前端工作要求中,需要掌握基本的切图即可。
总结:随着互联网的快速发展,HTML5已经慢慢的渗透到我们的生活中,因此HTML5前景十分光明,需要我们牢牢的抓住机会,通过一些专业的学习后能够在这个行业发光发热。
一、 HTML5新增的标签
(1)header nav main footer section article hgroup figure figcaption aside
video audio canvas
(2)如何让新标签兼容低版本浏览器: html5shiv.js
二、 HTML5新增的表单控件
一、表单控件的新属性
input type="text" placeholder="" required autofocus pattern="abc"
二、新增的表单控件
(1)input type="email"
(2)input type="url"
(3)数字控件: type="number"
(4) 滑动组件: type="range"
(5) 拾色器: type="color"
(6) 日期控件: type="date"
三、本地存储
1、 三种本地存储 : cookie webStorage(localStorage sessionStorage)
2、localStorage的API
(1)写入: localStorage.setItem(键,值); //值只能是字符串
localStorage.user = "123" localStorage["user"] = "123"
(2)读取 var user = localStorage.getItem("user")
var user = localStorage.user;
(3)删除: localStorage.removeItem("user") localStorage.clear()
(4)修改: localStorage.setItem("user","890")
3、sessionStorage的API
sessionStorage.setItem(键,值);
sessionStorage.getItem(键);
sessionStorage.removeItem(键);
sessionStorage.clear();
**********重点**********
4、cookie webStorage(localStorage sessionStorage)三者的区别
四、离线存储
(1) *.manifest (*.appcache)
index.html html manifest="*.manifest"
(2) 理解离线存储的更新方式
五、移动端的布局思路:
1、设备像素比(倍率) 逻辑像素尺寸 (360px 320px 375px 414px)
window.devicePixelRatio
2、 meta name="viewport" content="width=device-width,maximum-
scale=1.0,minimum-scale=1.0,initial-scale=1.0,user-scalable=no""
3、使用rem单位
六、地理定位
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(success,error,{
timeout: 5000
});
function success(pos){
纬度: pos.coords.latitute
经度: pos.coords.longtitude
}
}
navigator.geolocation.watchPosition(success);
七、地理定位和百度地图API的结合
八、视频,音频 video autoplay="autoplay" controls="controls" loop="loop" poster=""
preload="preload" audio
九、移动端事件:
(1) ontouchstart ontouchmove ontouchend
(2) 如何判断是否为移动端: if ("ontouchstart" in document){}
(3) 移动端事件的事件对象及常用属性
e.touches[0].clientX e.touches[0].clientY e.touches[0].target
(4) 移动端常见问题及解决方案:
a、 click事件 300ms的延迟: 1zepto的tap事件 (2) fastclick.js
b、 zepto的tap事件有点透问题 : (1) fastclick.js
(5) zepto的touch模块: tap singleTap doubleTap longTap
swipeLeft swipeRight swipeUp swipeDown
十、swiper.js的使用 (参考官网)
十一、 canvas
(1) canvas width="600" id="can"/canvas 300*150
(2) var can = document.getElementById("can");
var cxt = can.getContext("2d");
cxt.beginPath();
cxt.moveTo(100,200);
cxt.lineTo(200,400);
cxt.strokeStyle = '#f00';
cxt.stroke();
cxt.clearRect(0,0,200,300);
context.globalCompositeOperation="destination-out"; (了解)