前端基础一之HTML篇

简介: 前端基础一之HTML篇


image.png

文章目录

前言

身为一个合格的后端开发人员

前端的基础知识也是需要了解的


1. 网页

W3C规定网页由三部分组成:结构,表现,行为。

结构指的就是HTML

表现指的是CSS

行为指的是JavaScript

这是网页的三部分,是由万维网联盟W3C规范的。

这节我们就来学习HTML,网页的结构。


1.1 什么是网页的结构,表现,行为

  • 结构
    HTML用于表现网页的结构
  • 表现
    CSS用于控制页面中元素的样式
  • 行为
    JavaScript用于响应用户操作


1.2 什么是HTML

HTML(Hypertext Markup Language)是超文本标记语言。

严格来说,HTML不属于编程语言,他是用标签的形式标示出网页不同的组成部分。

为什么说HTML不是编程语言呢?因为HTML没有解释器,写出来的代码可以通过浏览器直接浏览,不需要下载诸如jdk,Python之类的东西,也不需要配置环境。


1.3 运行/编写HTML

由于HTML是超文本标记语言,所以我们可以直接通过记事本来进行编写

或者也可以使用Notepad++,支持高亮

记事本代码写好之后,后缀名改为.html然后上级就可以看到我们代码的运行效果了


2. HTML基础

2.1 标签

标签由尖括号<>括起来,用于描述网页


2.2 元素

一个完整的标签称之为元素,有开始有终止,有内容

  • HTML元素以起始标签(<>)开始,以结束标签(</>)闭合
  • 元素内容是起始标签与结束标签之间的内容。
  • 某些HTML元素具有空内容
  • 空元素在开始标签中关闭


2.3 属性

我们可以通过<标签 a = “属性”></标签>的方法设置属性,属性可以为HTML元素附加属性

属性是以键值对的形式出现的

下面会示范一下常用的标签


2.4 HTML的Hello World

<DOCTYPE html>
<html>
<head>
    <title>第一个HTML</title>
</head>
<body>
hello world!
</body>
</html>

这样,把文件名改为hello.html双击打开,就可以看到hello world。


2.5 标签的嵌套

大多数标签都支持嵌套

<p>这是段落
    <p>这是段落里面的第一段</p>
    <p>这是段落里面的第二段</p>
</p>

页面展示:

这是段落

这是段落里面的第一段

这是段落里面的第二段


3. HTML常用标签

3.1 标题

标题由h+数字标签来实现,共有六级标题

<h1>一级标题</h1>
<h2>二级标题</h2>
<h6>六级标题</h6>

下面是显示结果


一级标题

二级标题

六级标题


3.2 链接

链接以a标签来实现

<a str = "www.baidu.com">这是一个链接</a>

下面是网页显示

这是一个链接


3.3 段落

段落用p标签来实现

<p>好家伙,好家伙,这是第一段</p>
<p>好家伙,好家伙,这是第二段</p>

下面是网页显示

好家伙,好家伙,这是第一段

好家伙,好家伙,这是第二段


3.3 图片

图片用img标签来实现

<img src = "www.luanbiande.jpg">图片说明</img>

下面是网页显示,因为图书不存在,所以不会显示

image.png


3.4 换行

用<br>标签表示换行

这是<br>效果

下面是网页显示

这是

效果


3.5 列表

  1. 设置一个有序列表
<ol>
    <li>第一个</li>
    <li>第二个</li>
</ol>

显示结果:

  1. 第一个
  2. 第二个

  1. 设置一个无序列表
<ul>
    <li>第一个</li>
    <li>第二个</li>
</ul>
  1. 显示结果:
  • 第一个
  • 第二个


3.6 表格

创建一个表格:

<table>
    <tr>
      <td>id</td>
      <td>age</td>
      <td>name</td>
        <td>sex</td>
  </tr>
</table>

显示结果:

id age name sex


多行显示:

<table>
    <tr>
      <td>id</td>
      <td>age</td>
      <td>name</td>
        <td>sex</td>
  </tr>
    <tr>
        <td>1001</td>
        <td>20</td>
        <td>布小禅</td>
        <td>men</td>
    </tr>
</table>
id age name sex
1001 20 布小禅 men

不要问为什么这么写,这是标签,没有为什么,这是规定

当然,刚刚的表格其实不是很正确,我们要定义第一行的东西的话,需要用到这个标签<th></th>


3.7 注释

顾名思义就是给我们的代码做解释的标签

注释不会被计算机识别,也就是说,注释并不会影响运行结果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
Hello World!
<!-- 这里是注释 -->
</body>
</html>

就像这样,下面是上面代码的运行结果:

  Hello World!  


3.8 块

什么是块呢?

