学习网页的概念和分类,了解静态网页和动态网页的不同;了解网页浏览器的工作原理。了解HTML,XHTML,HTML5的概念,制作简单的HTML页面的开发。
可以在internet上通过网页浏览信息,如新闻,图片等,还可发布信息,如招聘信息等,网页是在某个地方某一台计算机上的一个文件。
网页主要由3部分组成:结构,表现,行为。
静态网页的特点是不论在何时何地浏览这个网页,看到的形式和内容都相同,且只能浏览,用户无法与网站进行互动。静态页面由HTML编写,扩展名一般为.htm, .html, .shtml, .xml等。与动态页面相比,动态网页是以.asp, .jsp, .php, .perl, .cgi等形式为后缀。
动态网页指网页的内容可以根据某种条件而自动改变。
采用B/S结构,即浏览器/服务器结构,用户工作界面是通过www浏览器来实现的:
浏览器的工作原理:
www的基础是HTTP协议,web浏览器就是用于通过url来获取并显示web网页的一种软件工具,url用于指定要取得的Internet上资源的位置与方式。
HTML是一种用来制作超文本文档的简单标记语言,用其编写的超文本文档称为HTML文档,它能独立于各种操作系统平台。
可扩展超文本标记语言XHTML:
XHTML是不需要编译,可以直接由浏览器执行,是一种增强了的HTML。它的可扩展性和灵活性将适应未来网络应用的更多需求,是基于XML的应用。开发者在HTML4.0的基础上,用XML的规则对其进行一些扩展,由此得到了XHTML,所以,建立XHTML的目的是为了实现HTML向xml的过渡。
HTML5简化了:<!DOCTYPE html>,简化了DOCTYPE,简化了字符集声明,以浏览器的原生能力替代脚本代码的实现,简单而强大的HTML5API。
文件扩展名是操作系统用来标志文件格式的一种机制。扩展名如同文件的身份说明,区别了文件的类别和作用。
HTML网页的文件后缀名是.html或者.htm.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"xxx">
声明的作用,告诉浏览器所书写的HTML代码的版本。
复制代码
<meta>标签,是HTML文档<head>标签内的一个辅助性标签,meta标签分为2个重要的属性:name和http-equiv,通常用于能够优化页面被搜索的可能性。
meta标签下name属性的使用:
<head>
<meta name="keywords" content="nine, twenty-three">
<meta name="description" content="...">
<meta name="generator" content="Dreamweaver">
<meta name="author" content="depp">
<meta name="robots" content="all">
</head>
复制代码
meta标签下的另一个属性http-equiv,其作用是反馈给浏览器一些明确的信息,帮助浏览器更精确地展示页面。
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312"/>
</head>
复制代码
link标签,定义了一个外部文件的链接,经常被用于链接外部css样式。
base标签为整个页面定义了所有链接的基础定位,其主要的作用是确保文档中所有的相对url都可以被分解成确定的文档地址。
style标签用于定义css的样式。表明了在页面中引入一个.style的样式表。
script标签用于定义页面内的脚本。
titl标题标签,body体标签.
一个好的HTML文档应具备以下3个方面:
<br>..</br>
<p>...</p>
复制代码
<p align=left>...</p>
<p align=center>...</p>
<p align=right>...</p>
复制代码
给文本加标注:<acronym title="">...</acronym>注释的内容放在title属性后的引号中,被注释的内容放在标签内。
无序列表:ul,li,有序列表:ol li
定义列表:
<dl>
<dt>...</dt>
<dd>...</dd>
<dt>...</dt>
<dd>...</dd>
</dl>
复制代码
所以总的来说:jepg可以压缩图像的容量,png的质量较好,gif可以做动画。
矢量图
说说矢量图和位图最大的区别:
无论是否对图像进行缩放,都不会影响矢量图的效果,但会影响图的质量。
设计者一般只愿意将logo,ui图标,标识符号等简单图像存为矢量图。
图像的分辨率
分辨率的单位是dpi即每英寸显示的线数。通常所指的分辨率有两种,屏幕分辨率和图片分辨率,屏幕分辨率即计算机显示器默认的分辨率。
一般目前大部分显示器的分辨率是1024px x 768px,图片分辨率定义是用于量度位图图像内数据量多少的一个参数。
分辨率越高的图像,包含的数据越多,图像的容量就越大,会消耗更多的计算机资源,需要更大的存储空间。
分辨率指的是每英寸的像素值,通过像素和分辨率的换算可以测算图片的长度。
页面中的图像
<img src=... alt=.../>
复制代码
<img style="vertial-align:text-top"/>
复制代码
<img style="vertical-align:middle"/>
复制代码
<img style="vertical-align:text-bottom"/>
复制代码
<img style="vertical-alignbaseline"/>
复制代码
hspace=30px表示图像左,右两边与页面其他内容隔30px的距离。vspace=30px表示图像上,下两边与页面的其他内容的间隔距离是30px。
<img src="" widht="" height="">
<img src="..." border=>
<hr align=".." width="..." size="...">
<a href="链接对象的路径">链接锚点对象</a>
复制代码
把邮箱留给需要联系你的人
<a href="mailto:邮箱地址">链接锚点对象</a>
复制代码
dashed 虚线
double 双线
groove 槽线
inset 内陷
outset 外陷
复制代码
热点图像区域的链接
map标签:
<map id=...>
<area shape="..." coords="..." href="...">
</map>
复制代码
shape属性,用于确定选区的形状,rect矩形,circle圆形,poly多边形。href属性,就是超链接。coords属性,用于控制形状的位置,通过坐标来找到这个位置。
计算矩形的面积
<html>
<head>
<title>计算矩形的面积</title>
<style type="text/css">
.result {font-weight:bold;}
</style>
<script language="JavaScript">
function calculate() {
var length = document.data.length.value;
var width = document.data.width.value;
var height = document.data.height.value;
var area = document.getElementById('area');
area.innerHTML = length*widht;
volume.innerHTML = length*widht*height;
}
</script>
复制代码
<form action="my.php"></form>
复制代码
它表明了这是一个表单,其作用是提交my.php页面中的数据。
<form name="data">
复制代码
原理:在客户端接收用户的信息,然后将数据递交给后台的程序来操控这些数据。
<script language="JavaScript">
复制代码
如果通过引用外部javascript程序,就像链接外联样式:
<script type="text/javascript" src="dada.js"></script>
复制代码
<form action="da.php"></form>
复制代码
提交方式用get,表单域中输入的内容会添加在action指定的url中,当表单提交之后,用户会获取一个明确的url。get在安全性上较差,所有表单域的值直接呈现。post除了有可见的处理脚本程序,别的东西都可以隐藏。
<form name="dada">
复制代码
<form action="mailto:da@qq.com" method="post" name="dada"
enctype="text/plain" target="_blank"></form>
复制代码
是指用户输入数据的地方,表单域可分为3个对象,input, textarea, select。
input对象下的多种表单的表现形式。
<input name="" type="" value="" size="" maxlength="">
复制代码
<form action="" method="post">
<input name="name" type="text" size="20" maxlength="12">
</form>
<input name="secret" type="password" size="20" maxlength="20">
<input name="one" type="radio" value="one" checked="checked">
<input name="one" type="radio" value="two">
<input type="submit" value="确定">
<input type="reset" value="恢复">
复制代码
创建submit按钮或reset按钮时,name属性不是必需的。
使用hidden来记录页面的数据并将它隐藏起来,用户对这些数据通常并不关心,但是必须提交数据。
<form action=da.asp>
<input type=hidden name=somehidden value=dada>
<input type=submit value=下一页>
</form>
复制代码
image样式的表单
<input type="image" src="图片/小图标.jpg" alt="确定">
复制代码
file上传文件的样式表单
file样式表单允许用户上传自己的文件
<html>
<head>
<title>file样式的表单</title>
<style type="text/css">
body {font:120% 微软雅黑;}
input {font:100% 微软雅黑;}
</style>
</head>
上传我的文件:
<form action="..." method="post" enctype="multipart/form-data">
<input type="file" name="uploadfile" id="uploadfile"/>
</form>
</body>
</html>
复制代码
textarea对象的表单
textarea对象的表单
<html>
<head>
<title>file样式的表单</title>
<style type="text/css">
body{font:120% 微软雅黑;}
textarea{font:80% 微软雅黑;color:navy;}
</style>
</head>
<body>
留言板
<form action="..." method="post" enctype="multipart/form-data">
<textarea name="dada" rows="10" cols="50" value="dada">请说:</textarea>
</form>
</body>
</html>
复制代码
select对象的表单
select对象的表单
<form action="">
地址:
<select name="da1">
<option>1</option>
</select>
</form>
复制代码
使用optgroup标签配合label属性来给选项分类:
<select name="上海">
<optgroup label="da1">
<option>1</option>
</optgroup>
<optgroup label="da2">
<option>2</option>
</optgroup>
</select>
复制代码
在select标签中加入size属性即可,如size=6表示是一个能容纳6行文字的文本框,超出设置的行数时,将出现滚动条。
<select name="上海" size="6">
复制代码
表单域集合:表单域的代码由fieldset标签和legend标签组合而成。
<form action="..." method="post">
<fieldset>
<legend>注册信息:</legend>
输入用户名:<input name="name" type="text" size="20" maxlength="12">
</fieldset>
</form>
复制代码
表单输入类型
<input type="url" name="webUrl" id="webUrl" value="http://wwwxxx"/>
复制代码
<input type="email" name="dada" id="dada" value="23@qq.com"/>
复制代码
<input type="range" name="volume" id="volume" min="0" max="1" step="0.2"/>
复制代码
<input type="number" name="score" id="score" min="0" max="10" step="0.5"/>
复制代码
增加表单的特性以及元素
<input name="name" type="text" form="form1" required/>
<form id="form1">
<input type="submit" value="提交"/>
</form>
复制代码
<form id="form1" method="post">
<input name="name" type="text" form="form1"/>
<input type="submit" value="提交到page1" formaction="?page=1”/>
<input type="submit" value="提交到page2" formaction="?page=2"/>
<input type="submit" value="提交"/>
</form>
复制代码
placeholder特性
<input name="name" type="text" placeholder="请输入关键词"/>
复制代码
autofocus特性:用于当页面加载完成时,可自动获取焦点,每个页面只允许出现一个有autofocus特性的input元素。
<input name="key" type="text" autofocus/>
复制代码
autocomplete特性用于form元素和输入型的Input元素,用于表单的自动完成。
input name="key" type="text" autocommplete="on"/>
复制代码
autocomplete特性有三个值,可以指定"on","off"和""不指定,不指定就将使用浏览器的默认设置。
<input name="email" type="email" list="emaillist"/>
<datalist id="emaillist">
<option value="23#qq.com">xxxx</option>
</datalist>
复制代码
keygen元素提供一个安全的方式来验证用户。
<form action="">
<input type="text" name="name"/><br>
<keygen name="security"/>
<br><input type="submit"/>
</form>
复制代码
<form oninput="x.value=dada.value">
<input type="range" name="volume" value="50"/>
<output name="x"></output>
</form>
复制代码
为某个表单内部的元素设置了required特性,那么这项的值不能为空,否则无法提交表单。
<input name="name" type="text" placeholder="dada" required/>
复制代码
<input name="code" type="text" value="" pattern="[0-9]{6}" placeholder="da"/>
复制代码
<input type="range" name="dada" id="dada" min="0" max="1" step="0.2"/>
复制代码
<form action="dada.asp" novalidate="novalidate">
<input type="email" name="user_email"/>
<input type="submit"/>
</form>
复制代码
var validityState=document.getElementById("username").validity;
复制代码
var willValidate = document.getElementById("username").willValidate;
复制代码
var validationMessage=document.getElementById("username").validationMessage;
复制代码
好了各位,以上就是这篇文章的全部内容,能看到这里的人都是人才。我后面会不断更新技术相关的文章,如果觉得文章对你有用,欢迎给个“赞”,也欢迎分享,感谢大家 !!
简介】
拖放是一种常见的特性, 属于html5标准的一部分, 即抓取对象以后拖动到另一个位置, 在html5中, 任何元素都可被设置拖放。首先, 我们要给需要拖动的HTML元素启用拖动功能, 设置属性draggable="true",
<div draggable="true"></div>
提示:a标签和img标签默认是启用该属性的, 可不需要设置draggable属性。
draggable有三个值, 如下所示:
draggable = true(元素可以被拖动)
draggable = false(元素不能被拖动)
draggable = auto(浏览器可以自主决定某个元素是否可以被拖动)
【用法】
当我们用鼠标拖拽目标元素过程中会触发的事件:
ondragstart:用户按下鼠标开始拖动时触发
ondrag:用户正在拖动时反复触发
ondragend:用户结束拖动后触发
<img id="imgs" ondragstart="startFun()" ondrag="ondragFun()" ondragend="ondragendFun()" src="../img/a.png"/>
当拖动元素进入目标容器内触发的事件:
ondragenter:鼠标拖动对象进入释放区时触发
ondragover:被拖动物体进入目标容器内移动时反复触发
ondragleave:拖动对象在释放区没有释放就离开容器时触发
ondrop:被拖动物体在目标容器内释放时触发
<div id="container" ondragenter="ondragenterFun(event)" ondragover="ondragoverFun(event)" ondragleave="ondragleaveFun()" ondrop="drop()"></div>
ondragenter和ondragover事件的默认行为是拒绝接受任何被拖放的项目, 所以我们必须要做的最重要的事情就是防止这种默认行为的发生。
因此, 我们只需要在这两个事件调用的函数中传入event对象, 使用event.preventDefault()就可取消这种默认行为;举个例子, 在drop事件时, Firefox浏览器会关闭网页, 转而显示被拖动图片img元素src所引用的地址。
取消元素默认行为:
function ondragenterFun(e){
e.preventDefault();
}
function ondragoverFun(e){
e.preventDefault();
}
在event对象中, 我们会使用dataTransfer属性来获取DataTransfer对象, 在DataTransfer对象中有我们操作数据的属性和方法, 具体如下:
datatransfer:转移释放元素的数据到释放区, 返回Datatransfer对象
event.dataTransfer //返回DataTransfer对象
DataTransfer对象的属性:
files:处理从操作系统拖动并释放到释放区的文件;
types:返回一个字符串数组, 该对象包含了dataTransfer对象中数据的所有类型;
items:返回DataTransferItems对象, 该对象代表了拖动数据;
dropEffect:设置拖放目标允许发生的拖放行为, 如果此处设置的拖放行为不在effectAllowed属性设置的可拖放行为内, 拖放操作将会失败。该属性值只允许为"null"、"copy"、"link"或"move";
effectAllowed:设置拖动元素允许发生的拖动行为, 该属性值可为"none"、"copy"、"copyLink"、"copyMove"、"link"、"linkMove"、"move"、"all"或"uninitialized";
DataTransfer对象的方法:
setData( format , data ):将指定格式的数据赋值给dataTransfer对象,参数format定义数据的格式也就是数据的类型,data为待赋值的数据。
getData( format ):从dataTransfer对象中获取指定格式的数据,format代表数据格式,data为数据。
clearData( [format] ):从dataTransfer对象中删除指定格式的数据,参数可选,若不给参数,将删除对象中所有的数据。
setDragImage(el, x, y):设置拖放操作的图标,其中el代表自定义图标,x代表图标与鼠标在水平方向上的距离,y代表图标与鼠标在垂直方向上的距离。
了解了H5拖动使用的api以后我们接下来看一个综合的案例, 功能如下:
1)、实现图片拖动功能;
2)、实现图片复制功能;
3)、过滤不能拖动的元素;
4)、实现拖动本地图片到浏览器指定位置;
公共css部分:
<style>
#dropIn{
border:1px solid #AAAAAA;
height:100px;
margin-bottom: 10px;
padding: 10px;
}
#dropIn>img{
margin-right: 10px;
border:2px solid deepskyblue;
}
img{
width:100px;
border-radius: 10px;
border:2px solid red;
}
</style>
html部分:
<body>
<div id="dropIn"></div> <!--释放区-->
<img id="drop1" src="img/a.png" alt="" />
<!--拖动的图片元素-->
</body>
js部分:
<script type="text/javascript">
var darggID;
function getId(el){
return document.getElementById(el)
}
var dropId1 = getId("drop1");
var dropInId = getId("dropIn");
//取消事件默认行为
dropInId.ondragenter = cancelDefault;
dropInId.ondragover = cancelDefault; //绑定拖动元素释放时触发的事件
dropInId.ondrop = drop; //绑定
dropId1.ondragstart = startFun;
function cancelDefault(ev){ //取消默认行为
ev.preventDefault();
}
function startFun(ev){
darggID = ev.target.id;
//获取被拖动元素的id
//从源对象上的事件处理中保存数据,数据类型为"Text"
ev.dataTransfer.setData("Text",darggID);
}
function drop(ev){
ev.preventDefault();
// 从目标对象上的事件处理中读取"Text"类型数据
var data=ev.dataTransfer.getData("Text");
// 插入到目标对象中
ev.target.appendChild(document.getElementById(data));
}
</script>
接下来我们添加两张图, "drop2"是实现复制的图片, "drop3"是既不能复制也不能拖动的图片;
<img id="drop2" src="img/b.png" alt="" /><img id="drop3" src="img/c.png" alt="" />
添加js代码:
//获取页面元素
var dropId2 = getId("drop2");
var dropId3 = getId("drop3");
//绑定事件
dropId2.ondragstart = startFun;dropId3.ondragstart = startFun;
//修改drop函数为
function drop(ev){
ev.preventDefault();
// 从目标对象上的事件处理中读取"Text"类型数据
var data=ev.dataTransfer.getData("Text");
if(data=='drop1'){
//移动
ev.target.appendChild(document.getElementById(data));
}
if(data=='drop2'){//复制
var nreEl=document.getElementById(darggID).cloneNode(false);
getId("dropIn").appendChild(nreEl);
}
if(data=='drop3'){//过滤drop3,drop3不做任何操作
alert('过滤drop3')
}
}
接下来我们实现拖动本地图片到浏览器, 我们就将图片拖动到id为"dropIn"的这个div中;添加js:
/*document 监听drop 并阻止浏览器打开客户端的图片*/
document.ondragover = function (e) {
//只有在ondragover中阻止默认行为
e.preventDefault();
};
document.ondrop = function (e) {
//阻止 document.ondrop的默认行为
e.preventDefault();
};
//dropIn是div的id
dropIn.ondrop = function (e) {
var list = e.dataTransfer.files;
for (var i = 0; i < list.length; i++) {
var f = list[i];
reader(f);
}
};
function reader(f) {
var reader = new FileReader();
//读取数据
reader.readAsDataURL(f);
reader.onload = function () {
var img = new Image();
img.src = reader.result;
dropIn.appendChild(img);
}
}
【浏览器支持】
目前只有Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari5支持拖放,在 Safari5.1.2 中不支持拖放。
最后再和大家分享一个技巧, 这种拖动行为还能跨浏览器工作, 这里说的跨浏览器不是浏览器之间的跨窗口, 而是可以从Chrome浏览器拖动到Firefox浏览器, 因为拖放功能的支持是集成在操作系统里面的, 有着相同的特性。
端开发的入门门槛其实非常低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。
所以,对于想从事IT工作的人来说,前端开发是个不错的切入点。
对于零基础的HTML5学习者,首先需要的是一条思路清晰的HTML5学习路线,学习路线如同一本书的目录,有了它就可以对一门语言有宏观概念,学习起来更有针对性,这一点对零基础小白尤其重要。
下面,小编就为大家揭晓HTML5入门路线是什么样的?
基本概念
HTML(Hypertext Markup Language,超文本标记语言),是用来创建网页和网络应用的标准标记语言,可用来定义和描述网页的内容和结构。和CSS、JavaScript一起组成互联网的基础技术。
1、HTML5介绍
内容包括:互联网发展趋势、H5语言的优势、简单易学人人都能编程、H5就业和薪资情况、H5常见的项目与产品、H5的未来与方向
2、HTML基础
内容包括:HTML简介与历史版本、常用开发软件、常见标签与属性、表格与表单、标签规范与标签语义化、实战:网页结构布局
3、CSS基础
内容包括:css简介与基本语法、常见的各种样式属性、CSS选择器与标签类型、理解盒子模型与CSS重置、浮动与定位、利用photoshop工具测量样式、HTML+CSS开发网页、实战:高仿电商首页效果
4、CSS3基础
内容包括:css3常见样式、css3选择器、变形与动画、3D效果与关键帧、弹性盒模型
5、移动端布局
内容包括:移动端基本概念、viewport窗口设置、移动端布局方案、rem、vh、vw等单位、响应式布局、bootstrap框架
6.、JavaScript基础
内容包括:JS简介、JS变量、数据类型与类型转换、运算符与优先级、流程控制-if..else流程控制-switch...case、流程控制-while、do..while、for循环、break、continue语法、函数定义与调用、全局变量与局部变量。
还有函数传参与返回值、函数作用域与变量作用域、DOM的基本操作、定时器使用、this指向与修改指向、数组、字符串等方法操作、时间对象与正则对象、掌握常见BOM操作、常见事件与事件细节、JSON与AJAX、JSONP跨域操作、前端cookie的使用、实战:JS配合HTML与CSS完成电商项目
7、jquery框架
内容包括:jquery框架介绍及优势介绍、jquery核心思想、jquery常见方法、jquery动画操作、jqueryAJAX操作、jquery工具方法、利用jquery快速开发网页
8、PHP基础
内容包括:PHP简介与基本语法、mysql数据库及sql语法、apache服务器与集成开发工具、PHP链接数据库、PHP与AJAX交互、实战:留言板、登录、注册等
9、H5基础项目
内容包括:项目简介、项目功能演示、项目划分及框架、编写HTML页面结构、设置CSS样式、添加JS交互、可选框架:bootstrap、jquery、PHP等、项目调试及兼容、项目验收
虽然HTML5前端薪资高入门门槛低, 但是俗话说得好:入门容易,精通难。
HTML5前端开发的知识点繁多,要想真正掌握HTML5前端工程师开发技能,并非易事。
踩楼、私信小编,软件资源免费送!
如果你想学习HTML5前端,想高薪就业,就来乐购IT教育学院,我们有优质的师资,完备的建站流程和一流的开发、设计人员。是学编程与设计错不了的选择!
*请认真填写需求信息,我们会在24小时内与您取得联系。