HTML
定义
HTML(超文本标记语言)是用来描述网页结构的标记语言。
- 它用标签(带角号标签 例如)来定义页面的各个部分,比如标题、段落、图片、链接等。
- HTML 本身不负责样式和交互,样式由 CSS 负责,交互由 JavaScript 负责。
基本结构
一个标准的 HTML5 页面结构如下:
<!DOCTYPE html>
< =>
页面标题
这是一级标题
这是一个段落。
Web前端开发的基础知识,涵盖HTML结构定义、CSS样式布局及JavaScript交互逻辑。内容包括HTML基本标签与文档结构,CSS选择器、盒模型、Flex/Grid布局及响应式设计,以及JavaScript变量、数据类型、DOM操作等核心语法。适合初学者快速掌握前端“三剑客”的基本用法与最佳实践。
HTML(超文本标记语言)是用来描述网页结构的标记语言。
一个标准的 HTML5 页面结构如下:
<!DOCTYPE html>
< =>
页面标题
这是一级标题
这是一个段落。
CSS(层叠样式表)是用来描述 HTML 或 XML 文档样式的语言。
它控制网页的外观:颜色、字体、布局、间距、动画等。 CSS 与 HTML 分工明确:HTML 负责结构,CSS 负责样式。
CSS 规则由选择器和声明块组成:
选择器 { 属性名:属性值; 属性名:属性值; }
示例:
p {
color: red;
font-size: 16px;
}
" 标签。
直接在 HTML 标签中用 "style" 属性定义样式:
<p>这是蓝色文字</p>
在 "" 中用 "" 标签定义样式:
<head>
<style>
p {
color: green;
font-size: 16px;
}
</style>
</head>
将 CSS 代码保存在独立的 ".css" 文件中,通过 "" 标签引入:
<head>
<link rel="stylesheet" href="styles.css">
</head>
styles.css 文件内容:
p {
color: purple;
font-size: 18px;
}
选择器用于选中需要应用样式的 HTML 元素。
" 标签)。
")。
")。
")。
")。
每个 HTML 元素都可以看作一个矩形盒子,由四部分组成:
示例:
box {
width: 200px; /* 内容宽度 */
height: 100px; /* 内容高度 */
padding: 20px; /* 内边距 */
border: 5px solid black; /* 边框 */
margin: 30px; /* 外边距 */
}
总宽度 = "width + padding-left + padding-right + border-left + border-right + margin-left + margin-right"。
CSS 提供了多种布局方式,常见的有:
默认布局方式,元素按照 HTML 顺序从上到下、从左到右排列。
适用于一维布局(行或列):
.container {
display: flex;
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
}
适用于二维布局(行和列):
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr; /* 三列等宽 */
gap: 10px; /* 网格间距 */
}
早期用于图文混排,现在逐渐被 Flexbox 和 Grid 取代:
img {
float: left; /* 图片左浮动 */
margin-right: 10px;
}
控制元素的位置:
"static":默认值,正常流。 "relative":相对定位,相对于自身原位置偏移。 "absolute":绝对定位,相对于最近的定位祖先元素。 "fixed":固定定位,相对于浏览器窗口。 "sticky":粘性定位,滚动时在阈值范围内固定。
让网页在不同设备上自适应显示:
根据屏幕尺寸应用不同样式:
/* 默认样式(手机) */
.container {
width: 100%;
}
/* 平板及以上 */
@media (min-width: 768px) {
.container {
width: 750px;
}
}
/* 桌面及以上 */
@media (min-width: 1200px) {
.container {
width: 1170px;
}
}
"%":相对于父元素尺寸。 "em":相对于当前元素字体大小。 "rem":相对于根元素("")字体大小。 "vw/vh":相对于视口宽度/高度的 1%。
CSS 预处理器扩展了 CSS 的功能,如变量、嵌套、混合等:
// 变量
$primary-color: #007BFF;
// 嵌套
.nav {
ul {
margin: 0;
padding: 0;
list-style: none;
li {
display: inline-block;
a {
color: $primary-color;
&:hover {
color: darken($primary-color, 10%);
}
}
}
}
}
编译后会生成标准 CSS。
平滑改变属性值:
.button {
transition: background-color 0.3s ease;
}
.button:hover {
background-color: #0056b3;
}
定义关键帧动画:
@keyframes slidein {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0);
}
}
.element {
animation: slidein 0.5s ease-out;
}
JavaScript(简称 JS)是一种脚本语言,主要用于为网页添加交互功能。
在 HTML 标签中直接使用 "onclick" 等事件属性:
<button onclick="alert('Hello')">点击</button>
在 "
console.log('页面加载完成');
将 JS 代码保存在 ".js" 文件中,通过 "" 引入:
<script src="app.js"></script>
let name = 'Alice';
const age = 25;
let str = "Hello";
let num = 42;
let isDone = true;
let obj = { key: "value" };
let arr = [1, 2, 3];
if (age >= 18) {
console.log("成年人");
} else {
console.log("未成年人");
}
// for 循环
for (let i = 0; i < 5; i++) {
console.log(i);
}
// while 循环
let j = 0;
while (j < 5) {
console.log(j);
j++;
}
函数是可重复使用的代码块。
function greet(name) {
return "Hello, " + name;
}
console.log(greet("Bob")); // Hello, Bob
const add = (a, b) => a + b;
console.log(add(2, 3)); // 5
let person = {
name: "Alice",
age: 25,
sayHi: function() {
console.log("Hi, I'm " + this.name);
}
};
person.sayHi(); // Hi, I'm Alice
let fruits = ["apple", "banana", "orange"];
fruits.push("grape"); // 添加元素
console.log(fruits[1]); // banana
DOM(Document Object Model)是 HTML 文档的对象表示,JS 可以通过 DOM API 操作页面元素。
let title = document.getElementById("title");
let items = document.querySelectorAll(".item");
title.textContent = "新标题";
title.style.color = "red";
let btn = document.querySelector("button");
btn.addEventListener("click", function() {
alert("按钮被点击");
});
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>页面标题</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>网站标题</h1>
</header>
<main>
<p>这是一个段落。</p>
</main>
<footer>
<p>版权 © 2026</p>
</footer>
<script src="app.js"></script>
</body>
</html>
/* 重置默认边距 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: Arial, sans-serif;
line-height: 1.6;
background-color: #f4f4f4;
}
.container {
width: 80%;
margin: 0 auto;
padding: 20px;
}
.btn {
display: inline-block;
padding: 10px 20px;
background: #007BFF;
color: white;
text-decoration: none;
border-radius: 5px;
transition: background 0.3s;
}
.btn:hover {
background: #0056b3;
}
// 获取元素
const btn = document.querySelector('.btn');
const output = document.getElementById('output');
// 事件监听
btn.addEventListener('click', () => {
output.textContent = '按钮被点击了!';
});
// 定时器
setTimeout(() => {
console.log('3秒后执行');
}, 3000);
// 数组操作
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(n => n * 2);
console.log(doubled); // [2, 4, 6, 8, 10]

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online