当前位置: 首页 > backend >正文

day25——HTML CSS 前端开发

文章目录

    • 一、HTML基础:网页结构之本
      • 1. 元素解剖学
      • 2. 文档结构框架
    • 二、HTML核心元素详解
      • 1. 文本内容元素
      • 2. 多媒体元素
      • 3. 表格元素
    • 三、表单:用户交互核心
      • 1. 表单基础结构
      • 2. 常用表单项类型
      • 3. 表单数据格式对比
    • 四、CSS:样式与布局艺术
      • 1. 样式引入方式
      • 2. 核心选择器系统
      • 3. 盒子模型详解
      • 4. 布局技术演进
        • 传统布局
        • 现代布局
      • 5. 响应式设计核心
    • 五、最佳实践指南
      • 1. 语义化HTML原则
      • 2. CSS架构建议
      • 3. 性能优化策略
      • 4. 调试与验证工具
    • 六、学习资源推荐

本文全面梳理HTML与CSS核心知识点,涵盖语法规则、常用元素、布局技术及最佳实践,帮助开发者构建语义化、响应式的现代网页

一、HTML基础:网页结构之本

1. 元素解剖学

<!-- 完整元素结构 -->
<元素名 属性名="属性值">内容</元素名><!-- 空元素简写 -->
<img src="logo.png" alt="Logo">