我们通过<div>定义一个html代码块,我们可以css给div代码块设置属性的方式设置整个div代码块的样式。

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
Hello World!
<!-- 这里是注释 -->
<div style="color: antiquewhite">
  <h3>This is a header</h3>
  <p>This is a paragraph.</p>
</div>
</body>
</html>

效果:

  Hello World!  

This is a header

This is a paragraph.

some text.some other text.

some text.some other text.


<span>标签被用来组合文档中的行内元素。

就是把某行元素的特定部分包装起来

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
Hello World!
<!-- 这里是注释 -->
<div style="color: antiquewhite">
  <h3>This is a header</h3>
  <p>This is a paragraph.</p>
</div>
<p class="text1"><span style="color: bisque">some text.</span>some other text.</p>
<p>some text.some other text.</p>
</body>
</html>

效果:

  Hello World!  

This is a header

This is a paragraph.

some text.some other text.

some text.some other text.



3.9 表单

通过<form>标签来设置表单

表单有什么用呢? 接收用户输入的信息

就像我们在网页上面填写的账号和密码,那就是表单

而空值输入文本框的标签是<input>标签,他能够接受的内容有多种形式

text是纯文本,可见

password是密码文本,不可见

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form>
    <label>
        账号:<input name="user" type="text"><br>
        密码:<input name="password" type="password">
    </label>
</form>
</body>
</html>

效果这样:

image.png


当然,我们一般都会有一个登录/注册的按钮

这需要<input>标签的submit属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form>
    <label>
        账号:<input name="user" type="text"><br>
        密码:<input name="password" type="password"><br>
        <input name="login" type="submit" value="登录">
        <input name="register" type="submit" value="注册">
    </label>
</form>
</body>
</html>

而效果是这样:

image.png


而有时我们的表单并不仅仅是这么简陋

比如你常见的,让你选择职业,性别之类的

这个就需要用到<radio>标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>个人信息采集</h1>
<form>
    <label>
        账号:<input name="user" type="text"><br>
        密码:<input name="password" type="password"><br>
        性别:男生<input name="sex" type="radio">
        女生<input name="sex" type="radio"><br>
        职业:学生<input name="work" type="radio">
        老师<input name="work" type="radio">
        工人<input name="work" type="radio">
        农民<input name="work" type="radio"><br>
        <input name="login" type="submit" value="登录">
        <input name="register" type="submit" value="注册">
    </label>
</form>
</body>
</html>

效果:

image.png


而拿了登录会干嘛呢?

会把你的信息提交,这需要一个action属性

不设置默认为提交到当前页面,并且只会提交带有name属性的数据

当然这个我们现在随便设就可以,反正人家的服务器也不会收

我这边是便写了一个空的html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>个人信息采集</h1>
<form action="提交.html">
    <label>
        账号:<input name="user" type="text"><br>
        密码:<input name="password" type="password"><br>
        性别:男生<input name="sex" type="radio">
        女生<input name="sex" type="radio"><br>
        职业:学生<input name="work" type="radio">
        老师<input name="work" type="radio">
        工人<input name="work" type="radio">
        农民<input name="work" type="radio"><br>
        <input name="login" type="submit" value="登录">
        <input name="register" type="submit" value="注册">
    </label>
</form>
</body>
</html>

效果:


个人信息采集

 账号:

密码:

性别:男生 女生

职业:学生 老师 工人 农民


因为提交方式为get(默认),所以点击登录后,会跳转到那个空白的HTML,然后url会把你所有带有name属性的数据展示出来

而怎么规避这个情况呢?

需要一个属性:method

不设置默认为get请求

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>个人信息采集</h1>
<form action="提交.html" method="post">
    <label>
        账号:<input name="user" type="text"><br>
        密码:<input name="password" type="password"><br>
        性别:男生<input name="sex" type="radio">
        女生<input name="sex" type="radio"><br>
        职业:学生<input name="work" type="radio">
        老师<input name="work" type="radio">
        工人<input name="work" type="radio">
        农民<input name="work" type="radio"><br>
        <input name="login" type="submit" value="登录">
        <input name="register" type="submit" value="注册">
    </label>
</form>
</body>
</html>

这样点击提交后就不会显示带有name属性的数据


结语

兴趣是最好的老师,坚持是不变的真理。

学习不要急躁,一步一个脚印,踏踏实实的往前走。

每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。

我是布小禅,一枚自学萌新,跟着我每天进步一点点吧!

image.png


