首先了解什么是HTML和CSS,它们是做网站的两种编程语言,一般情况下需要配合使用,是网站开发的基础语言。HTML构建网站的框架结构,而CSS对网站进行修饰美化。
再来了解网站,网站是由浏览器将代码解析后形成的。(网站可以通过鼠标右键查看源代码)
一个网站是由多个网页组成的,每个网页为一个.html文件,即每个网站由多个.html文件组成
了解这些后接下来需要了解.html文件如何写,在哪写。一个.html文件最简单的创建方法可以在电脑指定一个目录下创建一个文本文档并且将文档的扩展名.txt改成.html,然后通过鼠标右键从打开方式中选中笔记本来将内容写入.html文件。但是这种方法效率低,而且容易出问题。因此这就需要一个更为高效的工具或方法。
全称Visual Stdio Code,来自微软,是一个开源的、基于Electron的轻量代码编辑器。(下载地址)编辑器初始为英文,可在左侧起向下的第5个图标,点击搜索Chinese来安装中文插件。
▼
open in browser和view in browser插件
在扩展中下载后可以在编辑器中运行编辑的网页文件。前者可以在编辑页面右键点击open in default browser
后者可以在左侧栏右击.html文件点击view in browser打开
VS Code的简单使用
左侧工作区可以进行新建文件夹,文件以及添加文件夹到工作区的操作,左侧的搜索功能可以在工作区已有的文件中寻找关键词
比较常用的快捷键:
设置vs code视区之内自动换行
左上文件>首选项>设置搜索word,下拉寻找到
然后选择on即可
UI设计师:提供设计稿
“UI”的本义是用户界面,是英文User和interface的缩写。UI设计师简称UID(User Interface Designer),指从事对软件的人机交互、操作逻辑、界面美观的整体设计工作的人。
Web前端开发工程师(H5开发):用代码将设计稿实现,将数据库的数据显示到页面,HTML和CSS就是由其操作的(HTML:写结构;CSS:加上外观)
Web前端开发工程师,是从事Web前端开发工作的工程师。主要进行网站的开发、优化、完善的工作。
Web后端开发工程师:数据库数据的存储管理
(粗略了解)
俗称网页开发三剑客
HTML:结构
HTML是超文本标记语言,是一个网站页面的主要内容和主体框架。主要用来实现静态页面,目前我们看到的文字、图片、动画、声音、表格、超链接等网页元素都是通过HTML实现的。HTML是由各种标签组成的,所学习HTML就是在了解HTML主体框架的结构基础上学习各种标签的使用方法。
CSS:样式
CSS是层叠样式表,主要用来控制调整网页的样式,它与网页的结构和内容没有关系,仅仅是通过不同语义的标签来调整网页内容的不同表现样式。在网页上实现CSS样式调整一般有两种方式:内嵌式,将CSS代码集中写到HTML文档的头部标签中,并用style标记定义,一般位于head标记中的title标记之后,简而言之就是直接在THML文件中直接添加CSS样式的方式;嵌入式,是将所有的样式放在一个或多个以CSS为拓展名的外部样式表文件中,通过标记将外部样式表文件链接到HTML文件中,简而言之就是HTML文件域CSS文件单独存在,再通过Link的方式将CSS所写的样式添加到HTML中。
JavaScript(JS):行为
JavaScript是一种完整的网页脚本语言,有自己独立的语法,可以完成复杂的程序逻辑,而HTML和CSS仅仅是标记语言,不具备编程语言的程序逻辑。JavaScript主要负责网页的各式各样的动态功能,因此可以为用户提供更流畅美观的页面浏览效果,以及添加页面交互行为,给用户更好的视觉和使用体验。JavaScript的工作原理是通过在HTML网页中直接嵌入JS脚本,可以实现相应浏览器时间,读写HTML元素内容,更改HTML元素样式等功能。
三者关系就如舞狮子,HTML就相当于没有装饰的道具骨架和穿着普通衣服的人,CSS就是为这些道具添加漂亮的外衣和绚丽的色彩并且为舞狮的人统一服装,而JavaScript则规定舞狮的动作的标准,三者结合才能让人看到一场非常吸引人的舞狮表演。
HTML:超文本标记语言(Hyper Text Markup Language)网页制作必备的编程语言。
超文本:文本内容 + 非文本内容(图片、视频、音频等)
标记:<单词>(也叫做标签)
语言:编程语言
标签写法分为两种:
单标签:<单词>
双标签:
VS Code创建标签快捷键:输入标签单词后 + Tab
标签可以上下排列也可以组合嵌套
标签属性:修饰标签,设置当前标签的一些功能。可以写多个属性。
<标签 属性="值" 属性2="值2">
每个html文件都需要写初始代码。(html文件规范)
VS Code中输入!+Tab快捷生成初始代码
初始代码:
DOCTYPE html> ←文档声明:告诉浏览器这是html文件
<html lang="en"> ←html文件的最外层标签:包裹了所有的html标签代码 lang="en"表示一个英文网站 lang="zh-CN"表示一个中文网站
<head>
<meta charset="UTF-8"> ←元信息:编写网页中的一些赋值信息(UTF-8:采用国际编码,识别国家语言防止出现乱码)
<title>Documenttitle> ←设置网页的标题
head>
<body>
显示网页内容的区域
body>
html>
上面初始代码中head标签和body标签部分↓
title标签部分↓
注释的代码只能在编辑文件中看到,浏览器中不会显示注释代码。
用处:
快捷键添加注释和取消注释:
两种注释方法也可以将注释的部分取消掉。
HTML中不同的标签实现不同的功能,所谓的HTML语义化指的是根据网页中内容的结构来选择合适的HTML标签进行编写。
语义化的好处:
网页内容的标题,与head标签不同,双标签
双标签
内容
,一个段落只使用一次p标签(语言规范)表示强调的标签:
:双标签,表示强调,对文本进行加粗。
<strong>strong>
:双标签,表示强调,将文本转为斜体字。
<em>em>
第一串文字无任何修饰,第二串文字被strong修饰加粗,第三串文字被em修饰为斜体。(两者的强调区别:strong的强调性更强,em的强调性稍弱。)
、:双标签,下标文本和下标文本。
<sub>下标文本sub> <sup>上标文本sup>
满足特定需求,如勾股定理,化学中水分子的表示…
、:双标签,删除文本(delete)、插入文本(insert)。
<del>给文本加删除线del> <ins>给文本加下划线ins>
一般删除文本标签和插入文本标签配合使用。
图片标签:单标签。
<img src="" alt="">
图片标签属性:
src属性:引入图片的地址。
在网页中选择一张图片鼠标右击选择在新标签页中打开图片后复制其地址,然后粘贴至src中。
alt属性:当图片出问题的时候,可以显示一段提示用户的文字。
在图片地址中随便修改使地址无效后加上提示。
如果不在alt属性里加入提示,图片出错后会显示空白,用户将无法得知图片出错。
title属性:提示信息(实际上html标签都有title属性)。
在上面编辑的图片标签加上title属性,这样鼠标停留在图片上会显示提示文字。
width、height属性:控制图片大小(控制图片的宽和高,CSS也可以做到这点,挖个坑)。
此属性可以不加,图片就为原大小,但是一般会加上,如果不加上,网速较慢的时候图片加载出来后会在文章中突然插入将文段撑开,如果加上该属性,网速慢的时候网页会预先给图片位置留白等待图片加载,这样可以减少网速慢时加载图片的突兀感。
在Chrome浏览器中可以按F12打开调式工具模拟网速慢的情况。
如图(在network到小图标那步需要ctrl + r添加测试项目)
(如果图片太小可能效果不明显)
引入文件的地址路径
在HTML中地址分为两种,一种为相对路径,一种为绝对路径。(在上面的图片标签中引入的网络地址为绝对路径)
相对路径
“.” :在路径中表示当前路径
“. .”:在路径中表示上一级路径
可以理解为参照当前编辑的html文件的路径来寻找文件
绝对路径
实实在在的路径,如网页地址,电脑中的文件路径。
例:
注意windows系统的电脑中文件的路径使用的斜杠为“\”,在html文件中使用不影响,但是网络地址中必须使用“/”。
a标签:双标签,给文字提供网页链接进行跳转,也可以在a标签里嵌套一个图片标签让图片能进行网页跳转。
<a href="在这写网页地址">这里写文字a>
a标签的属性:href属性和target属性
href属性:写链接地址
<a href="http://www.baidu.com">访问百度a>
target属性:可以改变链接打开的方式,默认情况下是在当前页面打开(_self)默认在当前页面打开的话可以不用加上target标签,而新建一个窗口来打开使用(_blank)
<a href="http://www.baidu.com" target="_blank">百度a>
这里引出一个问题,如果想让一个网页中每个链接打开都通过新建窗口的方式打开是不是需要每个a标签都需要添加target(_blank)属性,有问题当然就有解决方案,这里用到了base标签。
base标签为页面上的所有链接规定默认地址或默认目标,浏览器会使用 标签中指定的URL来解析所有的相对URL,base其实就是定义一个默认的地址和默认目标
先不做深入了解,先了解如何解决上述问题。
在head标签中添加下面的代码,作用是使网页中所有的target标签的值都默认为_blank。
<base target="_blank">
不同于链接,是在当前页面中进行内容跳转,用一个不恰当的比方,把当前网页比喻一本书,跳转锚点就是快速翻到某一页,那一页仍是网页的内容,没有新建窗口也没有打开新的网址。一般用来做网页目录,或者做返回顶部操作。
使用a标签实现跳转锚点
实现方法一:#号配对id属性
例:
<a href="#html">HTMLHTML>a>
<h2 id="html">HTML超文本标记语言h2>
上述例子是点击HTML的跳转锚点后会跳转至HTML超文本标记语言标题的位置。
实现方法二:#号配对name属性
例:
<a href="#html">HTMLHTML>a>
<a name="html">a>
上述例子是点击HTML跳转锚点后跳转至匹配name属性的位置(注意name属性是加给a标签的)。
特殊符号
在编写一些文本时经常会遇到输入法无法输入的字符,如®(注册商标)、©(版权符)等,还有往一段文字中加入多个空格时,页面并不会解析出多个空格。这些无法输入和空格字符都是特殊字符,在HTML中,为这些特殊字符准备了专门的代码。
比较常用的是左右尖括号和空格。
无序列表
、
:前者的表示最外层容器、列表项(ul和li必须是组合出现的他们之间不能有其他标签,li标签里可以嵌套其他标签)。
正面例子:
<ul>
<li>第一项li>
<li>第二项li>
ul>
错误示例:
<ul>
<p>
<li>第一项li>
<li>第二项li>
p>
ul>
ul里可以添加type属性:改变前面列表的样式,默认小圆点(一般都是用CSS去控制)
<ul type="">ul>
具体有什么样式去查表
有序列表
、
:前者为列表的最外层容器,后者为列表项(有序列表用的非常少,经常用的是无序列表,无序列表可以去代替有序列表,具体用CSS实现,同样,两标签之间不能有其他标签)
ol里也可以添加type属性来改变样式。
定义列表
列表项需要添加标题和对标题进行描述内容时会用上定义标签,像是一个标题和内容的结构。
<dl>
<dt>HTMLdt>
<dd>超文本标记语言dd>
<dt>CSSdt>
<dd>层叠样式表dd>
<dt>Javascriptdt>
<dd>网页脚本语言dd>
dl>
嵌套列表
列表之间可以互相嵌套形成多层级的列表。
例:用无序列表嵌套做一个菜单
<ul>
<li>
小吃类
<ul>
<li>煮粉干li>
<li>拌青菜li>
<li>蛋炒饭li>
<li>煎蛋li>
<li>米饭li>
ul>
li>
<li>
卤味类
<ul>
<li>鸭肠li>
<li>面筋li>
<li>牛肚li>
<li>猪耳朵li>
<li>猪头肉li>
<li>大肠li>
<li>鱿鱼li>
ul>
li>
<li>
套餐类
<ul>
<li>卤面筋饭li>
<li>猪肉饭li>
<li>猪耳朵饭li>
<li>卤猪脚饭li>
<li>卤猪舌头饭li>
ul>
li>
<li>
炖罐类
<ul>
<li>猪蹄黄豆li>
<li>猪肚莲子li>
<li>猪心枸杞li>
<li>羊肉枸杞li>
<li>牛肉枸杞li>
ul>
li>
ul>
<p><em>亲,20元以上可送餐哦!!em>p>
表格标签
需要罗列一堆数据时会用上。
:定义表头。 | :定义表格单元。 全为双标签,它们之间嵌套有语法规范。 例:
语义化标签 |
---|