前端零基础入门到上班:【Day5】HTML 和 CSS

news/2024/10/26 7:58:45/

HTML 和 CSS 的完美结合:从基础到进阶

        • 引言
      • 1. HTML 与 CSS 的基础知识
        • 1.1 HTML 概述
          • 常用标签
        • 1.2 CSS 概述
          • 选择器与属性
        • 1.3 HTML 与 CSS 的基本结合
      • 2. HTML 与 CSS 的基本结合
        • 2.1 选择器的使用
          • 2.1.1 元素选择器
          • 2.1.2 类选择器
          • 2.1.3 ID 选择器
          • 2.1.4 组合选择器
        • 2.2 盒模型
          • 2.2.1 盒模型结构
          • 2.2.2 示例
        • 2.3 布局基础
          • 2.3.1 流式布局
          • 2.3.2 固定布局
          • 2.3.3 流动布局
      • 3. CSS 排版与文本样式
        • 3.1 字体与文本样式
          • 3.1.1 字体选择
          • 3.1.2 字体大小与行高
        • 3.2 色彩与背景
          • 3.2.1 颜色表示法
          • 3.2.2 背景设置
      • 4. 进阶布局技术
        • 4.1 Flexbox 布局
          • 4.1.1 基本用法
          • 4.1.2 示例
        • 4.2 Grid 布局
          • 4.2.1 定义 Grid 容器
          • 4.2.2 示例
      • 5. 响应式设计与媒体查询
        • 5.1 响应式设计的基本原则
        • 5.2 媒体查询的使用
      • 6. 实战项目:构建一个响应式网页
        • 6.1 项目概述
        • 6.2 HTML 结构设计
        • 6.3 CSS 样式设计
      • 7. 总结与展望
      • 8. 练习与挑战

引言

html" title=前端>前端开发中,HTML(超文本标记语言)和 CSS(层叠样式表)是构建网页的两大基石。HTML 用于定义网页的结构,而 CSS 则负责网页的视觉样式。掌握这两者的结合,不仅可以提升网页的美观性,还能增强用户体验。无论你是初学者还是有经验的开发者,了解如何有效地使用 HTML 和 CSS 是成为一名出色html" title=前端>前端开发者的关键。

本篇文章将深入探讨 HTML 和 CSS 的基础知识、基本结合、进阶布局技术、响应式设计等内容,帮助你全面理解这两者如何协同工作,打造现代网页。


1. HTML 与 CSS 的基础知识

1.1 HTML 概述

HTML(HyperText Markup Language)是用于创建网页的标准标记语言。它通过标签定义网页的各个部分,包括文本、图像、链接、列表等。以下是 HTML 的基本结构:

html"><!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>我的网页</title>
</head>
<body><h1>欢迎来到我的网页</h1><p>这是一个简单的 HTML 页面示例。</p>
</body>
</html>

在这个示例中,<html> 标签定义了一个 HTML 文档,<head> 标签包含元数据,而 <body> 标签则包含网页的内容。

常用标签
  • 块级元素:如 <div><h1><p><header><footer> 等,这些元素通常会在新的一行开始,并占据整个行宽。
  • 行内元素:如 <span><a><img> 等,这些元素不会在新行开始,只占据其内容所需的宽度。
1.2 CSS 概述

CSS(Cascading Style Sheets)是用于描述 HTML 文档的样式和布局的语言。它使我们能够控制网页的颜色、字体、间距、布局等视觉效果。

选择器与属性
  • 选择器:用于选择 HTML 元素以应用样式的工具。

    • 类型选择器:如 h1, p,选择所有特定类型的元素。
    • 类选择器:如 .classname,选择具有特定类的元素。
    • ID 选择器:如 #idname,选择具有特定 ID 的元素。
  • 属性:用于定义样式的特性。

    • 颜色:如 color: red;
    • 字体:如 font-size: 16px;
    • 边距:如 margin: 10px;
1.3 HTML 与 CSS 的基本结合

HTML 和 CSS 的结合使我们能够创建功能丰富、视觉吸引的网页。使用 CSS 样式化 HTML 元素的基本方法如下:

html"><!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>样式化网页</title><style>css">body {font-family: Arial, sans-serif;background-color: #f4f4f4;}h1 {color: #333;}p {color: #666;line-height: 1.5;}</style>
</head>
<body><h1>欢迎来到我的网页</h1><p>这是一个使用 CSS 样式化的 HTML 页面示例。</p>
</body>
</html>

在这个示例中,CSS 代码被放置在 <style> 标签中,直接嵌入在 HTML 文档的 <head> 部分。


2. HTML 与 CSS 的基本结合

2.1 选择器的使用

选择器是 CSS 的核心,它们定义了哪些元素应该应用特定的样式。以下是一些常用选择器的示例:

2.1.1 元素选择器

用于选择特定类型的 HTML 元素。

css">p {color: blue;
}
2.1.2 类选择器