元素特征

  • 标签对包围内容(开始标签+结束标签)
  • 属性提供附加信息(名称/值对)
  • 空元素可自闭合(如<img><br>
  • 嵌套规则:正确嵌套(<p><b>文本</b></p>),避免交叉(<p><b>文本</p></b>

2. 文档结构框架

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>页面标题</title><link rel="stylesheet" href="styles.css">
</head>
<body><!-- 可见内容区域 --><header>页眉</header><main>主体内容</main><footer>页脚</footer>
</body>
</html>

关键区域

  • <!DOCTYPE html>:声明HTML5文档
  • <head>:元数据容器(不可见内容)
  • <body>:可视化内容容器
  • 语义化标签<header><nav><main><article><section><footer>

二、HTML核心元素详解

1. 文本内容元素

<!-- 标题分级 -->
<h1>主标题</h1> 
<h2>二级标题</h2>
...
<h6>六级标题</h6><!-- 段落与格式 -->
<p>普通段落 <em>强调文本</em></p>
<p><strong>重要内容</strong> <mark>标记文本</mark></p><!-- 列表系统 -->
<ul><li>无序列表项</li>
</ul><ol><li>有序列表项</li>
</ol><dl><dt>定义术语</dt><dd>术语描述</dd>
</dl>

2. 多媒体元素

<!-- 图像元素 -->
<img src="image.jpg" alt="替代文本" width="600" height="400"><!-- 视频播放器 -->
<video controls width="800"><source src="movie.mp4" type="video/mp4">您的浏览器不支持视频标签
</video><!-- 音频播放器 -->
<audio controls><source src="audio.mp3" type="audio/mpeg">
</audio>

路径类型

  • 绝对路径https://example.com/images/logo.png
  • 相对路径
    • images/photo.jpg(同级目录)
    • ../assets/icon.png(上级目录)

3. 表格元素

在这里插入图片描述

<table border="1"><caption>员工信息表</caption><thead><tr><th>姓名</th><th>职位</th></tr></thead><tbody><tr><td>张三</td><td>前端工程师</td></tr></tbody><tfoot><tr><td colspan="2">共1人</td></tr></tfoot>
</table>

表格结构

  • <table>:表格容器
  • <caption>:表格标题
  • <thead>/<tbody>/<tfoot>:语义化分区
  • <tr>:表格行
  • <th>:表头单元格
  • <td>:标准单元格

三、表单:用户交互核心

在这里插入图片描述

1. 表单基础结构

<form action="/submit" method="POST" enctype="application/x-www-form-urlencoded"><!-- 表单项 --><input type="submit" value="提交">
</form>

关键属性

  • action:数据提交目标URL
  • method:HTTP方法(GET/POST)
  • enctype:编码类型
    • application/x-www-form-urlencoded(默认)
    • multipart/form-data(文件上传)

2. 常用表单项类型

<!-- 文本输入 -->
<input type="text" name="username" placeholder="用户名"><!-- 选择控件 -->
<select name="city"><option value="bj">北京</option><option value="sh">上海</option>
</select><!-- 单选/复选框 -->
<input type="radio" name="gender" value="male"><input type="checkbox" name="hobby" value="reading"> 阅读<!-- 按钮组 -->
<button type="submit">提交</button>
<button type="reset">重置</button>
<button type="button">普通按钮</button><!-- 文本域 -->
<textarea name="comment" rows="4" cols="50"></textarea>

3. 表单数据格式对比

编码类型格式示例适用场景
application/x-www-form-urlencodedname=John&age=30文本数据提交
multipart/form-data多部分边界分隔数据文件上传
application/json{"name":"John","age":30}AJAX API请求

四、CSS:样式与布局艺术

1. 样式引入方式

<!-- 内联样式(不推荐) -->
<p style="color: red;">文本</p><!-- 内部样式表 -->
<style>p {color: blue;}
</style><!-- 外部样式表(最佳实践) -->
<link rel="stylesheet" href="styles.css">

2. 核心选择器系统

/* 元素选择器 */
p {font-size: 16px;
}/* 类选择器 */
.highlight {background-color: yellow;
}/* ID选择器 */
#main-header {border-bottom: 1px solid #ccc;
}/* 属性选择器 */
input[type="text"] {border: 1px solid #999;
}/* 伪类选择器 */
a:hover {color: red;
}

在这里插入图片描述

选择器优先级

  1. !important
  2. 内联样式(1000)
  3. ID选择器(100)
  4. 类/属性/伪类选择器(10)
  5. 元素/伪元素选择器(1)

3. 盒子模型详解

在这里插入图片描述

.box {width: 300px;         /* 内容宽度 */height: 200px;        /* 内容高度 */padding: 20px;        /* 内边距 */border: 5px solid #000; /* 边框 */margin: 15px;         /* 外边距 */box-sizing: border-box; /* 盒模型计算方式 */
}
元素
Content 内容
Padding 内边距
Border 边框
Margin 外边距

4. 布局技术演进

传统布局
/* 浮动布局 */
.float-left {float: left;width: 50%;
}.clearfix::after {content: '';display: block;clear: both;
}/* 定位布局 */
.position-relative {position: relative;top: 10px;left: 20px;
}.position-absolute {position: absolute;top: 0;right: 0;
}
现代布局
/* Flexbox布局 */
.container {display: flex;justify-content: space-between;align-items: center;
}.item {flex: 1;
}/* Grid网格布局 */
.grid-container {display: grid;grid-template-columns: 1fr 2fr 1fr;gap: 20px;
}

5. 响应式设计核心

/* 媒体查询 */
@media (max-width: 768px) {.sidebar {display: none;}.content {width: 100%;}
}/* 流动布局 */
.container {max-width: 1200px;margin: 0 auto;
}/* 响应式图片 */
img {max-width: 100%;height: auto;
}

五、最佳实践指南

1. 语义化HTML原则

  • 使用恰当的内容标签(<article><nav>等)
  • 避免<div>滥用
  • 为图像添加有意义的alt属性
  • 使用<label>关联表单元素

2. CSS架构建议

  • 采用BEM命名规范(Block__Element–Modifier)
  • 创建模块化CSS组件
  • 使用CSS变量统一设计系统
  • 遵循层叠顺序管理

3. 性能优化策略

/* 使用高效选择器 */
/* 避免 */
div ul li a {...}/* 推荐 */
.nav-link {...}/* 精简代码 */
/* 避免 */
padding-top: 10px;
padding-right: 10px;
padding-bottom: 10px;
padding-left: 10px;/* 推荐 */
padding: 10px;/* 使用CSS精灵图 */
.icon-home {background: url('sprite.png') -10px -20px;width: 20px;height: 20px;
}

4. 调试与验证工具

  • 浏览器开发者工具:Chrome DevTools/Firefox Developer Edition
  • HTML验证器:W3C Markup Validation Service
  • CSS验证器:W3C CSS Validation Service
  • 跨浏览器测试:BrowserStack/Sauce Labs

六、学习资源推荐

  • 官方文档:MDN Web Docs (developer.mozilla.org)
  • 交互教程:FreeCodeCamp、Codecademy
  • 视觉参考:CSS-Tricks、Codepen
  • 框架基础:Bootstrap文档、Tailwind CSS文档
  • 设计系统:Material Design、Ant Design规范

HTML与CSS是Web开发的基石,掌握它们不仅是前端开发的基础,也是理解现代Web应用架构的关键。通过语义化的HTML结构、精心设计的CSS样式和响应式布局技术,开发者可以创建出既美观又功能强大的Web体验。

http://www.xdnf.cn/news/16619.html

相关文章:

  • 一款基于 ReactNative 最新发布的`Android/iOS` 新架构文档预览开源库
  • 【AI 数据管理】Text2SQL:当AI成为你和数据库之间的金牌“翻译官”
  • 如何将JPG、PNG、GIF图像转换成PDF、SVG、EPS矢量图像
  • rabbitmq--默认模式(点对点)
  • 应用药品 GMP 证书识别技术,实现证书信息的自动化、精准化提取与核验
  • 【动态规划算法】斐波那契数列模型
  • Linux730 tr:-d /-s;sort:-r,-n,-R,-o,-t,-k,-u;bash;cut:-d,-c;tee -a;uniq -c -i
  • 独立站如何吃掉平台蛋糕?DTC模式下的成本重构与利润跃升
  • sqli-labs:Less-6关卡详细解析
  • KONG API Gateway中的核心概念
  • 图像处理中级篇 [1]—— 彩色照相机的效果与预处理
  • SpringBoot之整合SSM步骤
  • PHP语法高级篇(七):MySQL数据库
  • [论文阅读] 人工智能 + 软件工程 | 增强RESTful API测试:针对MongoDB的搜索式模糊测试新方法
  • 【LINUX网络】使用TCP简易通信
  • 【STM32-HAL】 SPI通信与Flash数据写入实战
  • 国产化再进一步,杰和科技推出搭载国产芯片的主板
  • 【CF】Day115——杂题 (构造 | 区间DP | 思维 + 贪心 | 图论 + 博弈论 | 构造 + 位运算 | 贪心 + 构造 | 计数DP)
  • 代码随想录算法训练营第五十五天|图论part5
  • 【音视频】WebRTC-Web 音视频采集与播放
  • 如何利用 Redis 的原子操作(INCR, DECR)实现分布式计数器?
  • CSS-in-JS 动态主题切换与首屏渲染优化
  • IBM Watsonx BI:AI赋能的下一代商业智能平台
  • 领域驱动设计(DDD)在分布式系统中的架构实践
  • jenkins连接docker失败【还是没解决】
  • 基于SpringBoot+MyBatis+MySQL+VUE实现的便利店信息管理系统(附源码+数据库+毕业论文+远程部署)
  • 计算机网络基础(一) --- (网络通信三要素)
  • 【C++算法】77.优先级队列_数据流的中位数
  • PHP云原生架构:容器化、Kubernetes与Serverless实践
  • 机器学习笔记(四)——聚类算法KNN、Kmeans、Dbscan