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

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

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


1. HTML 与 CSS 的基础知识

1.1 HTML 概述

HTML(HyperText Markup Language)是用于创建网页的标准标记语言。它通过标签定义网页的各个部分,包括文本、图像、链接、列表等。以下是 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 元素的基本方法如下:

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>样式化网页</title><style>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 元素。

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

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

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

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

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

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

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

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

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

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

2.3 布局基础

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

2.3.1 流式布局

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

2.3.2 固定布局

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

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

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

.container {display: flex;flex-wrap: wrap;
}

3. CSS 排版与文本样式

3.1 字体与文本样式

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

3.1.1 字体选择

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

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

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

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

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

3.2.1 颜色表示法

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

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

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

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

4. 进阶布局技术

4.1 Flexbox 布局

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

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

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

4.2 Grid 布局

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

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

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


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

5.1 响应式设计的基本原则

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

5.2 媒体查询的使用

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

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

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

6.1 项目概述

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

6.2 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 样式将在此处编写 */</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 样式设计
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 的基础知识、基本结合、进阶布局技术和响应式设计的关键概念。掌握这些知识,将为你在前端开发领域的进一步学习打下坚实基础。

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


8. 练习与挑战

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core开发Chatbot API

本文介绍基于ASP.NET Core的Chatbot Restful API开发&#xff0c;通过调用大语言模型的SDK&#xff0c;完成一个简单的示例。并且通过容器化进行部署. 安装 首先需要安装.NET环境&#xff0c;笔者在Ubuntu 22.04通过二进制包进行安装&#xff0c;Windows和Mac下都有installer…

终止,半成收入来自海外,收入可持续性被质疑

芬尼科技终止原因如下&#xff1a;芬尼科技4年期间经历了两次IPO失败&#xff0c;公司半成收入来自海外&#xff0c;然而公司泳池收入面临欧洲地区冲突冲击及德国新节能措施影响。交易所质疑其收入是否具有可持续性。 作者&#xff1a;Eric 来源&#xff1a;IPO魔女 9月25日&a…

使用HIP和OpenMP卸载的Jacobi求解器

Jacobi Solver with HIP and OpenMP offloading — ROCm Blogs (amd.com) 作者&#xff1a;Asitav Mishra, Rajat Arora, Justin Chang 发布日期&#xff1a;2023年9月15日 Jacobi方法作为求解偏微分方程&#xff08;PDE&#xff09;的基本迭代线性求解器在高性能计算&#xff…

Webserver(2)GCC

目录 安装GCCVScode远程连接到虚拟机编写代码gcc编译过程gcc与g的区别Xftp连接虚拟机上传文件 安装GCC sudo apt install gcc g查看版本是7.5 touch test.c创建代码 但是在虚拟机中写代码很不方便 VScode远程连接到虚拟机编写代码 gcc test.c -o app在虚拟机中用gcc编译的…

AtCoder ABC376A-D题解

个人觉得 ABC 变得越来越难了/kk/kk/kk 比赛链接:ABC376 Problem A: Code #include <bits/stdc.h> using namespace std; int main(){int N,C;cin>>N>>C;for(int i1;i<N;i)cin>>T[i];int ans0,pre-1e5;for(int i1;i<N;i){if(T[i]-pre>C){…

APP专项测试-冷启动-流量-电量-内存

1、响应时间 1.1怎么获取冷启动时间&#xff08;热启动&#xff0c;就是后台不关后台再次打开&#xff09; 方法一 1.2怎么获取包名 与 启动页 方法三soloPi&#xff1a;启动时间(用户角度出发&#xff0c;页面差异进行计算时间)&#xff1a; 然后默认配置。点击开始录制 1开…

未来汽车驾驶还会有趣吗?车辆动力学系统简史

未来汽车驾驶还会有趣吗&#xff1f;车辆动力学系统简史 本篇文章来源&#xff1a;Schmidt, F., Knig, L. (2020). Will driving still be fun in the future? Vehicle dynamics systems through the ages. In: Pfeffer, P. (eds) 10th International Munich Chassis Symposiu…

高边坡稳定安全监测预警系统解决方案

一、项目背景 高边坡的滑坡和崩塌是一种常见的自然地质灾害&#xff0c;一但发生而没有提前预告将给人民的生命财产和社会危害产生严重影响。对高边坡可能产生的灾害提前预警、必将有利于决策者采取应对措施、减少和降低灾害造成的损失。现有的高边坡监测技术有人工巡查和利用测…

python3的基本数据类型:字符串的其他操作

一. 简介 前面文章学习了 python3 中字符串的创建&#xff0c;连接与转化。文章如下&#xff1a; 本文继续来学习 python3 中字符串的其他操作。 二. python3 的基本数据类型&#xff1a;字符串的其他操作 1. 字符转义 python3 中使用反斜杠 \ 转义特殊字符&#xff0c;它…

