基本上网页与HTML、CSS、JavaScript息息相关,
虽然有办法、但很难去完整地分别拆开来讲述。
(每次上W3School想从纯HTML tag从头看学起,却总是半路杀出一堆JS咬金,令人望之却步...到了最後,只看前十几个tag後就放弃学网页了,毕竟上百个标签、文件流水式的教材,可能没有一个目标或动手实践的项目,很难引起我的兴趣来继续学习)
这次有办法学得比较完整,是完整的将六角学院的HTML、CSS、JS教学影片看过一次,
收获颇大,并对自己较有兴趣的部分,在网路上蒐集资料後汇整。
将网页拆分出来,分成三个部分
使用浏览器对这篇文章 按右键 => 检查原始码
所有在版面上看到的内容(所有中文字)都被包在HTML标签中。
这也是爬虫会爬取资料的项目之一,因为对他们来说,他们要的是"资料",
也就是文字、内容,
毕竟样式、美观或者行为、动作对他们来说并不重要。
换个方式来说,拿人类来比喻,
HTML 是一个人的骨架
CSS 是一个人身上的所有皮肤
JavaScript 是一个人表现出来的行为
能用HTML、CSS搞定的事,就不要动用JS
如果是长在我身上就能搞定的东西,我可不想额外花力气去做动作
毕竟这是三种不一样的语言,动作逻辑上少一些在专案上也比较好管理及维护
但如果不写JS时,产生出的代价太大,那就另当别论。另外前後端也是,如果前端能处理(渲染或运算)的部分就优先交由前端去做,
除非是需要交由後端服务器运算或储存的部分。
而有些则是前後端都做(ex:阻挡错误输入)在使用体验上及安全性上皆较高。
W3C与WHATWG两个网页推手组织之间有很长一段历史渊源,
为了理念上的问题而争论不休,好像很精彩,
他们的关系、争吵的议题多到可以出一本小说厚度的书了,
不过好像只有少数开发者会去了解这段故事。
HTML现在已经到第五版了,
在以前的版本中(第四版),
在网页的最前面要先加上落落长的一段
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
用以告诉向浏览器 这是HTML4,拿HTML4的格式来解析!
然而第五版就这样短短一行 <!DOCTYPE html>
简洁有力、亲民多了
<html>
这个东西,就是tag(标签)
多数tag成对出现 指的就是<html></html>
这件事情,
有头就有尾,但也有少数有头没尾巴的例子。
而tag及tag里面的所有东西则称之element(元素)
。
HTML所有代码由上到下,一行一行来执行
最典型的范例如下
<!DOCTYPE html>
<html>
<head>
</head>
<body>
</body>
</html>
简单来说,宣告完HTML5格式後,
直接用<html>
里面包<head>
、<body>
。(就是HTML包头包身啦)
第一次接触HTML时,曾好奇这样设计的意义。阿不用尾巴吗?
不用。
我也不知道为啥不设计个<tail>
尾巴。或者怎麽不用个<start>
及<end>
。
另外如果要标注网页语系(自然语言),则可在<html>
上加入lang
属性 (也可在其他区块的tag中加入),
如: <html lang="en">
、<html lang="zh-TW">
其实繁体中文应该用
zh-Hant
(汉语Han传统Traditional)会比较恰当
繁体中文再加上台湾地区码则是zh-Hant-TW
...
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>网页标题</title>
<link rel="icon" href="网页左上角缩图.ico">
<link rel="stylesheet" href="要引用进来的CSS样式位置.css">
</head>
...
由上至下分别是:
.ico
画素大小通常是 32x32meta 到底是什麽意思?
拿去google翻译也只会得到"元"、"元数据" 十分抽象的名词解释。
这边举个例子,拿"拍照"这件事情来说,
照片是我们想看的内容,图片上的风景、树木、出现的人物,
这些是我们肉眼看的到资讯。而这张照片中有没有看不到的资讯?
有。照片的格式、解析度、照片摄影者、拍摄日期、照片档案大小、额外对这张照片作的补充说明等等
对这些不是内容的资讯(但这些资讯某些角度来说很重要)
就对这些资讯取了个暧昧的名字,叫作meta
针对爬虫及搜索引擎(SEO)优化的方式,有需要用到时再回来看就好。
不过也有听说某些方法已经过时,google已不用这样的方式来做排名等等,端看各大搜索引擎有没有支援。
详情参阅google文档或yahoo、Bing、百度等搜寻引擎的文件。
<meta name="description" content="网站的描述">
<meta name="keywords" content="最重要的关键字一, 关键字二, 关键字三">
<meta name="authon" content="网站作者">
<meta name="copyright" content="版权所有">
OG系列(Open Graph),有关爬虫、SEO
<meta property="og:title" content="标题">
<meta property="og:description" content="描述">
<meta property="og:type" content="website">
<meta property="og:url" content="xxx">
<meta property="og:image" content="xxx.png">
相对於<head>
内的东西,<body>
内的东西才是重头戏阿!!
头脑内的知识不重要,身体有没有料才是真的
剩下的tag,就交给明天的我来介绍了。
<!-- -->
注解(comment)<!-- 我是注解,在里面打什麽都可以 -->
<script>
JS语法,JavaScript只会出现在这区块内<script src="要引用进来的JS档案位置.js"></script>
<script>alert("HI");</script>
<php>
PHP语法,PHP只会出现在这区块内.php
而非.html
<?php
echo "Hi";
?>
因为习惯问题,开发环境我是用需要付费的IDE WebStorm
已内建许多必要的套件(但仍有少数不足),
选择用哪个浏览预览时也挺方便的。
一般写网页,HTML我都会命名 index.html
副档名取 .html
、.htm
都是可以的,但我个人偏向能全写就全写(.html)
可以直接点击两下开启档案、也可采用架微型Server的方式来做浏览。
前言 目标:串接虾皮订单、标签资讯,目前串接虾皮 OpenAPI 2.0 版本(串接手册) 前面已经...
接续前一天提到的,每一种layout都有它不同的属性名称以及排序模式,我这边就先举三个较常用的lay...
今天继续看指标与阵列陷入深深地不知该如何写心得中,指标*ptr是专门用来指向物件记忆体位置的类型。在...
ORM (Object Relational Mapping) 是目前在做资料库应用程序中,用来定义...
来到了第七天,今天让我们来一起看看Route 53吧 Route 53帮那些事情? 有了Route ...