用于选择具有特定类的元素。类选择器以 . 开头。

css">.red-text {color: red;
}
html"><p class="red-text">这是红色文本。</p>
2.1.3 ID 选择器

用于选择具有特定 ID 的元素。ID 选择器以 # 开头。

css">#header {background-color: green;color: white;
}
html"><div id="header">这是标题</div>
2.1.4 组合选择器

组合选择器允许我们选择特定类型元素的特定类或 ID。

css">h1.red-text {color: red;
}
html"><h1 class="red-text">这是红色标题</h1>
2.2 盒模型

理解 CSS 盒模型对网页布局至关重要。盒模型定义了网页元素的布局结构,包括内容、内边距、边框和外边距。

2.2.1 盒模型结构
  • 内容区:元素实际显示的内容。
  • 内边距(padding):内容与边框之间的空间。
  • 边框(border):包围内容和内边距的边框。
  • 外边距(margin):元素与其他元素之间的空间。
2.2.2 示例
css">.box {width: 300px;padding: 20px;border: 5px solid black;margin: 10px;
}
html"><div class="box">这是一个盒子模型示例。</div>

在此示例中,盒子的实际宽度为 300px,加上内边距、边框和外边距,整体占据的空间会更大。

2.3 布局基础

CSS 提供了多种布局方式,以满足不同的设计需求。

2.3.1 流式布局

流式布局是网页布局的默认方式,元素按照文档流顺序排列。

2.3.2 固定布局

固定布局是通过指定宽度来创建的。元素的大小不会随窗口大小变化而变化。

css">.fixed {width: 800px;margin: 0 auto;
}
2.3.3 流动布局

流动布局允许元素根据可用空间的变化而调整大小,通常用于响应式设计。

css">.container {display: flex;flex-wrap: wrap;
}

3. CSS 排版与文本样式

3.1 字体与文本样式

正确的排版能够提升网页的可读性和美观性。

3.1.1 字体选择

使用 Google Fonts 等外部字体资源,可以提高网页的视觉吸引力。

html"><link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
<style>css">body {font-family: 'Roboto', sans-serif;}
</style>
3.1.2 字体大小与行高

设置字体大小和行高可以显著提高文本的可读性。

css">p {font-size: 16px;line-height: 1.6;
}
3.2 色彩与背景

色彩和背景的选择直接影响网页的美观程度和用户体验。

3.2.1 颜色表示法

颜色可以通过 RGB、HEX 或 HSL 表示。

css">h1 {color: #3498db; /* HEX */
}
p {color: rgb(52, 152, 219); /* RGB */
}
3.2.2 背景设置

背景颜色和背景图片可以增强网页的视觉效果。

css">body {background-color: #ecf0f1; /* 背景颜色 */background-image: url('background.jpg'); /* 背景图片 */background-size: cover; /* 使背景图覆盖整个元素 */
}

4. 进阶布局技术

4.1 Flexbox 布局

Flexbox 是一种一维布局模型,使元素能够在容器内灵活排列。

4.1.1 基本用法
css">.container {display: flex;justify-content: space-between; /* 元素之间的间距均匀分布 */align-items: center; /* 垂直方向居中对齐 */
}
4.1.2 示例
html"><div class="container"><div>元素 1</div><div>元素 2</div><div>元素 3</div>
</div>

在这个示例中,三个元素将在容器中水平排列并均匀分布。

4.2 Grid 布局

Grid 是一种二维布局模型,适用于复杂的布局。

4.2.1 定义 Grid 容器
css">.grid-container {display: grid;grid-template-columns: repeat(3, 1fr); /* 创建三列 */gap: 10px; /* 设置间距 */
}
4.2.2 示例
html"><div class="grid-container"><div>网格 1</div><div>网格 2</div><div>网格 3</div>
</div>

在这个示例中,三个元素将在一个网格中均匀分布。


5. 响应式设计与媒体查询

5.1 响应式设计的基本原则

响应式设计确保网页在不同设备上均能良好显示,适应各种屏幕尺寸。

5.2 媒体查询的使用

媒体查询允许根据设备特征(如宽度、高度)应用不同的样式。

css">@media (max-width: 600px) {.container {flex-direction: column; /* 在小屏幕上变为垂直布局 */}
}

6. 实战项目:构建一个响应式网页

6.1 项目概述

本项目将创建一个包含导航栏、内容区和 footer 的响应式网页。

