HTML: 指的是超文本标记语言 (Hyper Text Markup Language),这个也是我们网页最常用普通的语言了,经历了多个版本的发展,现在已经发展到4.01版了,得力于W3C建立的标准和规范,现在已普遍升级到了XHTML,XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup Language), XHTML 于2000年的1月26日成为 W3C 标准,是更严格更纯净的 HTML 代码,XHTML 的目标是取代 HTML。XHTML 与 HTML 4.01 几乎是相同的,XHTML 是作为一种 XML 应用被重新定义的 HTML,是一个 W3C 标准。W3C 将 XHTML 定义为最新的HTML版本。所有新的浏览器都支持 XHTML。 另外,W3C 与 WHATWG 合作创建一个新版本的 HTML,就是HTML5。HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准,为HTML世界注入更多惊喜,尽管 HTML5 仍处于完善之中,然而,大部分现代浏览器已经具备了某些 HTML5 支持,显示出来的生机和活力已是那样的激奋人心,特别是前端的工作中,那些针对浏览器兼容的问题将能得到很好的解决,更多的效果和应用也能更方便的实现。 前端工程师,也必然要与时俱进,紧跟业界时代发展的前沿,不然永远只停留在旧的技术上,只会被无情的淘汰。
第一阶段——HTML的学习。
超文本标记语言(HyperText Mark-up Language 简称HTML)是一个网页的骨架,无论是静态网页还是动态网页,最终返回到浏览器端的都是HTML代码,浏览器将HTML代码解释渲染后呈现给用户。因此,我们必须掌握HTML的基本结构和常用标记及属性。
HTML的学习是一个记忆和理解的过程,在学习过程中可以借助Dreamweaver的“拆分”视图辅助学习。在“设计”视图中看效果,在“代码”视图中学本质,将各种视图的优势发挥到极致,这种对照学习的方法弥补了单纯识记HTML标签和属性的枯燥乏味,想必对各位初学的小盆友们来说必定是极好的!
在学习了HTML之后,我们只是掌握了各种“原材料”的制作方法,要想盖一幢楼房就还需要把这些“原材料”按照我们设计的方案组合布局在一起并进行一些样式的美化。
于是进入第二个阶段——CSS的学习。
培训是针对那些有条件的人来说,很多小伙伴更喜欢的是自学。但是一个人自学毕竟力量是有限的,为了让想学习的人可以更好的学习,给大家推荐一个裙,前面是6 1 1,中间是肆 二 8,最后面就是壹 四 二,这里有很多想学习的人和你一起交流,也有大牛每天晚上免费教学,想要学习的人都可以加入我们,但是我们只欢迎想学习的人,不是来学习,随便看看的就不要进了。
CSS是英文Cascading Style Sheets的缩写,叫做层叠样式表,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言其样式是可以复用的,这样就极大地提高了我们开发的速度,降低了维护的成本。
同时CSS中的盒子模型、相对布局、绝对布局等能够实现对网页中各对象的位置排版进行像素级的精确控制。通过此阶段的学习,我们就可以顺利完成“一幢楼房”的建设。
“楼房”建设完成之后,我们可以交给用户使用,但是如果想让用户获得更佳的体验,我们还可以对“楼房”进行更深一步的“装修”,让它看起来更“豪华”一些。
为了完成这个任务,我们进入第三个阶段——JavaScript的学习。
JavaScript是一种在客户端广泛使用的脚步语言,在JavaScript当中为我们提供了一些内置函数、对象和DOM *** 作,借助这些内容我们可以来实现一些客户端的特效、验证、交互等,使我们的页面看起来不那么呆板,屌丝瞬间逆袭高富帅!有么有?
此时,也许你还沉浸在JavaScript给你带来的惊喜之中,但你的项目经理却突然对你大吼道:
“这个效果在××浏览器下不兼容,重新搞……”
“不兼容?”瞬间石化了有木有?
“我擦,坑爹啊!那可是花了我一个晚上写了几百行代码搞定的啊,吐血了都!”
JavaScript的兼容性和复杂性有时候的确让我们头疼,还好有“大神”帮我们做了封装。
接下来我们进入第四个阶段——jQUery的学习。
jQuery是一个免费、开源的轻量级的JavaScript库,并且兼容各种浏览器(jQuery2.0及后续版本放弃了对IE6/7/8浏览器的支持),同时现在有很多基于jQuery的插件可供选择,这样在我们实现一些丰富的动态效果时更方便快捷,大大节省了我们开发的时间,提高了开发速度,这也充分体现了其write less,do more的核心宗旨。这个Feel倍儿爽!有么有?
“豪华大楼”至此拔地而起,但是每天这样日复一日,年复一年的盖楼,好繁琐!能不能将大楼里面每一个单独部件模块化,当需要盖楼时就像堆积木一样组合在一起,这样岂不是爽歪歪?可以实现吗?答案是肯定的。
这种思想在Web前端开发中也是适合的,于是乎就出现了各种前端框架,在这里推荐给大家的是Bootstrap。 Bootstrap是Twitter推出的一个开源的用于前端开发的工具包,是一个CSS/HTML框架,并且支持响应式布局。一经推出后颇受欢迎,一直是GitHub上的热门开源项目。
在项目开发过程中,我们可以借助Bootstrap提供的CSS样式、组件、JavaScript插件等快速的完成页面布局和样式设置,然后再有针对性的微调样式,这样基于框架进行开发大大缩短了开发周期。站在巨人的肩膀上就是爽!
Web前端的学习建议
最后给大家聊聊在学习Web前端中的一些建议和方法。
在CSS布局时需要注意的一个问题是很多同学缺乏对页面布局进行整体分析,不能够从宏观上对页面中盒子间的嵌套关系进行把握,就急于动手去做,导致页面中各元素间的关系很混乱,容易出现盒子在浮动时错位等情况。建议大家在布局时采用“自顶向下,逐步细化”的思想,先用几个盒子将页面从整体上划分,然后逐步在盒子中继续嵌套盒子。
“君子生非异也,善假于物也”,在学习的过程中还要多浏览一些优秀的网站,善于分析借鉴其设计思路和布局方法,见多方能识广,进而才可以融会贯通,取他人之长为我所用。
同时还要善于使用Firebug这个利器。Firebug一方面可以在我们学习过程中帮助我们调试自己的页面,另一方面我们可以使用Firebug方便地查看、分析别人网站的源代码,“偷”也是一种技能!
随着移动互联网热潮的到来,移动开发越来越受到大家的追捧,响应式布局、微网站等需求量不断增加,也是我们Web前端未来的发展方向之一,学有余力的同学可以多多关注。最后祝愿大家能在Web前端开发道路上走出一片更宽更广的天地!
HTML5 新增常用元素HTML5的声明为:<!DOCTYPE html>
它不用再像之前的版本一样在声明中引用DTD。DTD(document type definition)定义合法的XML文档构建模块,它使用一系列合法的元素来定义文档的结构。在HTML中,DTD规定了标记语言的规则,使浏览器能正确地呈现内容。而HTML5不基于SGML,所以不需要引用DTD。
文档结构元素
<article>: 定义可以独立于内容其余部分的完整独立内容块。
<header>: 页面顶部。
<nav>: 导航栏(边导航,页面导,底部导)标签。
<hgroup>: 定义多个标题时。
<section>: 内容分块.可设置cite属性。
<aside>: 侧边栏,定义和页面内容关联度较低的内容——如果被删除,剩下的内容仍然很合理。
<figure>: 代表一个和文档有关的图例。
<figcaption>: 代表一个图例的说明(标题)。
<footer>: 页面底部。
<dialog>:定义对话框。
嵌入元素
<video>代表一段视频 及其视频文件和字幕,并提供了播放视频的用户界面。属性有:
src
autoplay(控制自动播放)
loop(播放完后是否重新播放)
controls(显示用户界面)
width
height
<audio>代表一段声音 ,或音频流。 标签内的文字会在标签不被支持时呈现。属性有:
src
autoplay
loop(播放次数,为-1时循环播放)
controls
volume(音量)
<source>为 <video>或 <audio>这类媒体元素指定媒体源。属性有src\type(指定资源的MIME类型)。
<track>为 <video>或 <audio>这类媒体元素指定文本轨道(字幕) 。属性有:
kind(数据类型)
src
srclang(track文本数据的语言)
label 当列出可用的text tracks时,给浏览器使用的text track的标题,这种标题是用户可读的。
注意:一个media 元素的任意两个 track 子元素不能有相同的 kind, srclang, 和 label属性。
<canvas>代表位图区域,可以通过脚本在它上面实时呈现图形,如图表、游戏绘图等。
<embed>代表一个嵌入的外部资源,如应用程序或交互内容。属性有:
width
height
src
type 用于选择插件实例化的 MIME 类型。
表单元素
<meter>代表滑动条。显示实时状态。属性有:
value 当前数值,如果给定的值不在最小值和最大值之间,它的值就等于它最接近的一端的值。
min 值域的最小边界值,默认为0
max 值域的最大边界值,默认为1
low 定义了低值区间的上限值,当数值处于low-min或high-max时就会呈现不同的样式。
high 定义了高值区间的下限值。
optimum 最优值
<output>代表计算值 。
for 其它影响计算结果的标签的ID,可以多个。
form 与当前标签有关联的form(从属的表单)。该属性的值必须是当前文档内的表单元素的ID。如果未指明该属性,output标签必须是一个form的后代标签。该属性的用处在于可以让output标签脱离form标签,存在于一个网页文档的任意位置。
name
<form oninput="result.value=parseInt(a.value)+parseInt(b.value)">
<input type="range" name="b" value="50" />+
<input type="number" name="a" value="10" />=
<output name="result"></output>
</form>
1
2
3
4
5
<progress>代表进度条,表示任务过程,属性有max(任务总量)\value。
<datalist>为Input标记定义一个下拉列表,配合option标签。
其他
<details>创建一个挂件,仅在被切换成展开状态时,它才会显示内含的信息。
<summary>是details 元素的子元素,表示其综述或标题 。
<mark>代表一段需要被高亮的引用文字。
<ruby>表示需要被ruby 注释 标记的文本,如中文汉字和它的拼音。
<rt>表示ruby 注释 ,如中文拼音。
<rp>在ruby 注释两边的额外插入文本 ,用于在不支持 ruby 注释显示的浏览器中提供友好的注释显示。
<ruby>夼<rp>(</rp><rt>kuang</rt><rp>)</rp></ruby>
1
顺便一提,html5删除了的元素:
纯表现的:basefont\big\center\font\s\strike\tt\u
对可用性有负面影响的:frame\frameset\noframes
产生混淆的:acronym\applet\isindex\dir
同时HTML5也对某些元素进行了重定义,改变了它们的语言内容但表现不变。如b标签、i标签,仍然表示为粗体、斜体,但代表了一段需要被关注的文字、一段不同性质的文字,如技术术语、外文短语等。
HTML5属性变化
新增类型
email \ url \ tel \ number
Datepickers:date \ month \ week(iphone不兼容) \ time \ datetime(UTC格式,安卓、i6+、PC端不兼容) \ datetime-local
针对PC端:range(水平杆,两边为min和max) \ search(有内容时右边出现×)\ color(颜色选择框)
表单属性
autocomplete属性:自动完成功能,适用于标签,以及以下类型的input标签:text \ search \ url \ tel \ email \ password \ datepickers \ range \ color
<form autocomplete="on">//on为打开,Off为关闭
</form>
1
2
autofocus属性:域自动地获得焦点,适用于所有的标签的类型
<input autofocus="autofocus"/>
1
multiple属性:规定输入域中可选择多个值,适用于email \ file类型的标签
<input type="file" multiple="multiple" />
1
placeholder属性:提供一种提示,描述输入域所期待的值,适用于text \ search \ url \ tel \ email \ password 类型的标签
<input type="text" placeholder="please input your name!"/>
1
required属性:规定必须在提交之前填写输入域,且必须按照相应域的格式,如,email域必须要有@、邮件域。适用于text \ search \ url \ tel \ email \ password \ datepickers number \ checkbox \ radio \ file 类型的标签
<input type="email" requried="required" />
1
链接属性
sizes
<link rel="icon" href="icon.gif" type="image/gif" sizes="16*16" >
//网页头部标题的logo,可根据不同分辨率引用不同的sizes
//type为该图标的类型,说明该图标格式为gif
1
2
3
target
<base href="......" target="_blank" >
1
base标签写在head标签内。target属性控制整个页面所有超链接的默认打开方式(本来是_self),href指定页面中所有相对链接的基准 URL;
超链接的属性
media=“handheld”(表示对设备进行优化,handheld对“手持”设备进行支持,tv对”电视“设备进行支持);
hreflang=“zh”(设置语言,zh表示是简体中文)
rel=“external”(设置超链接的引用,external表示其为外部链接)
其他属性
<script>的属性
defer:加载完脚本后并不执行(延迟执行),而是等整个页面加载完之后再执行,只有ie兼容
async:对脚本进行异步加载,加载完脚本后立刻执行,而不用等整个页面都加载完才能执行。
如果 async=“async”:脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行)
如果不使用 async 且 defer=“defer”:脚本将在页面完成解析时执行
如果既不使用 async 也不使用defer:在浏览器继续解析页面之前,立即读取并执行脚本
<ol>的属性
start:设置序号的起始值
reversed:倒叙排列 reversed=“reversed”
<html>的属性:manifest
<!DOCTYPE HTML>
<html manifest="demo.appcache">
...
</html>
1
2
3
4
通过在页面中设置manifest属性或在manifest文件中加入页面,可以将此页面缓存,这样我们就可以离线访问,且获得更快的速度,因为已缓存资源加载得更快。还可以减少服务器负载。
一旦文件被缓存,则浏览器会继续展示已缓存的版本,即使修改了服务器上的文件。为了确保浏览器更新缓存,需要更新 manifest 文件。
style的属性scoped:内嵌CSS,可以写在任何位置,而不止是head。不过这样会违反我们低耦合的原则。
<style scoped>
...
<style>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)