`
rapheal
  • 浏览: 169831 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

HTML|CSS|JS初探

阅读更多

前言

应该说具体接触前端(HTML + CSS + JS)有一年,到现在没总结过,几个原因是:1.自己太懒,水平有限;2.怕解释错或者说错什么被人鄙视。这些天渴望分享的心情很强烈,想让自己的一些想法更加丰富,也可能向来总是喜欢跟别人讲点东西。之前在新浪上有写过一些,发现那边不适合写技术相关的东西,自己又总是懒得去租个服务器做个人博客,于是就跑到这边来了。这就是开这个博客的原因了。
鄙人水平有限,欢迎大家一起交流学习指正。

 

机器人小R

先不管这三个不知道什么东东的是做啥的,先看一个我自己瞎编的东东:

a.定需求:

科学家A在参与一项工作:开发机器人小R。我们都知道做这样的工程(姑且认为是软件工程吧)要明确需求,那好,对于这样的机器人,我们明确了需求:

  1. 当然咯,小R是个机器人,一定会长得很像人,有头有脸有手有脚;
  2. 小R不能像原始人那样裸着吧!于是我们要能够为小R装饰各种衣服或者帽子等;
  3. 有人就质疑了,如果满足前两点,那小R跟布娃娃有什么区别呢?于是我们立马加上一个新的需求:小R要能够跟其他事物进行交流,比如说能够听懂主人说的话,能够自己换衣服。

很多人做工程会把前期需求定得很广,一下子就想让小R飞向外太空变成superman。

OH,那只会让这个事情变得更加不可能实现,SO我们现在就只关心这三个需求了!

b.打造身体:
于是A拿着铁锤开始打造小R了,一下子做个机器人谈何容易,此时聪明的人都知道我们要"分解这个任务,使得每一步都是可量化的"。好,那就先做个头出来吧。叮叮当当,过了N久,终于拼成了一个机器人的样子了。
c.做点衣衫:
让我们想想前面的需求2吧,要做点衣衫给小R装扮一下,于是请了各种设计师,什么手套啊什么帽子裤子都要为小R定制好几套,好让它每天都能有不同的搭配。
d.动起来吧:
好了,差不多要完成了,最后一步是为了让小R有别于布娃娃,做更多有用的事!于是A制作了芯片控制小R身体的各个部件的工作。当然了,制作好之后,还得先测试一下看看小R的手是不是能够正常的举起来之类之类的吧。一个未经过测试的机器人出去之后往往在电影里边就是一个毁灭者的形象了。

 

小R在WEB世界

前面说了个不是故事的故事,我只是想表明很多伟大的工程都是来源于一些生活实际跟经验的(至少我的理解是这样的),越简单的东西往往是很伟大的发明了,更复杂不等于更有价值。

回到正题,标题写着“小R在WEB世界”,真不明白这个作者想表达什么,明明前面说了是机器人了,现在又变到WEB世界来了。

好吧,先看看WEB世界有什么,很多人的概念就是看网页呗,那就只看看WEB里边的网页部分了。

于是我们打开了万恶的IE(不要告诉我不知道这个东西),输入了网址http://rapheal.iteye.com/ ,敲下回车,你看到了我的博客。

我们把这个页面叫做小R吧。大家可以看看他有什么:

  1. 有标题有链接;
  2. 有各种颜色来装饰各种字体,跟好看的布局;
  3. 还可以登录来这篇文章里边评论。

这里写了3点!没错,就是3点!想想刚刚说过的三个需求吧。

构建这个活着WEB世界的小R时候,我们需要把整个页面的手手脚脚拼起来,给它加上颜色,并且可以跟来访问的朋友们互相交流。

或许我比较喜欢3这个数字,现在又想要说3个东西了,差点要偏离主题了,这篇是想要写点HTML|CSS|JS初探。只能说我太罗嗦了。那就开始说说HTML|CSS|JS吧。

 

HTML

我们想想前面制作小R的过程,我们一开始搭建了各种身体部件,在制作WEB应用时,我们也需要把这个网页的头头脚脚构建出来,例如网页上边有个菜单,下边有个版权说明。此时就用点HTML来开始构建吧:

<robot>
	<head>
		<eyes></eyes>
		<nose></nose>
		<ear></ear>
		<mouth></mouth>
	</head>
	<body>
		<hands></hands>
		<feet></feet>
	</body>
</robot>

在HTML的语法里边(就像你搭建一个机器人那样,必须要遵守一定的规范去制作吧,总不能用乱接乱凑。语法就是这里的制作规范规则),每个标签(就是这样的一个玩意:<head>,用<>括起来的东东)就是这个页面的结构了,可以认为是小R的手手脚脚,于是你构建一个头<head>,头里边有眼睛有鼻子等等,那你构建完头之后就要告诉别人说我头已经构建好了,我接下去要构建身体<body>了,于是我们要闭合标签(就是例子上边看到的</head>),用一个/来标识这个标签构造结束了。经过我们反反复复的敲打,小R就这样完成了。

这里还可以牵扯一下HTML语义化,啥是语义化?打个比喻吧,小R的眼睛总不能长在肚子上吧。也就是每个标签都应该有它的意义跟层次关系,手就是手,是应该在身体的两侧的,应该都赞成的吧?当然,在HTML里边也是允许你把眼睛接在肚子上的,这是你自己制作的独特机器人。你让这个机器人更加符合规范跟符合人的审美标准,它将是一个抢手货!对于HTML也一样的,语义化做得更好,对于搜索引擎就更友好,于是搜索机器人的时候,非常漂亮的机器人将会在结果的第一位了。语义化有利于搜索引擎优化

我们还得为残疾人士设计出更加友善的应用,例如一个盲人来到你的网站时,他是使用一些辅助设备来访问你的网站的。当他从设备中听到了这个页面的眼睛长在了肚子上时,一定会让他很困惑的。于是,我们需要让我们的页面方便残疾人士的阅读,语义化的作用不容小看。

 

CSS

按照我们的想法的话,我们这时候应该开始做衣衫了。我们为刚刚创建出来的小R戴个帽子跟眼镜。

head{
	帽子:大小适中的圣诞帽;
	围巾:红色的印花围巾;
}
eyes{
	眼镜:边框是方的墨镜;
}

可以看到上面的规则很容易理解,先是一个部件的名字,例如head然后利用{}括起来,表明在这里边是为了给head做点美化。在里边有"帽子:大小适中的圣诞帽;",先是声明我们有个帽子, 帽子有那么多,是什么样的帽子呢?于是在冒号后边定义了是一顶圣诞帽,大小还要适中。最后我们要告诉它,帽子已经带好了,我要接下去给它带个围巾,于是在末尾我们加上了分号以便标志帽子已经带好了。

想必这样的规则很容易明白吧,当然实际中的页面是肯定没有帽子这样的东西戴的,但是规则基本就是这样的。

也许你会很奇怪,有时候你给你的页面穿上好看的衣服之后,告诉你的朋友说可以去看一下你制作的漂亮的玩意,紧接着那边看完之后告诉你,页面的东西都歪的,一点都不好看。这个时候你会很困惑,当然了,每个浏览器拿到你写的这件衣服,它对这件衣服的理解是不一样的,前面说到的万恶的IE就是不按照国际标准来理解你这件衣服,导致了很多很多前端开发人员讨厌IE,这个现象在js的解释跟理解也是一样道理。

Javascript(JS)

小R这个时候只能像一个布娃娃一样挂着你的浏览器上,你捏捏它,它也不会搭理你。于是我告诉它,别人捏你的时候,你应该捏回去。

if (被人捏){
	捏回去;
}

当然咯,这里只是一种描述,真正的语法规则不是这样的,至于语法规则,在这里不想多写。

可以理解为,我们写下这段东西之后,只要放到浏览器执行它,就可以跟你进行一些交互了。Javascript的强大之处有很多很多,它可以让你制作出一个超级玛丽的WEB游戏,它可以让页面有更加绚丽的动画效果,它可以帮助你控制用户的一些行为。

在浏览器里边是可以禁用Javascript的,但是估计没人回去这么做,在这么丰富的互联网世界里边,禁用它相当于废了这个应用的手脚,只会更加惨不忍睹。

既然你用了js这个芯片去做页面的交互,那在用这个芯片的时候就不得不考虑这个芯片的性能所带来的问题了,你总不可能用它写一个需要执行10秒的举手动作吧。那大家看到你制作的机器人会说:OH,它竟然要用10秒去举个手。带来的后果就是大家都不会去买你制作的这个机器人了。在越来越丰富的WEB应用做,往往要处理很多逻辑,这就更加要求性能了。

各种历史

在很久以前,HTML的设计者想要在网上share一些信息,大家可以想想单纯用文本格式来描述的话,读起来多累啊,没有重点,没有指引,于是HTML出现了。再后来,为了更美观地来描述这些信息,增强用户体验,CSS出来了。当然了,人们不能满足现状,还得继续为可用性等等方面去挖掘新的东西,Javascript就诞生了。

这三者互相分工,虽然我们可以把CSS跟JS一起混在HTML里边,但这就好像一个部门里边,把所有的事情都丢给一个人,一会叫你去洗厕所,一会叫你回来打印文档,想想都累。对于软件工程来说,单一职责的概念是很重要的,永远都让对应的部件做其唯一的职责。

最后,它们三者使得页面的内容、表现形式与交互分离开了。

在WEB应用中,很多新的东西正在被挖掘,到了一定的时期,原先的那种方式是不会满足好奇的人类了。可能以后在WEB应用有很强的3D渲染技术。在互联网的世界里边,什么都有可能。

 

本篇结语

第一篇写的是“HTML|CSS|JS初探”,关于HTML,CSS,JS的历史,搜索引擎可以找到答案,这里不打算粘这些。其实可能很多不懂前端的人可能认为前端开发是一项很cheap的工作,可能因为他们只看到了大家都在处理一些很没价值的工作,例如整天在写表单验证,切图写CSS,而没有看到更加有价值的东西,例如JS脚本解释器,浏览器渲染等等。正因为如此,前端工程师就不应该把学习目标定死在写交互上,否则所有工作最后的贡献都是很cheap的。

我目前就有个目标是自己写一个JS的解释器,将来一定会有一天可以完成,然后拿出来分享的。

 

4
3
分享到:
评论

相关推荐

    HTML XHTML CS3 JS网页制作视频教程

    13.Web前台CSS技术详解_理论1 14.Web前台CSS技术详解_理论2 15.Web前台CSS技术详解_上机 16.深入CSS_理论1 17.深入CSS_理论2 18.深入CSS_上机 19.利用DIV+CSS布局网页_理论1 20.利用DIV+CSS布局网页_理论2 21.利用...

    麦子学院招牌课程[明星python编程视频VIP教程]

    第一阶段:python基础准备本阶段主要是学习python开发入门知识,html+css、javascript、jquery、python编程基础、python初探等,让你轻松入门python语言。 第二阶段:Pythonweb开发本阶段是主要Python开发基础知识的...

    nodejs入门到实战-02-webserver介绍和express框架初探

    所谓静态资源就是指 图片,js文件,css文件等常见的文件 在浏览器中显示的内容有 HTML、有 js、有 jpg等等,这些都叫静态资源 ……那么,浏览器是如何区分它们,决定什么内容用什么形式来显示呢?答案是 MIME ...

    HybridApp移动应用开发初探

    WebApp主要是采用统一的标准的HTML、JavaScript与CSS等Web技术开发。优点是用户无需下载,通过不同平台的浏览器访问即可实现跨平台,同时可以通过浏览器支持充分使用 HTML5特性。缺点是这些基于浏览器的应用无法调用...

    scrape-goat:使用CSS选择器抓取网址的api

    使用CSS选择器抓取网址的API 原料药 GET /?url = [url]&selector = [选择器] 返回包含以下内容的JSON响应 状态-效应初探状态代码 结果-抓取的html或值 url-请求的URL 选择器-请求的选择器 例子 curl " ...

    初试jQuery EasyUI 使用介绍

    开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。    jQuery EasyUI为我们提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs...

    demo-preview:永恒君的博客+案例仓库

    JS 的面向对象 Vue 的逻辑代码复用方案 为何我反对使用 flex: 1 简写 如何判断是否点击在元素内部 从 cc._decorator 中学习 ts 装饰器 服务端渲染 SSR 梳理 随笔感想 闲谈 css 的 float 读《面向前端的设计规范-文字...

    白帽子讲浏览器安全.钱文祥(带详细书签).pdf

    第1篇 初探浏览器安全 1 1 漏洞与浏览器安全 3 1.1 漏洞的三要素 3 1.2 漏洞的生命周期 4 1.3 浏览器安全概述 5 1.4 浏览器安全的现状 7 1.5 浏览器的应对策略 9 1.6 “白帽子”与浏览器厂商的联手协作 9 1.7...

    asp.net知识库

    完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎 正式发布表达式计算引擎WfcExp V0.9(附源码) 运算...

Global site tag (gtag.js) - Google Analytics