成为 Web 开发人员的完整指南:第 1 部分

举报
Q神 发表于 2023/06/16 21:50:35 2023/06/16
【摘要】 欢迎阅读“成为 Web 开发人员的完整指南”。在这个全面的系列中,我们深入到令人兴奋的 Web 开发世界,并为您提供在该领域成功踏上旅程所需的所有基本知识和技能。目录网页开发简介互联网的工作原理:简单概述深入 HTML:您网站的骨架CSS:为您的网站添加样式语义 HTML 的力量深入 HTML5 中的语义元素HTML5 API用简单的术语解释互联网从您的设备到世界:数据如何传播服务器和客户端...

欢迎阅读“成为 Web 开发人员的完整指南”。在这个全面的系列中,我们深入到令人兴奋的 Web 开发世界,并为您提供在该领域成功踏上旅程所需的所有基本知识和技能。



目录

网页开发简介

在这里,创造力与技术技能相遇,您可以将您的想法变为现实并与世界分享。让我们通过探索互联网工作原理的基础知识并掌握 HTML 和CSS(Web 开发的构建块)来开始我们成为 Web 开发人员的旅程。

互联网的工作原理:简单概述

将互联网想象成一个由相互连接的设备组成的巨大网络,每个设备都在发送和接收信息。当您在浏览器中键入 URL 时,您就是通过该 Web 向拥有您要查看的网站的服务器发送请求。服务器通过发回网站数据做出响应,然后您的浏览器会将这些数据翻译成您在屏幕上看到的网页。这就像向图书管理员要一本书,他/她/他们把它交给你阅读。

深入 HTML:您网站的骨架

HTML 或超文本标记语言是我们用来构建网站的语言。将其视为您网站的骨架。网页的每一部分都标有 HTML 标签,告诉浏览器这是什么类型的内容。例如,<h1>是标题标签,<p>是段落标签。

这是一个简单的例子:

<!DOCTYPE html>
<html>
<head>
    <title>My First Webpage</title>
</head>
<body>
    <h1>Welcome to My Webpage</h1>
    <p>This is a paragraph of text.</p>
</body>
</html>

在此代码中,<title>设置网页标题(您在浏览器选项卡上看到的内容)、<h1>创建标题和<p>段落。简单吧?

CSS:为您的网站添加样式

如果 HTML 是您网站的骨架,那么 CSS(层叠样式表)就是皮肤和衣服。这就是使您的网站看起来不错的原因。CSS 允许您设置颜色、字体、布局等。您甚至可以创建动画!

以下是您可以如何向我们之前编写的 HTML 添加一些样式:

body {
    background-color: lightblue;
}

h1 {
    color: navy;
    font-family: Arial, sans-serif;
}

p {
    color: darkslategray;
    font-family: Georgia, serif;
}

此 CSS 代码将网页的背景颜色设置为浅蓝色,将标题文本更改为海军蓝,将段落文本更改为深石板灰色,并为每个设置不同的字体。

你有它!您已经迈出了进入 Web 开发世界的第一步。但这仅仅是开始。随着我们的前进,我们将更深入地研究这些主题并探索JavaScript、Bootstrap 和其他可让您创建动态、交互式网站的工具。所以,系好安全带,准备好迎接激动人心的旅程吧!

语义 HTML 的力量

语义 HTML 是使用 HTML 标记来加强内容的语义或意义。例如,<p>标记表示封闭的文本是一个段落。这很重要,主要有两个原因:

  1. 辅助功能:屏幕阅读器和其他辅助技术依靠语义提示来帮助用户导航和理解内容。
  2. SEO:搜索引擎优先选择使用语义 HTML 的网站,因为它使内容更易于算法理解。

深入 HTML5 中的语义元素

