01-HTML-CSS

YangeIT大约 41 分钟JavaWebweb开发HTMLCSSJavaScript

01-HTML-CSS

今日目标

  1. 能够理解html标签的作用,以及使用html常用标签完成一个表格和表单 ✏️🍐
  2. 知道get和post提交的区别 🍐❤️
  3. 能够理解css的作用,以及使用css样式修改字体颜色 ✏️

完成下方的课堂作业,就达成了基本目标

前置知识

  1. 曾今上过网,看过网页(有视频,文字,音频,图片的那种)
  2. 知道表格,登录页面的效果

1. 前端开发介绍 🍐

前端开发介绍

我们介绍Web网站工作流程的时候提到,前端开发,主要的职责就是将数据以好看的样式呈现出来。说白了,就是开发网页程序,如下图所示:

image-20231118115228474
image-20231118115228474

那在讲解web前端开发之前,我们先需要对web前端开发有一个整体的认知。主要明确一下三个问题

1). 网页有哪些部分组成 ?

文字、图片、音频、视频、超链接、表格等等。

2). 我们看到的网页,背后的本质是什么 ?

程序员写的前端代码 (备注:在前后端分离的开发模式中,)

3). 前端的代码是如何转换成用户眼中的网页的 ?

通过浏览器转化(解析和渲染)成用户看到的网页

  1. 浏览器中对代码进行解析和渲染的部分,称为 浏览器内核

  2. 市面上的浏览器非常多,比如:IE、火狐Firefox、苹果safari、欧朋、谷歌Chrome、QQ浏览器、360浏览器等等。 而且我们电脑上安装的浏览器可能都不止一个,有很多。 不同的浏览器,内核不同,对于相同的前端代码解析的效果也会存在差异。

  3. 那这就会造成一个问题 ,同一段前端程序,不同浏览器展示出来的效果是不一样的,这个用户体验就很差了。而我们想达到的效果则是,即使用户使用的是不同的浏览器,解析同一段前端代码,最终展示出来的效果都是相同的。🎯

  4. 要想达成这样一个目标🎯,我们就需要定义一个统一的标准,然后让各大浏览器厂商都参照这个标准来实现即可。 而这套标准呢,其实早都已经定义好了,那就是我们接下来,要介绍的web标准

总结

课堂作业

  1. 如你所见、网页有哪些部分组成?🎤
  2. 我们看到的网页,背后的本质是什么 ?🎤
  3. 前端的代码是如何转换成用户眼中的网页的 ?🎤
  4. web标准由哪几部分组成?🎤

2.HTML快速入门 ✏️

HTML快速入门

1). 什么是HTML ?

HTML: HyperText Markup Language,超文本标记语言。

  • 超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片、音频、视频等内容。

  • 标记语言:由标签 <标签名>构成的语言 👈

    • HTML标签都是预定义好的 。例如:使用 <h1> 标签展示标题,使用<a>展示超链接,使用<img>展示图片,<video>展示视频。
    • HTML代码直接在浏览器中运行,HTML标签由浏览器解析 。

下面展示的是一段html代码经过浏览器解析,呈现的效果如右图所示:

image-20231118124953459

2). 什么是CSS ?

CSS: Cascading Style Sheet,层叠样式表,用于控制页面的样式(表现)。

下面展示的是一段 html代码 及 CSS样式 经过浏览器解析,呈现的效果如右图所示:

image-20231118125040876

我们先学html,能够展示出数据,再学习css,更好的展示出数据!!

代码操作

1. 新建文本文件,后缀名改为 .html,命名为:01. html快速入门.html

创建一个名为HTML的文件夹,然后找到课程资料中的 1.jpg 文件放到该目录下的img目录中。此时HTML文件夹中内容如下:

image-20231118125935580
image-20231118125935580

2. 编写HTML的基本骨架,定义标题

​ 选中文件,鼠标右击,选择使用记事本打开文件,并且编写网页的标题

​ 首先html有固定的基本结构

<html>
	<head>
		<title>HTML 快速入门</title>
	</head>
	<body>
		
	</body>
</html>
  • 其中<html>是根标签,<head><body>是子标签。
  • <head> : 定义网页的头部,用来存放给浏览器看的信息,如:CSS样式、网页的标题。
  • <body> : 定义网页的主体部分,存放给用户看的信息,也是网页的主体内容,如:文字、图片、视频、音频、表格等。

3. 在<body>中编写HTML的核心内容

<html>
	<head>
		<title>HTML 快速入门</title>
	</head>
	<body>
		<h1>Hello HTML</h1>
		<img src="1.png">
	</body>
</html>

