前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >写给零基础小白的网站开发入门

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

原创
作者头像
程序员鱼皮
发布2021-04-15 00:16:37
2.6K0
发布2021-04-15 00:16:37
举报
文章被收录于专栏:鱼皮客栈

本教程针对零基础同学,讲解网站开发三个基础技术: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文件内容如下:

代码语言:txt
复制
<html>
  <head>
    
  </head>
  <body>
    
  </body>
</html>

标签具有如下特点:

  1. 对称:每组标签有开有闭,如 <html> 对应 </html> ,同组标签尖括号里单词相同。
  2. 层级:标签可嵌套标签,体现了网站结构层级关系,比如一个框里可以嵌套文字内容。
  1. 简易:标签名为英文单词或简写,方便联想记忆。

下面介绍常用标签

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

  1. 结构标签,所有标准网页都必须有且仅有一个:
代码语言:txt
复制

<html> <!-- html根标签,最外层 -->

代码语言:txt
复制
 <head> <!-- 头标签,包括网站基本信息、资源引用 -->
代码语言:txt
复制
   ...
代码语言:txt
复制
 </head>
代码语言:txt
复制
 <body> <!-- 身体标签,网站内容 -->
代码语言:txt
复制
   ...
代码语言:txt
复制
 </body>

</html>

代码语言:txt
复制

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

  1. 元信息标签,用来定义网站的基本信息,放在head标签中:
代码语言:txt
复制

<head>

代码语言:txt
复制
 <title>网页标题</title>
代码语言:txt
复制
 <meta charset="utf-8"/> <!-- 元信息,定义字符集为utf-8(中文) -->

</head>

代码语言:txt
复制

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

  1. 内容标签
代码语言:txt
复制

<html>

代码语言:txt
复制
 <head>

...

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

</html>

代码语言:txt
复制

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

代码运行效果如下:

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

1.2 属性

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

代码语言:txt
复制
<img src="https://t.cn/RCzsdCq"/>

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

代码语言:txt
复制
<标签名 属性名1="属性值1" 属性名2="属性值2"></标签名>

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

2. CSS

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

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

2.1 引入

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

  1. 文件引入

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

代码语言:txt
复制

<head>

代码语言:txt
复制
 <link href="https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.0/animate.css" rel="stylesheet">

</head>

代码语言:txt
复制

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

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

  1. 内置样式

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

代码语言:txt
复制

<head>

代码语言:txt
复制
 <style>
代码语言:txt
复制
   div {
代码语言:txt
复制
     color: red;
代码语言:txt
复制
   }
代码语言:txt
复制
 </style>

</head>

代码语言:txt
复制
  1. 内联样式

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

代码语言:txt
复制

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

代码语言:txt
复制

2.2 选择器

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

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

必须了解常用选择器:

假设我们有如下html内容:

代码语言:txt
复制
<div id="box1" class="box">盒子1</div>
<div id="box2" class="box">盒子2</div>
<div>盒子3</div>

初始运行效果如下:

  1. 通配选择器

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

代码语言:txt
复制
  • { ... }

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

  1. 标签选择器

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

代码语言:txt
复制

标签名 {

代码语言:txt
复制
 ...

}

代码语言:txt
复制

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

代码语言:txt
复制

div {

代码语言:txt
复制
 color: red;

}

代码语言:txt
复制

运行效果如下:

  1. id选择器

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

代码语言:txt
复制

#id值 {

代码语言:txt
复制
 ...

}

代码语言:txt
复制

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

代码语言:txt
复制

#box1 {

代码语言:txt
复制
 background: red;

}

#box2 {

代码语言:txt
复制
 background: yellow;

}

代码语言:txt
复制

运行效果如下:

  1. class选择器

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

代码语言:txt
复制

.class值 {

代码语言:txt
复制
 ...

}

代码语言:txt
复制

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

代码语言:txt
复制

.box {

代码语言:txt
复制
 background: red;

}

代码语言:txt
复制

运行效果如下:

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

2.3 样式

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

下面介绍CSS常用的样式:

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

2.3.1 布局
代码语言:txt
复制
* {
	float: left; /* 元素浮动:left 左浮动 | right 右浮动 */
  position: unset; /* 定位方式:absolute 相对父元素定位 | fixed 相对页面定位 | relative | sticky 弹性 | unset 不设置*/
}

运行效果如下:

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

2.3.2 块
代码语言:txt
复制
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 内容
代码语言:txt
复制
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文件:

代码语言:txt
复制

<body>

代码语言:txt
复制
 ...
代码语言:txt
复制
 <script type="text/javascript" src="script.js"></script>

</body>

代码语言:txt
复制

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

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

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

  1. 内置脚本

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

代码语言:txt
复制

<body>

代码语言:txt
复制
 ...
代码语言:txt
复制
 <script type="text/javascript">
代码语言:txt
复制
 	let a = 1;
代码语言:txt
复制
   ...
代码语言:txt
复制
 </script>

</body>

代码语言:txt
复制

3.2 基本语法

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

下面介绍JS基本语法:

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

3.2.1 基本语法

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

代码语言:txt
复制
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 定义函数

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

代码语言:txt
复制
function doClick() {
  let a = '我好帅';
  alert(a); // 输出变量的值
}

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

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

代码语言:txt
复制
<button onclick="doClick()">按钮</button>

运行效果如下:

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

4. 总结

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

  • HTML:结构层, 定义网页结构和内容
  • CSS:表现层,定义网站的样式和动画
  • JS:行为层,定义网站的交互行为

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

资源

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

  1. HTML/CSS/JS在线编辑器
  2. 轻量、快
  3. 略轻量、快
  4. 重量、适合开发项目
  5. 略轻量、有时不稳定
  6. HBuilder 略轻量、不够安全

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. HTML
    • 1.1 标签
      • 1.2 属性
      • 2. CSS
        • 2.1 引入
          • 2.2 选择器
            • 2.3 样式
              • 2.3.1 布局
              • 2.3.2 块
              • 2.3.3 内容
          • 3. JS
            • 3.1 引入
              • 3.2 基本语法
                • 3.2.1 基本语法
                • 3.2.2 定义函数
            • 4. 总结
            • 资源
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档