跳到主要内容后端视角下的前端基础:HTML、CSS 与 JavaScript | 极客日志HTML / CSS大前端
后端视角下的前端基础:HTML、CSS 与 JavaScript
从后端开发者视角介绍前端三大基石:HTML、CSS 和 JavaScript。重点讲解了 HTML 的结构定义与常用标签(如表单、容器),CSS 的选择器机制与引入方式,以及三者如何协同构建页面。旨在帮助后端人员理解前端基础逻辑,便于前后端协作。
莫名其妙2 浏览 前言
作为一个从后端视角切入前端的开发者,我们其实拥有一个很好的起点——理解数据流转、请求响应。前端不过是把这些逻辑在用户的浏览器里'可视化'和'交互化'的过程。
一、基本概念
作为后端开发者,我们习惯于处理数据、接口、数据库、业务逻辑。但最终,所有这些努力都要交付给用户一个'界面'。这个界面就是前端的世界。它由三个部分构成:
- HTML(超文本标记语言) —— 骨架和内容
- CSS(层叠样式表) —— 美化、风格、样式
- JavaScript(脚本语言) —— 动作、交互
三者协同,才能构建出一个完整、可用、美观的 Web 页面。
二、HTML:网页的'骨架',承载所有内容
HTML(HyperText Markup Language,超文本标记语言)的核心作用是 定义页面结构、承载内容,相当于一栋房子的'框架'——没有框架,后续的美化和交互都无从谈起。它不是编程语言(没有逻辑),只是一套'标记标签',告诉浏览器'这里是标题''这里是段落''这里是按钮'。
2.1 HTML 基本结构
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>页面标题</title>
</head>
<body>
<h1>Hello, 后端世界</h1>
<p>这是一个段落。</p>
</body>
</html>
| 部分 | 作用 | 后端类比 |
|---|
| 声明文档类型,告诉浏览器用标准模式渲染 | 类似接口的版本声明 |
| 整个页面的根元素 | 最外层容器 |
| 页面的元数据,用户看不到,但浏览器、搜索引擎需要 | 类似 HTTP 头信息 |
| 页面的主体内容,用户可见 | 类似响应体中的实际数据 |
2.2 最常用的 HTML 标签
后端同学日常调试、简单写页面,掌握以下常用标签就足够,重点关注'标签作用'和'与后端的关联'(比如表单标签用于提交数据到后端接口)。
- 文本类标签(承载文字内容)
<h1>-<h6>:标题标签,h1 最大(页面主标题),h6 最小。
<p>:段落标签,用于包裹普通文本(比如说明文字、详情介绍),自动换行。
<span>:行内文本标签,用于包裹一小段文字(比如高亮部分),不自动换行,常和 CSS 配合使用。
- 容器类标签(划分页面结构),用于将页面划分成不同区域(比如头部、侧边栏、内容区),便于后续 CSS 布局和数据渲染。
<div>:块级容器标签,自动换行,独占一行,是最常用的'容器',比如:<div>用户列表</div>(包裹用户列表区域)。
<div> 没有固定语义,纯粹用于'划分区域',几乎所有页面结构都靠它搭建(比如后端返回的列表数据,前端会用 div 循环渲染)。
- 表单类标签(与后端交互核心),用于收集用户输入(比如登录、注册、提交数据),数据通过表单提交到后端接口,是前后端交互的'桥梁'。
<form>:表单容器标签,所有表单元素(输入框、按钮)都要嵌套在里面,核心属性:action(后端接口地址)、method(请求方式:get/post),比如:<form action="/login" method="post"></form>。
<input>:输入框标签,最常用,根据 type 属性不同,实现不同输入效果,比如:
<input type="text" name="username" placeholder="请输入用户名">(文本输入框,name 属性是后端接收参数的 key)
<input type="password" name="password" placeholder="请输入密码">(密码输入框,输入内容隐藏)
<input type="submit" value="登录">(提交按钮,点击后提交表单数据到后端)
<button>:按钮标签,可替代 submit 按钮,更灵活,比如:提交。
| 标签 | 作用 |
|---|
![文章配图]() | 图片,核心属性 src、alt |
| 视频 |
| 音频 |
| 链接标签,用于跳转页面(比如跳转到首页、详情页),核心属性 href(跳转地址) |
2.3 HTML 核心基础概念
- 属性(Attribute)
- 通用属性:id(唯一标识)、class(类名,用于样式/脚本)、style(内联样式)、title(提示信息)
- 特有属性:
href(<a>)、src(<img>)、type(<input>)
| 类型 | 特点 | 常见标签 |
|---|
| 块级元素 | 独占一行,默认宽度 100% | |
| 行内元素 | 多个在一行,宽度由内容撑开 | 、、、![文章配图]() |
元素(Element)
一个完整的 HTML 元素通常是:
例如:<a href="https://example.com">点击我</a>
三、CSS:网页的'皮肤',美化与布局
CSS(Cascading Style Sheets,层叠样式表)的核心作用是 美化 HTML 元素、控制页面布局——比如每个区域的位置、尺寸、设置颜色、字体、边距,让页面整齐、美观。
对后端同学来说,重点掌握'如何让 CSS 找到要美化的 HTML 元素'(选择器)和'HTML 如何引入 CSS'(引入方式),就能看懂前端样式代码,甚至能简单修改样式。
3.1 CSS 核心:如何定位 HTML 元素?(选择器)
CSS 要美化 HTML 元素,首先要'找到'这个元素——这就是选择器的作用。选择器是 CSS 的核心,后端同学掌握以下 3 种最常用的选择器,就能应对 80% 的场景。
3.1.1 元素选择器(最基础)
直接通过 HTML 标签名选择元素,作用于页面中所有该标签的元素,比如:
p {
color: #666;
font-size: 14px;
}
input {
border: 1px solid #ddd;
}
3.1.2 类选择器(最常用)
通过 HTML 标签的 class 属性选择元素,可重复使用(多个标签可使用同一个 class),是前端开发中最灵活、最常用的选择器,比如:
<div class="user-card">用户信息</div>
<div class="user-card">另一个用户信息</div>
.user-card {
width: 300px;
height: 150px;
border: 1px solid #eee;
margin: 10px;
}
重点:class 属性可以重复,一个标签也可以有多个 class(用空格分隔),比如:<div class="a b"></div>。
3.1.3 ID 选择器(唯一标识)
通过 HTML 标签的 id 属性选择元素,id 在整个页面中必须唯一(不能重复),常用于选择单个、唯一的元素(比如页面头部、底部),比如:
<div id="header">页面头部</div>
#header {
height: 60px;
background-color: #fff;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
注意:id 不能重复,一个标签只能有一个 id,后端同学在调试时,可通过 id 快速定位单个元素(比如浏览器 F12 查看元素,搜索 id)。
3.1.4 选择器优先级(补充)
当多个 CSS 规则作用于同一个元素时,优先级决定哪个规则生效,优先级顺序(从高到低):ID 选择器 > 类选择器 > 元素选择器,比如:
p { color: #666; }
.text-red { color: red; }
#content { color: blue; }
如果一个 <p>文本</p>,最终文本颜色是蓝色(ID 选择器优先级最高)。
3.2 HTML 如何引入 CSS?(3 种方式)
CSS 不能单独运行,必须依附于 HTML,有 3 种引入方式,其中'外部引入'是前端开发的标准方式,后端同学重点掌握这种。
3.2.1 内联样式(不推荐,仅临时调试用)
直接在 HTML 标签内通过 style 属性写 CSS,仅作用于当前标签,优点是快速、直接,缺点是无法复用、不利于维护,比如:
<p style="color: red; font-size: 16px;">这是红色的文本</p>
3.2.2 内部样式(适合简单页面)
在 HTML 的 <head> 标签内,通过 <style> 标签写 CSS,作用于整个当前页面,优点是不用单独创建 CSS 文件,缺点是无法复用给其他页面,比如:
<head>
<meta charset="UTF-8">
<title>内部样式示例</title>
<style>
p { color: #666; }
.user-card { border: 1px solid #eee; }
</style>
</head>
3.2.3 外部样式(推荐,前端标准方式)
创建单独的 CSS 文件(后缀为.css,比如 style.css),在 HTML 的 <head> 标签内通过 <link> 标签引入,优点是可复用、便于维护(多个页面可引入同一个 CSS 文件),是后端同学最常遇到的方式,比如:
<head>
<meta charset="UTF-8">
<title>外部样式示例</title>
<link rel="stylesheet" href="style.css">
</head>
p { color: #666; }
.user-card { width: 300px; margin: 10px; }
#header { height: 60px; }
重点:href 属性是 CSS 文件的路径,后端同学在调试时,如果样式不生效,首先检查路径是否正确(比如 CSS 文件和 HTML 文件是否在同一目录)。
3.3 CSS 基础常用样式
不用记所有 CSS 样式,掌握以下常用样式,就能看懂前端代码、简单修改样式:
- 字体相关:font-size(字体大小)、color(字体颜色)、font-weight(字体粗细,bold 是加粗)。
- 边距相关:margin(外边距,元素和其他元素的距离)、padding(内边距,元素内部内容和边框的距离)。
- 边框相关:border(边框,比如 1px solid #ddd,宽度 1px、实线、灰色)、border-radius(圆角,比如 5px,让按钮、卡片变圆润)。
- 布局相关:width(宽度)、height(高度)、background-color(背景色)、text-align(文本对齐,center 是居中)。
- 定位相关:float(浮动,left/right,让元素并排显示)、position(定位,relative/absolute,用于固定元素位置,比如顶部导航栏)。
四、HTML+CSS+JS 协同工作:完整前端页面的诞生
后端同学理解三者的协同逻辑,就能彻底明白'前端页面是怎么工作的',也能更好地和前端同学配合、排查前后端交互问题,用一个形象的比喻总结:
- HTML:搭建'房子框架'(比如墙体、门窗的位置),确定哪里是客厅(内容区)、哪里是卧室(表单区)。
- CSS:给'房子装修'(比如刷墙、铺地板、摆家具),让客厅宽敞、卧室舒适,整体美观。
- JS:给'房子装水电、家电'(比如开灯、开水、用空调),让房子能正常使用,实现交互(比如按下开关,灯亮;点击按钮,水开)。
4.1 协同流程(以'登录页面'为例)
- 用 HTML 搭建登录页面结构:
<form> 标签包裹输入框(用户名、密码)和提交按钮,<h1> 标签做页面标题,<div> 划分区域。
- 用 CSS 美化页面:设置输入框的边框、边距,按钮的颜色、圆角,页面的背景色,让登录页面整齐、美观。
- 用 JS 实现交互:
- 监听提交按钮的点击事件;
- 获取输入框中的用户名和密码;
- 发送请求到后端登录接口;
- 接收后端返回的结果(成功/失败),动态修改页面(比如登录失败提示'用户名或密码错误',登录成功跳转到首页)。
微信扫一扫,关注极客日志
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
相关免费在线工具
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown 转 HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
- HTML 转 Markdown
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
- JSON 压缩
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
- JSON美化和格式化
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online