HTML5 引入了一整套新的语义元素,使网络更易于访问,代码更易于理解。让我们探讨其中的一些:

  1. <header><footer>这些元素代表文档或部分的页眉和页脚。
  2. <nav>此元素用于包含导航链接的网站部分。
  3. <article>此元素表示文档中的自包含组合,例如博客文章、新闻报道或论坛帖子。
  4. <section>此元素表示文档的独立部分,没有更具体的语义元素来表示它。
  5. <aside>此元素用于与主要内容间接相关的内容,如侧边栏或引号。
  6. <figure><figcaption>这些元素用于表示一段独立的流内容,可选地带有标题。

HTML5 API

HTML5 不仅仅是关于新元素和属性。它是一个完整的包,带有用于复杂 Web 应用程序的成熟 API。它以其高级功能带来了 Web 开发行业的一场革命,例如:

  1. 多媒体元素: HTML5 引入了原生多媒体元素,如<video><audio>和 ,<canvas>以提供更丰富的多媒体体验。
  2. Web 存储:使用 HTML5,Web 应用程序可以将数据存储在用户的浏览器中,从而提高性能和用户体验。( localStoragesessionStorage)
  3. 地理定位: HTML5 可以识别用户的位置,从而实现基于位置的服务和应用程序。

用简单的术语解释互联网

现在我们已经介绍了 HTML 和 CSS 的基础知识,让我们更深入地了解 Internet 的工作原理。了解这一点将为您的Web 开发之旅打下坚实的基础。

从您的设备到世界:数据如何传播

当您在浏览器中键入一个 URL 并按下回车键时,您实际上是在发送一个数据请求。此请求从您的设备出发,通过一系列路由器和服务器,直到到达存储网站数据的服务器。该服务器然后将请求的数据发送回您的设备,您的浏览器将其转换为您看到的网页。

服务器和客户端:两条路

在互联网世界中,您的设备被称为“客户端”,而保存网站数据的计算机被称为“服务器”。这是因为您的设备“服务”数据请求,而服务器将请求的数据“服务”回您的设备。这是服务和接收数据的双向通道。

HTTP 和 HTTPS:网络语言

当您的设备和服务器进行通信时,它们使用称为 HTTP(超文本传输​​协议)或 HTTPS(安全 HTTP)的协议进行通信。该协议是一组规则,用于确定应如何格式化请求和响应。当您在 URL 的开头看到“http://”或“https://”时,表示该网站正在使用此协议。

IP 地址和 DNS:互联网的地址系统

每个连接到互联网的设备都有一个唯一的 IP 地址,就像它在互联网上的家庭地址一样。当您在浏览器中键入 URL 时,称为 DNS(域名系统)的系统会将 URL 转换为保存网站数据的服务器的 IP 地址。这就像使用电话簿查找电话号码一样。

你有它!您现在对互联网的工作原理有了基本的了解。但请记住,这只是冰山一角。随着您深入研究 Web 开发,您将了解更多关于这些概念的知识。

在下一节中,我们将更详细地探讨 HTML5 和语义 HTML。我们将了解 HTML5 的最新功能,并讨论使用语义 HTML 实现可访问性和 SEO 的重要性。所以,请继续关注并继续编码!

创建无障碍网站:无障碍网页指南

Web 可访问性就是包容性。这是为了确保每个人,包括残障人士,都能使用和享受网络。那么,让我们深入了解 Web 可访问性的原则,并学习如何创建每个人都可以使用的网站。

了解网络可访问性

Web 可访问性意味着设计和开发网站、工具和技术,以便残障人士可以使用它们。但这不仅仅是关于残疾。Web 可访问性也有利于非残障人士,例如因年龄增长而能力发生变化的老年人、手臂骨折等暂时受限的人,以及互联网连接速度慢或设备陈旧的人。

Web 可访问性的四项原则