目录
相关文章
|
2天前
|
存储 移动开发 前端开发
HTML5基础题及答案——必刷前端题目(背)
- Internet是全球连接的TCP/IP协议网络,而万维网(Web)是Internet上的重要服务,基于HTTP协议展示资源。 - 用户通过浏览器输入URL访问Web页面,浏览器向服务器请求内容并显示。 - Web前端基础是HTML、CSS和JavaScript。 - HTML5是HTML的最新版本,增加了新标签、API和功能,如注释、新的列表标签、文档结构和格式标签、拖放、画布等。
|
8天前
|
JavaScript 前端开发 UED
【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
【5月更文挑战第2天】【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
|
8天前
|
存储 前端开发 JavaScript
【Web 前端】如何找到所有 HTML select 标签的选中项?
【5月更文挑战第2天】【Web 前端】如何找到所有 HTML select 标签的选中项?
|
10天前
|
缓存 移动开发 前端开发
【专栏:HTML与CSS前端技术趋势篇】HTML与CSS在PWA(Progressive Web Apps)中的应用
【4月更文挑战第30天】PWA(Progressive Web Apps)结合现代Web技术,提供接近原生应用的体验。HTML在PWA中构建页面结构和内容,响应式设计、语义化标签、Manifest文件和离线页面的创建都离不开HTML。CSS则用于定制主题样式、实现动画效果、响应式布局和管理字体图标。两者协同工作,保证PWA在不同设备和网络环境下的快速、可靠和一致性体验。随着前端技术进步,HTML与CSS在PWA中的应用将更广泛。
|
10天前
|
前端开发 JavaScript 开发者
【专栏:HTML与CSS前端技术趋势篇】前端框架(React/Vue/Angular)与HTML/CSS的结合使用
【4月更文挑战第30天】前端框架React、Vue和Angular助力UI开发,通过组件化、状态管理和虚拟DOM提升效率。这些框架与HTML/CSS结合,使用模板语法、样式管理及组件化思想。未来趋势包括框架简化、Web组件标准采用和CSS在框架中角色的演变。开发者需紧跟技术发展,掌握新工具,提升开发效能。
|
10天前
|
前端开发 JavaScript UED
【专栏:HTML 与 CSS 前端技术趋势篇】Web 性能优化:CSS 与 HTML 的未来趋势
【4月更文挑战第30天】本文探讨了CSS和HTML在Web性能优化中的关键作用,包括样式表压缩、选择器优化、DOM操作减少等策略。随着未来趋势发展,CSS模块系统、自定义属性和响应式设计将得到强化,HTML新特性也将支持复杂组件构建。同时,应对浏览器兼容性、代码复杂度和性能功能平衡的挑战是优化过程中的重要任务。通过案例分析和持续创新,我们可以提升Web应用性能,创造更好的用户体验。
|
10天前
|
移动开发 前端开发 UED
【专栏:HTML与CSS前端技术趋势篇】渐进式增强与优雅降级在前端开发中的实践
【4月更文挑战第30天】前端开发中的渐进式增强和优雅降级是确保跨浏览器、跨设备良好用户体验的关键策略。渐进式增强是从基础功能开始,逐步增加高级特性,保证所有用户能访问基本内容;而优雅降级则是从完整版本出发,向下兼容,确保低版本浏览器仍能使用基本功能。实践中,遵循HTML5/CSS3规范,使用流式布局和响应式设计,检测浏览器特性,并提供备选方案,都是实现这两种策略的有效方法。选择合适策略优化网站,提升用户体验。
|
10天前
|
前端开发 开发者 UED
【专栏:HTML与CSS前端技术趋势篇】网页设计中的CSS Grid与Flexbox之争
【4月更文挑战第30天】本文对比了CSS Grid和Flexbox两种布局工具。Flexbox擅长一维布局,简单易用,适合导航栏和列表;CSS Grid则适用于二维布局,能创建复杂结构,适用于整个页面布局。两者各有优势,在响应式设计中都占有一席之地。随着Web标准发展,它们的结合使用将成为趋势,开发者需掌握两者以应对多样化需求。
|
10天前
|
前端开发 JavaScript 搜索推荐
【专栏:HTML 与 CSS 前端技术趋势篇】HTML 与 CSS 在 Web 组件化中的应用
【4月更文挑战第30天】本文探讨了HTML和CSS在Web组件化中的应用及其在前端趋势中的重要性。组件化提高了代码复用、维护性和扩展性。HTML提供组件结构,语义化标签增进可读性,支持用户交互;CSS实现样式封装、布局控制和主题定制。案例展示了导航栏、卡片和模态框组件的创建。响应式设计、动态样式、CSS预处理器和Web组件标准等趋势影响HTML/CSS在组件化中的应用。面对兼容性、代码复杂度和性能优化挑战,需采取相应策略。未来,持续发掘HTML和CSS潜力,推动组件化开发创新,提升Web应用体验。
|
12天前
|
XML 存储 前端开发
【Web 前端】HTML、XHTML、XML 有什么区别?
【4月更文挑战第22天】【Web 前端】HTML、XHTML、XML 有什么区别?