本教程针对零基础同学,讲解网站开发三个基础技术:HTML、CSS、JS,带你快速入门!

本教程的所有知识点,均为核心,必须掌握!

看完本教程,你将学会:

  1. 理解HTML、CSS、JS各自的作用
  2. 学习HTML、CSS、JS基本语法
  3. 能写一个简单的网页

为快速上手练习,可以使用在线编辑器,学会基础语法后,再下载专业的网站开发编辑器/开发环境(详见本教程资源部分)。

1. HTML

HTML即超文本标识语言,是网站开发最基础的语言,简单易懂。

HTML用于定义网站的结构及内容,文件名后缀为.html。

当我们在浏览器里查看网站源码( ctrl + u )或按F12打开开发者工具,首先看见的是网站的HTML源代码:

下面花 5 分钟,学习下 HTML 语法。

1.1 标签

HTML使用标签语法定义网页内容和结构,工整简单。标签又可叫做元素。

一个基本的HTML文件内容如下:

<html>
  <head>
    
  </head>
  <body>
    
  </body>
</html>

标签具有如下特点:

  1. 对称:每组标签有开有闭,如 <html> 对应 </html> ,同组标签尖括号里单词相同。

  2. 层级:标签可嵌套标签,体现了网站结构层级关系,比如一个框里可以嵌套文字内容。

  3. 简易:标签名为英文单词或简写,方便联想记忆。

下面介绍常用标签

HTML中,使用<!-- 注释内容 -->表示注释,不会显示在页面中。

  1. 结构标签,所有标准网页都必须有且仅有一个:

    <html> <!-- html根标签,最外层 -->
      <head> <!-- 头标签,包括网站基本信息、资源引用 -->
        ...
      </head>
      <body> <!-- 身体标签,网站内容 -->
        ...
      </body>
    </html>
    

    很好记忆,把一个网页比喻成一个人,head是我们的大脑,存储重要的信息,body是我们的身体,用来表示内容。head在body上。

  2. 元信息标签,用来定义网站的基本信息,放在head标签中:

    <head>
      <title>网页标题</title>
      <meta charset="utf-8"/> <!-- 元信息,定义字符集为utf-8(中文) -->
    </head>
    

    我们发现 meta 标签内部以 / 结尾,没有和它对应的标签,我们把这种标签叫做自闭标签

  3. 内容标签

    <html>
      <head>
    		...
      </head>
      <body>
        <h1>一级标题</h1> <!-- heading的缩写,h1-h6对应一至六级标题,加粗显示,字号依次缩小 -->
        <h2>二级标题</h2>
        <h6>六级标题</h6>
        <p>段落<br/>换行啦</p> <!-- paragraph的缩写,表示一段文章 --> <!-- br表示换行 -->
        <div>容器</div> <!-- 最重要的标签,几乎可嵌套任何内容,代替其他任何标签 -->
        <a href="https://www.baidu">超链接</a> <!-- 超链接,点击后跳转 -->
        <img src="https://t/RCzsdCq"/> <!-- image的缩写,显示图像 -->
        <button>按钮</button>
      </body>
    </html>
    

    其中,brimg 标签都是自闭标签。

    代码运行效果如下:

其他标签如table(表格)、ul(无序列表)、ol(有序列表)等可先不了解,均可用div标签替代。

1.2 属性

在上面的代码中,你可能发现,有些标签中除了标签名,还有其他内容,比如:

<img src="https://t/RCzsdCq"/>

图像标签中的src是img标签的属性。属性用于改变标签的样式或行为,一个标签可以设置多个属性。语法为:

<标签名 属性名1="属性值1" 属性名2="属性值2"></标签名>

由于很多属性可用CSS或JS替代,此处了解常用属性即可,不同标签具有的属性也不同。

2. CSS

CSS即层叠样式表,是美化网页的语言,简单易懂。

CSS用于定义网站的样式和动画,文件名后缀为.css。

2.1 引入