其中 <h1> 标签是一个一级标题的标签。 <img> 标签是一个图片标签,用来展示图片,而其中的 src 属性是用来指定要展示的图片。

4. 然后选中文件,鼠标右击,选择使用浏览器打开文件。

浏览器呈现效果如下:

image-20231118144938567

总结

1). HTML页面的基础结构标签

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

<title>中定义标题显示在浏览器的标题位置,<body>中定义的内容会呈现在浏览器的内容区域

2). HTML中的标签特点

  • HTML标签不区分大小写,建议小写
  • HTML标签的属性值,采用单引号、双引号都可以,一般写双引号
  • HTML语法相对比较松散 (建议大家编写HTML标签的时候尽量严谨一些)

课堂作业

  1. 打开浏览器,输入网址,http://www.yangeit.cn:21010/open in new window 按住F12进入开发者页面,观察源码汇总标签有什么特点?

  2. 修改什么标签,可以修改下列图片的文字? image

  3. 参考上述idea创建前端工程,完成idea创建html入门程序!!,并且在网页中,输入你喜欢的一句话!如:

image
image

3. 基础标签

3.1 新浪之标题 ✏️ 🍐

基础标签p

那我们在讲解HTML的常见基础标签 及 CSS的基本样式时,我们就以 新浪新闻页面 为例,来进行讲解,这样大家不仅能够知道 常见标签及样式的作用,还能够知道具体的应用场景。

新浪新闻的具体页面效果如下:

image-20231118160237905
image-20231118160237905

原始页面网址:https://news.sina.com.cn/gov/xlxw/2023-07-24/doc-imzcsrkr9795977.shtmlopen in new window

而对于这个新浪新闻的页面来说,核心内容分为两个部分,如下:

  • 新浪新闻-标题部分 (绿色标注的部分)
  • 新浪新闻-正文部分 (黄色标注的部分)

点击查看2部分open in new window

注意 : 先学习html,再学习css,因此只有html代码,效果回合原页面有所区别!

代码操作

接下来,按照页面效果,从上到下,进行新浪新闻页面操作

  1. yangeit已经将网页种的素材,放到了资料里面,直接将资料中提供的 图片、音频、视频 文件夹的这三个文件夹(里面是图片、音视频素材),复制到 HTML 文件夹中。
image
image

总结

课堂作业

  1. 请问img标签什么作用?🎤
  2. 请问a标签有什么作用?🎤
  3. 请问hr标签有什么作用?
  4. 请问展示图片,可以使用网络上的图片吗?可以使用gif动图吗?

动图gif链接:http://tuku.yangeit.cn:21012/i/2024/03/29/1-17003007479372.gifopen in new window

3.2 新浪之正文 ✏️ 🍐

新浪之正文

image-20231118180553316

整个正文部分的排版,主要分为这么四个部分:

  1. 视频 (当前这种新闻页面,可能也会存在音频)
  2. 文字段落
  3. 字体加粗
  4. 图片

代码操作

1). 视频、音频标签

  • 视频标签: <video>

    • 属性:
      • src: 规定视频的url
      • controls: 显示播放控件
      • width: 播放器的宽度
      • height: 播放器的高度
  • 音频标签: <audio>

    • 属性:
      • src: 规定音频的url
      • controls: 显示播放控件
<!-- 文档类型为HTML -->
<!DOCTYPE html>
<html lang="en">
<head>
    <!-- 字符集为UTF-8 -->
    <meta charset="UTF-8">
    <title>焦点访谈:中国底气 新思想夯实大国粮仓</title>
</head>
<body>

<img src="img/logo.png"> <a href="https://gov.sina.com.cn/"  target="_self">新浪政务</a> > 正文


<h1>【新思想引领新征程】推进美丽中国建设 谱写绿色发展新篇章</h1>

<hr>
2023年07月23日 19:49 <a href="https://news.cctv.com/2023/07/23/ARTI0KLN7plgs92l02aD0hTe230723.shtml" target="_blank">央视网</a>
<hr>

<video src="video/news.mp4" controls width="930px"></video>

<br> <!--br换行标签-->

<audio src="audio/news.mp3" controls width="930px"></audio>



</body>
</html>



















 
 
 
 
 





运行效果:image

注意事项:

  • 在HTML页面中无论输入了多少个空格, 最多只会显示一个。 可以使用空格占位符(&nbsp;)来生成空格,如果需要多个空格,就使用多次占位符。
image
image
  • 那在HTML中,除了空格占位符以外,还有一些其他的占位符(了解, 只需要知道空格的占位符写法即可),如下:

    显示结果描述占位符
    空格&nbsp;
    &和号&amp;
    "引号&quot;
    '撇号&apos;

