前端学习笔记-HTML篇

自学前端也有小半年了,从最开始的一脸懵逼到现在的勉强入门。想来,也该好好总结一下了。

前端开发初识

  • 1、[编辑器的选择/开发环境介绍](#one)

  • 2、[HTML文档和标签介绍](#two)

  • 3、[如何在HTML使用css、JavaScript](#three)

  • 4、[HTML5的新特性](#four)

一、编辑器的的选择/开发环境介绍

  • 前端的编辑器还是比较丰富的,这里列举几个比较主流的编辑器大家可以根据自己的喜好选择。

  • vscode 微软出品的编辑器,支持windows、Linux、macos,具有丰富的插件功能,有官方中文版本,并且是免费的;

  • WebStorm/IDEA,内置支持zen coding 、nodejs、拿来即用的,遇到gulp、git、markdown文件会智能提示对应的插件等,前端开发的神器,因为需要建立索引,启动时间比较长,占用内存大;

  • Atom,github;WEB端编辑器;

  • sublime text 启动快,短小精悍型的,可安装插件,收费。

开发环境介绍,相比其他语言,前端开发的优势之一就是不用配置复杂的开发环境,只需要选择上方任何一款工具,配合浏览器就可以开始学习了。

二、HTML文档介绍

什么是HTML?

  • HTML简称超文本标记语言,是以.html格式结尾的一种文档格式。HTML文件由多个标签组成。

HTML文档的组成

常见的HTML文件由类型声明和HTML标签构成。

  • 类型声明(!DOCTYPE)的作用是告诉浏览器,以什么格式渲染下面的文件;

  • html标签是HTML文件的基础;(HTML标签内一般还会有head和body标签)

以下是最基本的HTML文档:

image

常用标签

div、ul、li、p、span、a、img、table、h1、h2、h3、

HTML标签全局属性

image

如何理解html、css、JavaScrip三者之间的关系

如果把一个网站看成一个人的话,HTML就像是这个人的骨肉,css可以看成的是这个人外表,包括衣服,化妆品等,JavaScript可以看成是这个人的技能,会吃饭,会化妆,会减肥(操作dom)。这三者即相互独立,又和谐共处。在实际开发当中,三者最好是能够拆分成独立的文件,这样便于维护(结构、行为、样式分离)。

三、如何在HTML中使用css、JavaScript

  • 1、行内使用Javascript
  • 2、嵌入式;
  • 3、外联式;

在实际开发当中,应尽量使用外联式,并且将js文件位置放置在body标签的下方(涉及到浏览器的渲染机制,这样有助于提高性能,避免造成阻塞)。使用外联式还有这些好处:可维护、可缓存、适用于未来。

HTML5的新特性

  • 1、新标签

header、footer、nav、section、audio、video

  • 2、新API

canvas api

canvas元素可以为页面提供一块画布来展示图形,结合canvas api可以实现各种复杂的动画效果。

geolocation api

html5 的Geolocation api(地理定位),可以请求用户共享他们的位置,请求的数据源有:IP地址、三维坐标、GPS、GSM或CDMA的手机id、用户自定义数据。

postMessage api

html5中引入了一种新的功能,跨文档消息通信,可以确保iframe、标签页、窗口间安全地进行跨源通信。postMessage API为发送消息的标准方式,发送消息非常简单:


window.postMessage('Hello, world', '[http://www.example.com/](http://www.example.com/)');

WebSockets api

WebSockets是html5中最强大的通信功能,它定义了一个全双工通信信道,仅通过Web上的一个Socket即可进行通信。

WebSockets 握手

为了建立WebSockets通信,客户端和服务器在初始握手时,将HTTP协议升级到WebSocket协议。一旦连接建立成功,就可以在全双工模式下在客户端和服务器之间来回传递WebSocket消息。

WebSockets 接口

除了对WebSockets协议定义外,该规范还同时定义了用于JavaScript应用程序的WebSocket接口。WebSockets接口的使用很简单。要连接远程主机,只需要新建一个WebSocket实例,提供希望连接的对端URL。

拖放api

draggable属性

如果网页元素的draggable属性为true,这个元素是可以推动的


<div draggable="true">draggable</div>

拖放事件

拖动过程会触发很多事件,主要有下面这些:

dragstart:网页元素开始拖动时触发。

drag:被拖动的元素在拖动过程中持续触发。

dragenter:被拖动的元素进入目标元素时触发,应在目标元素监听该事件。

dragleave:被拖动的元素离开目标元素时触发,应在目标元素监听该事件。

dragover:被拖动元素停留在目标元素之中时持续触发,应在目标元素监听该事件。

drap:被拖动元素或从文件系统选中的文件,拖放落下时触发。

dragend:网页元素拖动结束时触发。


draggableElement.addEventListener('dragstart', function(e) {

    console.log('拖动开始!');

});

dataTransfer对象

拖动过程中,回调函数接受的事件参数,有一个dataTransfer属性,指向一个对象,包含与拖动相关的各种信息。


draggableElement.addEventListener('dragstart', function(event) {

    event.dataTransfer.setData('text', 'Hello World!');

});

dataTransfer对象的属性有:

dropEffect:拖放的操作类型,决定了浏览器如何显示鼠标形状,可能的值为copy、move、link和none。

effectAllowed:指定所允许的操作,可能的值为copy、move、link、copyLink、copyMove、linkMove、all、none和uninitialized(默认值,等同于all,即允许一切操作)。

files:包含一个FileList对象,表示拖放所涉及的文件,主要用于处理从文件系统拖入浏览器的文件。

types:储存在DataTransfer对象的数据的类型。

dataTransfer对象的方法有:

setData(format, data):在dataTransfer对象上储存数据。第一个参数format用来指定储存的数据类型,比如text、url、text/html等。

getData(format):从dataTransfer对象取出数据。

clearData(format):清除dataTransfer对象所储存的数据。如果指定了format参数,则只清除该格式的数据,否则清除所有数据。

setDragImage(imgElement, x, y):指定拖动过程中显示的图像。默认情况下,许多浏览器显示一个被拖动元素的半透明版本。参数imgElement必须是一个图像元素,而不是指向图像的路径,参数x和y表示图像相对于鼠标的位置。

本地存储

Web Storage是html5引入的一个非常重要的功能,可以在客户端本地存储数据,类似html4的cookie,但可实现功能要比cookie强大的多。

sessionStorage

sessionStorage将数据保存在session中,浏览器关闭数据就消失。

localStorage

localStorage则一直将数据保存在客户端本地,除非手动删除,否则一直保存。

不管是sessionStorage,还是localStorage,可使用的API相同,常用的有如下几个(以localStorage为例):

保存数据:localStorage.setItem(key,value);

读取数据:localStorage.getItem(key);

删除单个数据:localStorage.removeItem(key);

删除所有数据:localStorage.clear();

得到某个索引的key:localStorage.key(index);

sessionStorage、localStorage、cookie三者的区别

共同点:sessionStorage、localStorage和cookie都由浏览器存储在本地的数据。

区别

1.cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递,localStorage不会自动把数据发给服务器,仅在本地保存

2.cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下,存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。localStorage不会自动把数据发给服务器

3.cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据

4.localStorage支持事件通知机制,可以将数据更新的通知发送给监听者。 api 接口使用更方便。而cookie的原生接口不友好,需要程序员自己封装

HTML5中提供了localStorage对象可以将数据长期保存在客户端,除非人为清除,localStorage提供了几个方法:

1.存储:localStorage.setItem(key,value)如果key存在时,更新value

2.获取localStorage.getItem(key)如果key不存在返回null

3.删除localStorage.removeItem(key)一旦删除,key对应的数据将会全部删除

4.全部清除localStorage.clear()使用removeItem逐个删除太麻烦,可以使用clear,执行的后果是会清除所有localStorage对象保存的数据

注意:localStorage存数的数据是不能跨浏览器共用的,一个浏览器只能读取各自浏览器的数据,储存空间5M。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容