Web 内容可访问性指南 (WCAG) 概述了 Web 可访问性的四项原则。这些通常用首字母缩写词 POUR 记住:

  1. 可感知:用户必须能够感知所呈现的信息。这意味着用户必须能够用他们的一种感官来感知信息。例如,为非文本内容提供文本替代,可以将其更改为人们需要的其他形式,例如大字体、盲文、语音、符号或更简单的语言。
  2. 可操作:用户必须能够操作该界面。这意味着用户必须能够与网站及其导航组件进行交互。例如,对于那些不能使用鼠标的人来说,应该可以通过键盘使用所有功能。
  3. 可理解性:用户必须能够理解用户界面的信息和操作。这意味着用户必须能够理解站点的内容以及如何使用站点的界面。例如,站点应该以可预测的方式运行,并且应该为可能难以理解的概念提供解释。
  4. 稳健:随着技术的进步,用户必须能够访问内容。随着技术的发展,网站应该保持可访问性。例如,站点应该与当前和未来的用户工具兼容。

使您的网站无障碍

有许多方法可以使您的网站易于访问。这里有一些例子:

  • <header>使用、<nav><main><section><article>和 等语义 HTML 元素<footer>来构建您的内容。这些元素提供有关其中包含的内容类型的信息,这有助于辅助技术了解您的网站。
  • 为图像提供替代文本。此文本应描述图像的内容。如果图像纯粹是装饰性的并且不提供任何信息,您可以使用空的 alt 属性 ( alt="")。
  • 确保您的站点可以使用键盘完全导航。这包括为交互元素提供可见的焦点状态,确保所有交互元素都可以使用 Tab 键访问,以及提供允许用户跳过冗长导航菜单的跳过链接。
  • 使用足够的颜色对比度。文本与其背景的对比度至少应为 4.5:1,以确保视力不佳的人可以阅读。

下面是一个示例,说明您可以如何使用语义 HTML 并为图像提供替代文本:

<!DOCTYPE html>
<html>
<head>
    <title>Accessible Webpage</title>
</head>
<body>
    <header>
        <h1>Welcome to My Accessible Webpage</h1>
    </header>
    <main>
        <article>
            <h2>About Me</h2>
            <p>Hi, I'm Jane Doe, a web developer with a passion for accessibility.</p>
            <img src="jane-doe.jpg" alt="Jane Doe smiling at the camera">
        </article>
    </main>
   <footer>
        <p>© 2023 Jane Doe</p>
    </footer>
</body>
</html>

在这段代码中,我们使用语义 HTML 元素来构建我们的内容,并且我们为我们的图像提供替代文本来描述图像显示的内容。

你有它!您现在正在创建可访问的网站。请记住,网络可访问性不是一次性的。这是一个持续的过程,应该成为您 Web 开发过程的每个阶段的一部分。所以,继续学习,继续测试,并继续让网络成为一个更具包容性的地方!

在下一节中,我们将深入探讨 CSS3、flexbox 和现代布局技术。我们将探索 CSS3 的最新功能并提供实用示例来帮助您掌握现代布局技术。所以,请继续关注并继续编码!

CSS3、Flexbox 和布局:基础知识

欢迎来到 CSS3 的世界,在这里我们可以为我们的网站增添风格、色彩和活力。在本节中,我们将探索 CSS3 的最新特性,了解 flexbox,并掌握现代布局技术。那么,让我们开始吧!

CSS3:最新最伟大的

CSS3 是 CSS 的最新版本,CSS 是我们用来设计网站样式的语言。它引入了一系列新功能,如圆角、渐变、过渡、动画等等。这些功能使我们能够以更少的工作量和代码创建更复杂、更具视觉吸引力的设计。

以下是如何使用 CSS3 创建带有圆角和渐变背景的按钮的示例:

.button {
    display: inline-block;
    padding: 10px 20px;
    font-size: 20px;
    color: white;
    background: linear-gradient(to bottom right, red, orange);
    border-radius: 10px;
    text-align: center;
    transition: background 0.5s;
}

.button:hover {
    background: linear-gradient(to bottom right, orange, red);
}