想要在html中应用css样式,需要先引入css,有三种方式:

  1. 文件引入

    通过link标签(head标签内)引入css文件:

    <head>
      <link href="https://cdn.bootcdn/ajax/libs/animate.css/4.1.0/animate.css" rel="stylesheet">
    </head>
    

    href:要引入的css文件地址(绝对路径/相对路径)

    rel:对于css文件,固定为stylesheet

  2. 内置样式

    在style标签中(head标签内)书写css样式代码,仅对当前页面有效:

    <head>
      <style>
        div {
          color: red;
        }
      </style>
    </head>
    
  3. 内联样式

    在要应用样式的标签中,添加style属性,仅对当前标签有效:

    <div style="color: red;">容器</div>
    

2.2 选择器

网页中有那么多的标签,如何给指定的标签应用样式呢?比如有两个框,怎么让它们一个白色一个红色,或者都变成红色呢?

选择器是CSS核心概念,定义了一套选择标签的语法,可以给指定的标签应用指定的样式。

必须了解常用选择器:

假设我们有如下html内容:

<div id="box1" class="box">盒子1</div>
<div id="box2" class="box">盒子2</div>
<div>盒子3</div>

初始运行效果如下:

  1. 通配选择器

    选择页面的所有标签(元素),语法如下:

    * {
      ...
    }
    

    使用较少。通常用于初始化一个页面,为所有元素清除浏览器自带的默认样式。

  2. 标签选择器

    选择指定名称的所有标签,语法如下:

    标签名 {
      ...
    }
    

    可以将下面css代码应用到上述html内容中,改变所有div标签的字体颜色:

    div {
      color: red;
    }
    

    运行效果如下:

  3. id选择器

    上面讲到,同一个页面中,id值必须唯一(像身份证),可以用id选择器改变唯一元素的样式。语法如下:

    #id值 {
      ...
    }
    

    可以将下面css代码应用到上述html内容中,给两个盒子不同的背景颜色:

    #box1 {
      background: red;
    }
    #box2 {
      background: yellow;
    }
    

    运行效果如下:

  4. class选择器

    当我们要改变多个元素样式时,可以给它们添加相同的class属性,然后用class选择器改变它们的样式。语法如下:

    .class值 {
      ...
    }
    

    可以将下面css代码应用到上述html内容中,给所有box盒子添加相同背景色:

    .box {
      background: red;
    }
    

    运行效果如下:

其他选择器如子父节点选择器、兄弟节点选择器、伪选择器等可先不了解,使用较少,且均可用上述选择器替代。

2.3 样式

CSS可以控制布局、块(元素)、内容(块内的文字、图片)等样式,以及增加动画效果。

下面介绍CSS常用的样式:

CSS中,注释用/* 注释内容 */表示。

2.3.1 布局

* {
	float: left; /* 元素浮动:left 左浮动 | right 右浮动 */
  position: unset; /* 定位方式:absolute 相对父元素定位 | fixed 相对页面定位 | relative | sticky 弹性 | unset 不设置*/
}

运行效果如下:

可以发现,本来每个盒子独立占一行,用了float布局后,变为了一行,从左往右依次排列。这和块级行级元素有关,后续教程会讲到。

2.3.2 块

div {
  display: block; /* 元素展现形式:block | inline | inline-block | none 不展示,隐藏块 */
  background: red; /* 背景色 */
  margin: 10px 15px 20px 5px; /* 外间距(上右下左)px为像素值 */
  padding: 10px 15px 20px 5px; /* 内边距(上右下左)px为像素值 */
  margin-top: 1px; /* 上外间距 */
  padding-bottom: 1px; /* 下内边距 */
  height: 25px; /* 块高度 */
  width: 100px; /* 块宽度 */
}

运行效果如下:

2.3.3 内容

div {
  text-align: center; /* 文字对齐方式:center 居中 | left 左对齐 | right 右对齐 */
  color: red; /* 文字颜色 */
  font-size: 16px; /* 文字大小 */
  font-weight: bold; /* 文字加粗 */
  font-style: italic; /* 文字倾斜 */
  font-family: SimHei; /* 字体 */
  text-decoration: underline; /* 文字装饰:underline 下划线 | line-through 删除线 */
}