总结

课堂作业

  1. video标签是什么作用?🎤
  2. p标签有什么效果?
  3. b标签和strong标签有什么区别?
  4. 根据效果,结合上述标签的效果,完成下面这个网页的编码。

点击查看效果open in new window

4. 表格标签 ✏️ 🍐 ❤️

表格标签

场景: 在网页中以表格(行、列)形式整齐展示数据,我们在一些管理类的系统中,会看到数据通常都是以表格的形式呈现出来的,比如:班级表、学生表、课程表、成绩表等等。

image-20231118184047912

标签:

  • <table> : 用于定义整个表格, 可以包裹多个 <tr>
  • <tr> : 表格的,可以包裹多个 <td>
  • <td> : 表格单元格(普通),可以包裹内容 , 如果是表头单元格,可以替换为 <th>

表格标签入门案例

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>HTML-表格</title>

</head>
<body>
<!-- width是宽度,border是线的粗细, cellspacing是单元格的距离-->
<table width="50%" border="1" cellspacing="0">
    <!-- tr是代表每一行 -->
    <tr>
        <!-- th是每一列,第一列是标题 -->
        <th>序号</th>
        <th>品牌Logo</th>
        <th>品牌名称</th>
        <th>企业名称</th>
    </tr>
    <tr >
        <!-- td是每一列,第一列是标题th,其余的td -->
        <td>001</td>
        <td><img src="img/huawei.jpg" height="50" width="70"></td>
        <td>华为</td>
        <td>华为技术有限公司</td>
    </tr>
    <tr >
        <td>002</td>
        <td><img src="img/alibaba.jpg" height="50" width="70"></td>
        <td>阿里</td>
        <td>阿里巴巴集团控股有限公司</td>
    </tr>
</table>

</body>
</html>

打开浏览器,效果如下图所示:

image
image

整合表格使用 table 标签包裹 , 其中的每一行数据都是一个 tr , 每一行中的每一个单元格都是一个 td , 而如果是表头单元格, 可以使用 th (具有加粗居中展示的效果)。

提示:HTML表格的边框、宽度的设置推荐使用CSS样式进行控制。暂时使用过时的设置,后面学完CSS后再改

课堂作业2

  1. 实现下列效果

提示:

在线获取mp3的地址:http://www.dspjx.com/music/index.phpopen in new window

提示

如果完成了上述案例,说明你掌握了图片标签,表格标签 🎉

5 表单、表单项标签

5.1 表单标签 ✏️ 🍐 ❤️

表单标签

那表单呢,在我们日常的上网的过程中,基本上每天都会遇到。比如,我们经常在访问网站时,出现的登录页面、注册页面、个人信息提交页面,其实都是一个一个的表单 。 当我们在这些表单中录入数据之后,一点击 "提交",就会将表单中我们填写的数据采集到,并提交, 那其实这个数据呢,一般会提交到服务端,最终保存在数据库中 (后面的课程中会讲到)。

案例1
案例1
案例2
案例2

那其实,上述的整个窗口一个表单,而表单是一项一项的,这个我们称为表单项 或 表单元素。

  • 表单场景: 表单就是在网页中负责数据采集功能的,如:注册、登录的表单。

  • 表单标签:<form>

  • 表单属性:

    • action: 规定表单提交时,向何处发送表单数据,表单提交的URL。
    • method: 规定用于发送表单数据的方式,常见为: GET、POST。
      • GET :表单数据是拼接在url后面的, 如: xxxxxxxxxxx?username=Tom&age=12,url中能携带的表单数据大小是有限制的。
      • POST : 表单数据是在请求体(消息体)中携带的,大小没有限制。
  • 表单项标签: 不同类型的input元素、下拉列表、文本域等。

    • input: 定义表单项,通过type属性控制输入形式
    • select: 定义下拉列表
    • textarea: 定义文本域

代码操作

1). GET方式提交的表单

<!DOCTYPE html>
<html lang="en">
<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>HTML-表单</title>
</head>
<body>
    <!-- 
    form表单属性: 
        action: 表单提交的url, 往何处提交数据 . 如果不指定, 默认提交到当前页面
        method: 表单的提交方式 .
            get: 在url后面拼接表单数据, 比如: ?username=Tom&age=12 , url长度有限制 . 默认值
            post: 在消息体(请求体)中传递的, 参数大小无限制的.
    -->   
    <form action="" method="get">
        用户名: <input type="text" name="username">
        年龄: <input type="text" name="age">

        <input type="submit" value="提交">
    </form>
	