在此代码中,我们使用该border-radius属性创建圆角,使用该linear-gradient函数创建渐变背景,并使用该transition属性在按钮悬停时动画背景颜色变化。

CSS 布局:构建基块

CSS 布局是网页设计的一个基本方面。它们指示元素在页面上的排列方式,定义它们在文档流中的大小、位置和行为。传统的 CSS 布局技术涉及使用displaypositionfloatmarginpadding等属性。

例如,该display属性控制浏览器如何处理元素。常用值包括blockinlineinline-block。块元素占据可用的全部宽度,前后各换一行。内联元素只占用必要的宽度并且不会强制换行。行内块元素类似于行内元素,但它们可以有宽度和高度。

position属性确定元素在页面上的定位方式,其值为staticrelativeabsolutefixedsticky。这些值中的每一个在文档流中以及相对于它们的父元素和兄弟元素以不同方式定位元素。

然而,虽然这些属性很强大,但在构建复杂的布局时它们可能会变得复杂,尤其是在响应性是一个问题时。这就是 Flexbox 的亮点所在。

布局:Flexbox

Flexbox,或灵活的盒子布局模块,是 CSS3 中的一个强大工具,可以轻而易举地创建复杂的布局。它允许您控制容器中元素的方向、对齐方式、大小和顺序,即使它们的大小未知或动态。

这是一个简单的示例,说明如何使用 flexbox 创建响应式导航栏:

.navbar {
    display: flex;
    justify-content: space-between;
    padding: 20px;
    background-color: #333;
}

.navbar a {
    color: white;
    text-decoration: none;
}

.navbar a:hover {
    color: #ddd;
}

弹性容器扩展项目以填充可用的可用空间或收缩它们以防止溢出。Flexbox 是方向不可知的,不像常规布局(基于垂直的块和基于水平的内联)。

下面是一个更详细的 Flexbox 布局示例:

.container {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}

.item {
    flex: 1 1 200px;
    margin: 10px;
    background-color: lightgray;
    text-align: center;
    line-height: 200px;
}

在这个例子中,.container是弹性容器,每个.item都是一个弹性项目。该flex-direction属性决定了弹性项目的方向。该justify-content属性沿水平线对齐项目,该水平线在 flex 项目的布局方向上运行。该align-items属性沿交叉轴垂直对齐弹性项目。该flex-wrap属性允许项目换行到多行。

flex规则中的属性是、和.item的简写。在这种情况下,这意味着每个项目都会扩大和缩小以适应容器,但如果可能的话不会小于 200 像素。flex-growflex-shrinkflex-basis

Flexbox 是一个强大的工具,可以轻松高效地创建各种 Web 布局,所有现代浏览器都支持它。随着您继续探索和实践,您会发现它是您的 Web 开发工具包中的一个非常宝贵的工具。

在下一节中,我们将深入探讨 CSS 动画和响应式设计。我们将学习如何使用动画让我们的网站栩栩如生,并确保它们在所有设备上看起来都很棒。所以,请继续关注并继续编码!

动画化 Web:CSS 动画和响应式设计

欢迎来到充满活力的 CSS 动画和响应式设计世界!在本节中,我们将通过动画使我们的网站栩栩如生,并确保它们在所有设备上看起来都很棒。那么,让我们开始吧!

CSS 动画:为您的网站增添活力

CSS 动画使动画从一种 CSS 样式配置过渡到另一种成为可能。它们由两个部分组成:一个描述 CSS 动画的样式和一组指示动画样式的开始和结束状态的关键帧,以及可能的中间路径点。

下面是一个简单的 CSS 动画示例:

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.spinner {
    animation: spin 2s linear infinite;
}

在这个例子中,我们正在创建一个旋转动画。该@keyframes规则指定动画代码。动画是通过从一组 CSS 样式逐渐更改为另一组来创建的。在动画期间,您可以多次更改 CSS 样式集。在这里,我们正在更改 transform 属性。