Docker 搭建mysql

拉取mysql镜像 docker pull mysql # 拉取镜像 [rooteason ~]# docker pull mysql Using default tag: latest latest: Pulling from library/mysql 72a69066d2fe: Pull complete 93619dbc5b36: Pull complete 99da31dd6142: Pull complete 626033c43d70: Pull complete 37d…

JavaEE----多线程(二)

文章目录 1.进程的状态2.线程的安全引入3.线程安全的问题产生原因4.synchronized关键字的引入4.1修饰代码块4.2修饰实例方法4.3修饰静态方法4.4对象头介绍4.5死锁-可重入的特性 5.关于死锁的分析总结5.1死锁的分析5.2死锁成因的必要条件5.3死锁的解决方案 1.进程的状态 public…

网站被浏览器提示“不安全”,如何快速解决

当网站被浏览器提示“不安全”时&#xff0c;这通常意味着网站存在某些安全隐患&#xff0c;需要立即采取措施进行解决。 一、具体原因如下&#xff1a; 1.如果网站使用的是HTTP协议&#xff0c;应立即升级HTTPS。HTTPS通过使用SSL证书加密来保护数据传输&#xff0c;提高了网…

leetcode 504.七进制数

1.题目要求: 2.题目代码: class Solution { public:string convertToBase7(int num) {string s;int n abs(num);if(num 0){s.push_back(0);return s;}//采用迭代法&#xff0c;对基数进行求余while(n){s.push_back(n % 7 0);n / 7;}if(num < 0){s.push_back(-);}//反转字…

java对接U9C接口

使用java对接U9C的svn接口&#xff0c;说起来也不复杂&#xff0c;走过了路才敢这么说&#xff0c;大致步骤如下&#xff1a; 1.找到接口地址 http://U9地址/Services/***.svc,打开接口地址&#xff0c;如下显示为正常 2.确定需要的参数 接口开发前需要大致了解哪些是必须的…

Flux危,SD 3.5王者归来!个人可以免费商用!

StabilityAI最新发布了Stable Diffusion 3.5&#xff0c;这次公开发布包括多个模型&#xff0c;包括Stable Diffusion 3.5 Large和Stable Diffusion 3.5 Large Turbo。此外&#xff0c;Stable Diffusion 3.5 Medium将于10月29日发布。这些模型因其大小而具有高度的可定制性&…

状态栏黑底白字后如何实现圆角以及固定状态栏

如何实现如下效果: 上述是将状态栏实现黑底白字+圆角+状态栏固定的逻辑 具体代码patch如下: From 6a3b8ed5d3f49a38d8f9d3e488314a66ef5576b8 Mon Sep 17 00:00:00 2001 From: andrew.hu <andrew.hu@quectel.com> Date: Fri, 18 Oct 2024 16:43:49 +0800 Subject: [P…

跟《经济学人》学英文:2024年10月19日这期 Why the world is so animated about anime

Why the world is so animated about anime Japan’s cartoons have conquered its screens, and more 为什么世界对动漫如此热衷 animated&#xff1a;热衷的&#xff1b;生动的&#xff1b;活泼的&#xff1b;活跃的 anime&#xff1a;美 [ˈnɪmeɪ] 动漫 原文&#xff…

Java程序员如何获得高并发经验?

高并发编程 提到并发编程很多人就会头疼了&#xff1b;首先就是一些基础概念&#xff1a;并发&#xff0c;并行&#xff0c;同步&#xff0c;异步&#xff0c;临界区&#xff0c;阻塞&#xff0c;非阻塞还有各种锁全都砸你脸上&#xff0c;随之而来的就是要保证程序运行时关键…

海外著名新闻门户媒体软文发稿之华盛顿独立报-大舍传媒

在当今全球化的时代&#xff0c;信息传播的速度和范围达到了前所未有的程度。对于企业和个人而言&#xff0c;如何在国际舞台上有效地展示自己、传递信息&#xff0c;成为了一项至关重要的任务。而海外媒体发稿&#xff0c;特别是通过像华盛顿独立报这样的知名新闻门户&#xf…

宝塔安装RabbitMQ失败解决方法|宝塔安装RabbitMQ提示elang环境没有解决方法

目录 一、前言二、问题排查三、问题解决四、再次修改密码 一、前言 安装完宝塔&#xff0c;然后在软件商店安装RabbitMQ的时候&#xff0c;安装完一直显示RabbitMQ未启动 服务器&#xff1a;阿里云 系统&#xff1a;Alibaba Cloud Linux 3.2104 LTS 64位 二、问题排查 安装完…