</body>
</html>

表单编写完毕之后,通过浏览器打开此表单,然后再表单项中录入值之后,点击提交,我们会看到表单的数据在url后面提交到服务端,格式为:?username=Tom&age=12。

image-20230309191725329

注意事项

表单中的所有表单项,要想能够正常的采集数据,在提交的时候能提交到服务端,表单项必须指定name属性。 否则,无法提交该表单项。

用户名: <input type="text" name="username">
image
image

表单项没有指定name属性的效果:

image
image

总结

课堂作业

  1. 表单有什么应用场景?🎤
  2. 表单提交目前有几种方式?从数据角度,说说区别?
  3. 如果表单项没有指定name值,会出现什么情况?
  4. 根据上述的get和post方式的表单,依葫芦画瓢演示一遍,真切的体会get和post的区别?

5.2 表单项标签 ✏️ 🍐

表单项标签

在一个表单中,可以存在很多的表单项,而虽然表单项的形式各式各样,但是表单项的标签其实就只有三个,分别是:

  • <input>: 表单项 , 通过type属性控制输入形式。

    type取值描述
    text默认值,定义单行的输入字段
    password定义密码字段
    radio定义单选按钮
    checkbox定义复选框
    file定义文件上传按钮
    date/time/datetime-local定义日期/时间/日期时间
    number定义数字输入框
    email定义邮件输入框
    hidden定义隐藏域
    submit / reset / button定义提交按钮 / 重置按钮 / 可点击按钮
  • <select>: 定义下拉列表, <option> 定义列表项

  • <textarea>: 文本域

代码操作

创建一个新的表单项的html文件,具体内容如下:

<!DOCTYPE html>
<html lang="en">
<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>HTML-表单项标签</title>
</head>
<body>

<!-- value: 表单项提交的值 -->
<form action="" method="post">
     姓名: <input type="text" name="name"> <br><br>
     密码: <input type="password" name="password"> <br><br> 
     性别: <input type="radio" name="gender" value="1"><label><input type="radio" name="gender" value="2"></label> <br><br>
     爱好: <label><input type="checkbox" name="hobby" value="java"> java </label>
          <label><input type="checkbox" name="hobby" value="game"> game </label>
          <label><input type="checkbox" name="hobby" value="sing"> sing </label> <br><br>
     图像: <input type="file" name="image">  <br><br>
     生日: <input type="date" name="birthday"> <br><br>
     时间: <input type="time" name="time"> <br><br>
     日期时间: <input type="datetime-local" name="datetime"> <br><br>
     邮箱: <input type="email" name="email"> <br><br>
     年龄: <input type="number" name="age"> <br><br>
     学历: <select name="degree">
               <option value="">----------- 请选择 -----------</option>
               <option value="1">大专</option>
               <option value="2">本科</option>
               <option value="3">硕士</option>
               <option value="4">博士</option>
          </select>  <br><br>
     描述: <textarea name="description" cols="30" rows="10"></textarea>  <br><br>
     <input type="hidden" name="id" value="1">
	 	
     <!-- 表单常见按钮 -->
     <input type="button" value="按钮">
     <input type="reset" value="重置"> 
     <input type="submit" value="提交">   
     <br>
</form>

</body>
</html>

通过浏览器打开上述的表单项html文件,最终展示出的表单信息如下:

image-20230309221308252
image-20230309221308252

总结

课堂作业

  1. 表单项有什么作用?🎤
  2. 如果我要上传文件,请问应该用什么表单项标签?
  3. 如果要搞成这样的效果,可以使用什么表单项标签?
image
image
  1. 根据上述案例的效果,完成表单项标签的练习,注意标签和效果的对应关系!

6. CSS样式美化篇-了解 🚀

回到html页面,发现其实不是很漂亮,接下来,使用css给他化化妆!!

CSS样式

需求1:标题样式

新浪新闻的标题部分的基本排版,我们已经完成了,然后大家会看到,我们编写的一级标题,默认字体颜色为纯黑色。 而原始的新浪新闻页面的新闻标题字体,并不是纯黑色,而是灰黑色, 那接下来,我们就要来设置这个字体的颜色。 而要设置这个字体的颜色,我们就需要通过CSS样式来控制 。

image
image

那在HTML的文件中,我们如何来编写CSS样式呢,此时就涉及到CSS的三种引入方式。

需求2:发布时间字体颜色

image
image

需求3:去掉超链接的下划线

image
image

需求4:解决段落文字行高和首行缩进

image
image

需求5: 文本的水平对齐方式

image
image

代码操作

创建一个新浪正文_CSS.html,将下述代码,粘贴到文件中