animation属性是八个动画属性的简写属性,包括animation-nameanimation-durationanimation-timing-functionanimation-delayanimation-iteration-countanimation-directionanimation-fill-modeanimation-play-state

淡入效果

淡入效果是将元素平滑过渡到页面上的好方法。以下是如何使用 CSS 动画创建淡入效果:

@keyframes fadeIn {
    0% {opacity: 0;}
    100% {opacity: 1;}
}

.fade-in-element {
    animation: fadeIn 2s;
}

在此示例中,具有该类的任何元素fade-in-element将在 2 秒内逐渐淡入视图。

滑入式菜单

滑入式菜单是许多网站和应用程序中的常见功能。以下是使用 CSS 动画创建滑入效果的方法:

@keyframes slideIn {
    0% {transform: translateX(-100%);}
    100% {transform: translateX(0);}
}

.slide-in-menu {
    animation: slideIn 0.5s forwards;
}

响应式设计:在所有设备上看起来都不错

响应式设计是一种网页设计方法,可让您的网页在所有设备(台式机、平板电脑和手机)上看起来都不错。它是关于使用 CSS 和 HTML 来调整、隐藏、收缩、放大或移动内容以使其在任何屏幕上看起来都不错。

下面是一个使用媒体查询的响应式设计的简单示例:

.container {
    width: 100%;
    padding: 15px;
}

@media (min-width: 600px) {
    .container {
        width: 600px;
        margin: 0 auto;
    }
}

在此示例中,.container类在所有设备上的宽度为 100%,填充为 15px。但是,在 600px 或更宽的设备上,该类的.container宽度为 600px 并居中对齐。

响应式设计是现代网页设计的一个重要方面。它确保您的网站对每个人都可访问且用户友好,无论他们使用什么设备。

响应式设计:流行的屏幕尺寸

响应式设计就是要确保您的网站在所有设备上的外观和功能都很好。以下是不同设备的一些常见断点:

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {...}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {...}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {...}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {...}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {...}

在这些示例中,我们使用媒体查询根据设备屏幕的宽度应用不同的样式。例如,您可能想要调整文本大小、更改元素布局,甚至根据屏幕大小显示或隐藏某些元素。

请记住,这些只是示例。您使用的确切断点将取决于您网站的内容和您的受众使用的设备。关键是设计您的网站,使其在所有设备上都尽可能可用且美观。

使用 CSS 框架进行快速 Web 开发:Bootstrap 4 和 5

欢迎来到 CSS 框架的世界!在本节中,我们将探索 Bootstrap 4 和 5,这两个强大的工具可以加快您的 Web 开发过程并帮助您快速创建具有专业外观的网站。那么,让我们开始吧!

CSS 框架:通往美丽网站的快速通道

CSS 框架是预先准备好的库,旨在允许更简单、更符合标准的网页样式。它们为新项目提供了一个很好的启动,让您避免从头开始编写所有 CSS 的繁重工作。

在这些框架中,Bootstrap 脱颖而出,成为最受欢迎的选择之一。它是一个功能强大的响应式框架,可以显着加快您的 Web 开发速度。

Bootstrap 4 和 5:有什么区别?

Bootstrap 4 和 5 是 Bootstrap 的最新版本,各有千秋。Bootstrap 4 使用 jQuery 并支持 Internet Explorer 10 和 11,而 Bootstrap 5 放弃了 jQuery 依赖和 IE 支持,转而支持 vanilla JavaScript 和现代浏览器支持。

两个版本都提供了一个网格系统、广泛的预构建组件和强大的插件,Bootstrap 5 提供了一些额外的功能,比如更新的表单样式和新的实用程序 API。

她的是更详细的比较:























































































