6.2 HTML 结构设计
html"><!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>响应式网页</title><link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet"><style>css">/* CSS 样式将在此处编写 */</style>
</head>
<body><header><nav><ul><li><a href="#">首页</a></li><li><a href="#">关于我们</a></li><li><a href="#">联系</a></li></ul></nav></header><main><h1>欢迎来到我的响应式网页</h1><p>这里是内容区域。</p></main><footer><p>版权所有 &copy; 2024</p></footer>
</body>
</html>
6.3 CSS 样式设计
css">body {font-family: 'Roboto', sans-serif;margin: 0;padding: 0;
}header {background-color: #3498db;color: white;padding: 10px 20px;
}nav ul {list-style-type: none;margin: 0;padding: 0;display: flex;justify-content: space-around;
}nav a {color: white;text-decoration: none;
}main {padding: 20px;
}footer {background-color: #2c3e50;color: white;text-align: center;padding: 10px 0;position: relative;bottom: 0;width: 100%;
}@media (max-width: 600px) {nav ul {flex-direction: column; /* 垂直布局 */align-items: center;}
}

7. 总结与展望

通过本篇文章的学习,你已经了解了 HTML 和 CSS 的基础知识、基本结合、进阶布局技术和响应式设计的关键概念。掌握这些知识,将为你在html" title=前端>前端开发领域的进一步学习打下坚实基础。

在未来的学习中,可以继续探索更高级的 CSS 特性,如 CSS 变量、预处理器(如 SASS 和 LESS)、动画与过渡等,以提升网页的互动性和视觉吸引力。


8. 练习与挑战

为了巩固所学知识,以下是一些练习题和挑战:

  1. 尝试创建一个带有多个段落和图片的网页,并为每个元素应用不同的 CSS 样式。
  2. 使用 Flexbox 布局设计一个简单的照片库,确保在不同屏幕尺寸下均可良好显示。
  3. 创建一个响应式导航栏,包含多个链接,确保在移动设备上友好显示。

希望通过本篇文章,你能更好地理解 HTML 和 CSS 的结合,提升网页开发技能。如果你有任何问题或反馈,欢迎留言讨论!


http://www.ppmy.cn/news/1542051.html

相关文章

WebView渲染异常导致闪退解决方案

背景&#xff1a; App主页面使用了大量WebView容器(10个以上)显示图表信息&#xff0c;最新发现bugly上面出现一些关于浏览器Native Crash&#xff0c;如下&#xff1a; 经排查&#xff0c;是WebView渲染失败导致Crash&#xff0c;可以通过webView.loadUrl("chrome://cra…

【赵渝强老师】Hive的内部表与外部表

Hive是基于HDFS之上的数据仓库&#xff0c;它把所有的数据存储在HDFS中&#xff0c;Hive并没有专门的数据存储格式。当在Hive中创建了表&#xff0c;可以使用load语句将本地或者HDFS上的数据加载到表中&#xff0c;从而使用SQL语句进行分析和处理。 Hive的数据模型主要是指Hiv…

Halcon 多相机统一坐标系(标定)

多相机统一坐标系是指将多个不同位置的相机的图像采集到同一个坐标系下进行处理和分析的方法。 在计算机视觉和机器视觉领域中&#xff0c;多相机统一坐标系被广泛应用于三维重建、立体视觉、目标跟踪等任务中。 以gen_binocular_rectification_map&#xff08;生成描述图像映…

React六官方文档总结三脱围机制

代码下载 React官网已经都是函数式组件文档&#xff0c;没有类组件文档&#xff0c;但是还是支持类组件这种写法。 脱围机制 ref 引用值 当希望组件“记住”某些信息&#xff0c;但又不想让这些信息 触发新的渲染 时&#xff0c;可以使用 ref 。 给组件添加 ref 1、通过从…

从0开始深度学习(14)——模型选择、欠拟合、过拟合

① 模型在训练数据上拟合的比在潜在分布中更接近的现象&#xff0c;就叫过拟合&#xff08;overfitting&#xff09; ② 用于对抗过拟合的技术称为正则化&#xff08;regularization&#xff09; 1 训练误差和泛化误差 ①训练误差&#xff08;training error&#xff09;&…

【linux】ELKB安装token过期

问题 elastic启动时候生成的token 有效期只有30分钟。 30分钟后提示&#xff1a; Couldnt configure Elastic Generate a new enrollment token or configure manually. 解决 进入安装目录 cd /usr/local/elasticsearch/elasticsearch-8.8.1/binll 重新生成 ./elasticsear…

python主流框架Django:ORM框架关联查询与管理器

目录 注意 使用前要调用之前的模型类 F对象 Q对象 聚合函数 排序 关联查询(连表查询) 修改 删除 查询集 QuerySet 注意 使用前要调用之前的模型类 F对象 之前的查询都是对象的属性与常量值比较&#xff0c;两个属性怎么比较呢&#xff1f; 答&#xff1a;使用 "F对象&quo…

高并发场景下解决并发数据不一致

简单的场景: 全量数据更新的情况下, 不在乎同一秒的请求都必须要成功, 只留下最新的更新请求数据 方案常用的是 1、数据库增加时间戳标识实现的乐观锁, 请求参数从源头带上微秒或者毫秒时间戳数据库存储, 然后在更新SQL语句上比较 (数据库的时间 < 参数传递的时间) 例如: A…