<!-- 文档类型为HTML -->
<!DOCTYPE html>
<html lang="en">
<head>
    <!-- 字符集为UTF-8 -->
    <meta charset="UTF-8">
    <title>焦点访谈:中国底气 新思想夯实大国粮仓</title>
</head>
<body>

<img src="img/logo.png"> <a href="https://gov.sina.com.cn/"  target="_self">新浪政务</a> > 正文


<h1>【新思想引领新征程】推进美丽中国建设 谱写绿色发展新篇章</h1>

<hr>
2023年07月23日 19:49 <a href="https://news.cctv.com/2023/07/23/ARTI0KLN7plgs92l02aD0hTe230723.shtml" target="_blank">央视网</a>
<hr>

<video src="video/news.mp4" controls width="930px"></video>

<br> <!--br换行标签-->

<audio src="http://music.163.com/song/media/outer/url?id=1942878138.mp3" controls width="930px"></audio>

<p>
    <strong>央视网消息</strong>(新闻联播):生态文明建设是关系中华民族永续发展的根本大计。习近平总书记指出,要把建设美丽中国摆在强国建设、民族复兴的突出位置,以高品质生态环境支撑高质量发展,加快推进人与自然和谐共生的现代化。各地坚持以习近平生态文明思想为指引,牢固树立和践行绿水青山就是金山银山的理念,以更高站位、更宽视野、更大力度,全面推进美丽中国建设。
</p>
<img src="img/1.jpg">
<p>盛夏时节,神州大地山清水秀,万里河山多姿多彩。</p>
<p>党的十八大以来,在以习近平同志为核心的党中央坚强领导下,一系列根本性、开创性、长远性工作全面开展,推进生态文明建设决心之大、力度之大、成效之大前所未有。从滚滚长江到浩浩黄河,从青藏高原到草场林海,习近平总书记对生态文明建设念兹在兹,倾注了巨大心血。</p>

<img src="img/2.jpg">
<p>在习近平生态文明思想科学指引下,各地坚定走生态优先、绿色发展之路。党的十八大以来,我国水环境质量发生转折性变化,2022年全国地表水水质优良断面比例提升至87.9%;绿色版图不断扩大,10年来全国完成造林约10.2亿亩;天空更蓝,2022年全国地级及以上城市空气质量优良天数比例达86.5%,重污染天数比例首次降到1%以内。新时代生态文明建设的成就举世瞩目,成为新时代党和国家事业取得历史性成就、发生历史性变革的显著标志。</p>
<p>在前不久召开的全国生态环境保护大会上,习近平总书记强调,今后5年是美丽中国建设的重要时期,要以更高站位、更宽视野、更大力度来谋划和推进新征程生态环境保护工作,全面推进美丽中国建设。</p>

<img src="img/3.jpg">
<p>牢记习近平总书记嘱托,各地坚持山水林田湖草沙一体化保护和系统治理,努力寻找生态保护修复的最佳方案。在陕西,秦岭北麓主体山水林田湖草沙一体化保护和修复全面展开,聚焦秦岭北麓主体的生物多样性、水源涵养、水土保持3大功能,计划保护修复面积超35000公顷。在江苏无锡太湖沿岸,通过种植本土植物,打造湿地生物链,一座座小型湿地正成为太湖的生态屏障。在湖北丹江口水库库区,林管人员正在石漠化的山体上为新一轮植树造林做准备,今年丹江口库区预计造林66000亩。在黑龙江伊春,新技术将红松育苗上山造林的时间从4年缩短到2年,今年当地计划育苗350万株。</p>

<img src="img/4.jpg">
<p>不断健全美丽中国建设保障体系,各地积极行动。山西运城与高校和科研机构合作,通过60多个观测点、采样点和生物调查点位,为保护盐湖生态提供了全方位、数字化科技支撑。在长江上游赤水河,沿线省份的相关部门正对流域生态进行联合监测。从今年起,云南、贵州、四川三省共同开启赤水河保护宣传行动。</p>
<p>积极拓宽“绿水青山”转化“金山银山”的路径。湖南对沿长江一公里范围内的所有化工企业全部清退、搬离。眼下,当地正积极布局新兴产业,一批新材料、绿色化工等现代绿色产业集群加速形成。</p>

<p >责任编辑:王树淼 SN242</p>
<p> <strong>关键字:</strong> 美丽中国  绿色发展 新篇章 新征程</p>


</body>
</html>

总结

课堂作业

  1. 结合上述的需求和提示,依葫芦画瓢把代码练一练,体会样式可以让数据展示的更加nice!!🎤