特征 引导程序 4 引导程序 5
jQuery 依赖 是的
JavaScript 重写 是的
Internet Explorer 支持 是的
CSS 自定义属性 有限的 展开
全局字体大小 16px 16px
网格容器 默认响应 默认响应
网格系统 12列 12列
班级 使用“-” 使用“-”
文档 好的 改进
波普尔.js v1.x v2.x
是的 是的
重启 是的 是的
Flexbox 网格 是的 是的
萨斯 库萨斯 飞镖萨斯
自动布局列 是的 是的
实用程序接口 是的
Offcanvas 组件 是的
手风琴组件 是的
导航栏优化 是的
增加颜色对比度 是的
更新的表单控件 是的
RTL 支持 是的

Bootstrap 4 和 Bootstrap 5 的比较

这里还有一些流行的 CSS 框架:

  1. Foundation:被称为具有高级但易于实现的 CSS 组件的更复杂的框架。它基于 Sass 构建,具有强大的响应式功能,适用于移动友好的设计。
  2. UIkit:这个框架提供了许多类似于其他流行框架的功能,以及一些有用的专用组件。它在 Less 和 Sass 中可用,甚至包括一个样式表以满足从右到左的语言。
  3. 语义 UI:该框架基于用于构建组件的类名的语义性质工作。类名是人性化的,可以很容易地理解正在构建的内容。
  4. Bulma:Bulma 的组件很大程度上依赖于 Flexbox,使其成为真正的现代框架。它使用与语义 UI 相同的一些原则及其类名,并包含许多流行的组件。
  5. Tailwind:这个框架建立在单一用途实用类的概念之上,也称为原子 CSS。它避免了大型样式表中常见的特异性问题和其他覆盖问题。
  6. Picnic CSS:如果您不喜欢在标记中包含表示类的想法,那么 Picnic CSS 可能是适合您的框架。一些 HTML 元素是预先设置样式的,不需要添加类名。
  7. PaperCSS:这个框架有一套独特的样式,适用于一小部分项目。它模仿 8 位任天堂娱乐系统图形,营造出复古游戏外观。
  8. NES.css:像 PaperCSS 一样,NES.css 有一套独特的样式,只适用于一小部分项目。它模仿 8 位任天堂娱乐系统图形,营造出复古游戏外观。
  9. Animate.css:这个有趣的库包含许多预先构建的动画,可以摇动、淡入淡出、滑动、缩放等。

Bootstrap 入门

要开始使用 Bootstrap,您需要在项目中包含 Bootstrap CSS 和 JS 文件。您可以从 Bootstrap 网站下载它们,或直接从 CDN(内容交付网络)包含它们。

以下是通过 CDN 包含 Bootstrap 5 的方法:

<!DOCTYPE html>
<html>
<head>
    <title>My Bootstrap Website</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
</head>
<body>
    <!-- Your content goes here -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
</body>
</html>

使用 Bootstrap 创建响应式布局

Bootstrap 提供了一个响应式网格系统,可以让你轻松创建复杂的布局。以下是如何创建响应式三列布局的示例:

<div class="container">
    <div class="row">
        <div class="col-sm">
            One of three columns
        </div>
        <div class="col-sm">
            One of three columns
        </div>
        <div class="col-sm">
            One of three columns
        </div>
    </div>
</div>

在此示例中,.container是一个响应式固定宽度容器,.row创建一个新行,并.col-sm自动为小型及以上设备调整列的大小。在超小型设备上,列将垂直堆叠。

你有它!您现在已经在 Web 开发之旅中迈出了一大步。但请记住,这仅仅是个开始。随着您继续探索和实践,您会发现更多创建令人惊叹且用户友好的网站的方法。

在下一篇文章中,我们将深入探讨 JavaScript、AJAX、JSON、API 等。我们将学习如何为您的网站添加交互性并将它们与世界联系起来。所以,请继续关注并继续编码!


关注我的博客,您将在其中获得提示、技巧和挑战,以保持您的技能敏锐。记得关注我哦!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。