运行效果如下:

CSS中支持多种颜色表示方式(background、color等属性):

  • 常用颜色英文单词:red\green\yellow 等
  • rgb值:如rgb(0, 0, 0)或rgba(0, 0, 0, 0.8)
  • 16进制颜色值:如#000000

以上是CSS常用样式,一定要自己多加练习,查看不同样式带来的网页效果变化。

3. JS

JS全称JavaScript,是可以运行在浏览器中的脚本语言,非常灵活强大。NodeJS出现后,为JavaScript带来了更多的可能性,也可以作为后端开发语言。

JS用于定义网站的交互行为,文件名后缀为.js。

交互行为有很多种,比如点击按钮弹窗、填写提交表单、动态更新页面内容等。JS能极大地增强网站的功能和趣味性。

JS和CSS一样,都需要被html文件或其他js引入才能使用。

3.1 引入

想要在html中应用js脚本,需要先引入js,有两种方式:

  1. 文件引入

    通过script标签(通常在body标签最底部或head标签)引入js文件:

    <body>
      ...
      <script type="text/javascript" src="script.js"></script>
    </body>
    

    src:要引入的js文件地址(绝对路径/相对路径)

    type:对于js文件,固定为text/javascript

    注意,script不同于引入css的link标签,script是对称标签。

  2. 内置脚本

    直接在script标签中(通常在body标签最底部或head标签)写js脚本,仅对当前页面有效:

    <body>
      ...
      <script type="text/javascript">
      	let a = 1;
        ...
      </script>
    </body>
    

3.2 基本语法

学习任何语言,都先从基本语法学起,JS也是一样。如果之前学过其他编程语言,入门会更快。

下面介绍JS基本语法:

JS中,单行注释用 // 注释内容 表示,多行注释用 /* 注释内容 */ 表示

3.2.1 基本语法

JS是弱类型语言,通过let关键字,能定义一个变量,支持传入各种类型(整数、小数、字符串、数组、对象等):

let a = 1; // 定义变量
const b = 2; // 定义常量(一旦赋值,不能修改)
let c = a + b; // 求和赋值
console.log(c); // 输出
let d = [1, 2, 3]; // 定义数组,数组包含三个元素1、2、3
let e = {name: 'yupi', age: 10}; // 定义对象,包含两个属性name和age

console.log 是JS中最常用的函数,类似于C语言的printf,可以输出变量的值或信息,帮助我们调试。

3.2.2 定义函数

函数能够完成一个功能。给定输入参数,通过计算,得到输出结果。

function doClick() {
  let a = '我好帅';
  alert(a); // 输出变量的值
}

现在页面有一个按钮,如何点击按钮后,触发弹窗呢?

我们可以给按钮绑定一个鼠标点击事件(添加属性即可),当用户点击按钮时,触发对应的JS函数:

<button onclick="doClick()">按钮</button>

运行效果如下:

除了通过给标签加属性绑定事件,还可以通过JS绑定事件,后续教程会讲到。

4. 总结

让我们复习下网站开发基本语言HTML、CSS、JS的各自作用。

  • HTML:结构层, 定义网页结构和内容

  • CSS:表现层,定义网站的样式和动画

  • JS:行为层,定义网站的交互行为

开发网站时,三层通常按照顺序开发,必须先有html,定义好网站的结构和内容,再用CSS美化网站,最后用JS给网站添加交互效果。

资源

主要是一些前端开发编辑器 / 开发环境。

  1. HTML/CSS/JS在线编辑器

  2. Sublime Text 轻量、快

  3. VsCode 略轻量、快

  4. WebStorm 重量、适合开发项目

  5. Atom 略轻量、有时不稳定

  6. HBuilder 略轻量、不够安全

更多推荐

写给零基础小白的网站开发入门