——————————————————————————————— 【1. 引言】
在 Android 开发过程中,前端技术(HTML、CSS、JavaScript)逐渐成为不可或缺的技能之一。无论是通过 WebView 显示网页内容,还是构建混合应用,掌握前端基础将有助于提升整体产品体验。本文在保证内容全面性的前提下,剔除了多余的推荐信息,直接进入技术核心讲解。通过详细介绍 HTML、CSS 与 JavaScript 的基本概念、语法及实际应用案例,你将学会如何从零开始撰写一个完整的前端页面,并且了解如何借助这些技术构建动态、交互性强的 Web 应用。
——————————————————————————————— 【2. HTML 基础】
HTML(Hyper Text Markup Language)是构成网页的基础技术,其作用是定义网页的结构和内容。HTML 使用标签(Tag)来描述不同部分,如标题、段落、列表、链接、图像等。下面将详细介绍 HTML 的基本结构、常用标签、属性用法及语义化思想。
——————————————————————————————— 2.1 HTML 基本结构
一个标准 HTML 文件通常包含以下部分:文档类型声明、html 根标签、head 部分和 body 部分。文档类型声明()用于告诉浏览器当前文档遵循 HTML5 标准。head 部分包含页面元数据(meta)、标题(title)、外部资源链接(CSS、JS 文件等),而 body 部分则包含页面真正的显示内容。
下面是一个最简单的 HTML 文件示例,注释中对各部分作了解释:
示例页
欢迎进入我的网页
此页面用于展示 HTML 基础结构。
标签
标签用于提供关于 HTML 文档的元数据。 元数据是关于数据的数据,它不会显示在页面内容中,但可以被浏览器、搜索引擎和其他 Web 服务使用。
标签通常位于 HTML 文档的
元素内部。
name="viewport"
属性
name
属性用于指定元数据的类型。 在这里,name="viewport"
表示我们正在配置视口。 视口是浏览器中用于显示网页的区域。 在移动设备上,视口的大小可能与屏幕的物理大小不同。
content="width=device-width, initial-scale=1.0"
属性
content
属性用于指定元数据的值。 在这里,content
属性包含了两个配置项:
width=device-width
: 这告诉浏览器将视口的宽度设置为设备的宽度。 这意味着网页将以设备屏幕的原始分辨率显示,而不会进行缩放。
initial-scale=1.0
: 这设置了网页的初始缩放级别为 1.0,也就是不进行任何缩放。
使用
的主要目的就是确保网页在不同大小的设备上以合理的、未经过度缩放 的比例显示。
--------------------------------------------------------------------------------------------------------------------------------
在上面的例子中,“index.html” 文件展示了 HTML 文件最基本的结构和一些常见标签。作为 Android 开发者,当你在 WebView 中加载本地 HTML 文件时,这种结构是最常见的。
——————————————————————————————— 2.2 常用 HTML 标签
HTML 提供大量标签,用于不同用途。下面详细说明几种常见标签及其用法:
【2.2.1 标题标签】
标题标签从
到
共六个级别,其中
表示最高级的标题,而
为最低级标题。标题标签用于描述各级别的重要性和结构,通常一个页面中应有且只有一个
。
例如:
标题示例
这是一级标题
这是二级标题
这是三级标题
【2.2.2 段落标签】
段落标签
用于定义一段文本。浏览器默认为
标签提供上下边距,使段落之间有明显分隔,便于阅读。
例如:
段落示例
这是一段文本,用于展示段落的效果。
另一段文本显示在不同的段落中。
【2.2.3 超链接标签】
超链接标签
用于创建链接,既可以链接到外部网站,也可以链接到同一网站内部的其他页面。链接的目标以 href
属性设置。
例如:
链接示例
访问示例网站
前往内部页面
【2.2.4 图像标签】
图像标签
用于在网页中嵌入图片。必须提供 src
(图片源)和 alt
(替代文本)两个属性。alt 属性在图片加载失败时显示,同时对搜索引擎优化和辅助技术(如屏幕阅读器)有帮助。
例如:
图像示例
【2.2.5 列表标签】
HTML 支持有序列表
(默认数字顺序)和无序列表
(默认圆点)。列表项使用
标签定义。
例如,无序列表:
无序列表示例
有序列表:
有序列表示例
第一步
第二步
第三步
【2.2.6 表格标签】
表格标签 用于展示结构化数据,通过 定义行, 定义表头单元格, 定义普通单元格,支持行和列的排布。
例如:
表格示例
【2.2.7 表单标签】
表单标签
用于与用户交互,收集输入信息。常见的表单元素包括
、
、
、
等。下面是一个简单的登录表单示例:
表单示例
——————————————————————————————— 2.3 HTML 属性及语义化
HTML 标签除了标签名外,可以附加属性来描述更多信息。例如在
中,href 用于指定链接目标;在
中,alt 用于给图片提供描述性文本。 HTML5 强调语义化,除了常规标签外,还提供了很多描述性标签,如:
这些标签不仅有助于代码清晰表达意义,也能提高搜索引擎索引的准确性和网站的可访问性。
示例:
语义化示例
文章标题
这是文章正文。
------------------------------------------------------------------------------------------------------------------------
——————————————————————————————— 2.4 HTML 注释
在开发过程中,为了提高代码可读性,可以在 HTML 中加入注释。注释以 结束,例如:
利用注释可以解释复杂的代码结构,提示未来维护者,或者临时屏蔽代码块。
——————————————————————————————— 【3. CSS 基础】
CSS(Cascading Style Sheets)用于定义页面呈现的样式和布局。通过 CSS,你可以为 HTML 内容添加颜色、字体、边距、背景、动画等视觉效果,使页面更美观、易于使用。下面详细讲解 CSS 的基本语法、选择器、层叠规则、样式来源及常见示例。
——————————————————————————————— 3.1 CSS 基本语法
CSS 的基本语法由选择器、花括号以及属性——值对组成。例如: 选择器 { 属性名: 属性值; } 这个语句表示对选中的 HTML 元素设置某个样式。
示例:
p {
font-size: 16px;
color: #333;
line-height: 1.6;
}
以上代码表示所有段落
的字体大小为 16 像素,颜色使用 #333 深灰色,行高为 1.6 倍。
——————————————————————————————— 3.2 CSS 选择器
CSS 提供多种选择器以精确选中需要设置样式的元素,主要包括:
【3.2.1 元素选择器】 直接使用标签名选取所有该标签元素。例如:
h1 {
color: blue;
}
表示所有
均显示为蓝色。
【3.2.2 类选择器】 通过元素的 class 属性进行选择。前缀使用“.”符号,如:
.container {
max-width: 1200px;
margin: 0 auto;
}
.container
: 这是一个 CSS 选择器,用于选择所有 class
属性值为 "container" 的 HTML 元素。
max-width: 1200px;
: 这个 CSS 属性设置元素的最大宽度为 1200 像素。
如果元素的内容宽度小于 1200 像素,则元素将以其内容的实际宽度显示。
如果元素的内容宽度大于 1200 像素,则元素将被限制为 1200 像素的宽度,并且可能会出现滚动条或内容溢出。
margin: 0 auto;
: 这个 CSS 属性设置元素的上下外边距为 0,左右外边距为 auto
。
margin: 0
表示上下外边距为 0 像素。
margin: auto
表示左右外边距由浏览器自动计算,这通常会导致元素在其父元素中水平居中。
class="container"
:
class
是 HTML 元素的一个属性,用于指定该元素所属的一个或多个 CSS 类。
container
是一个 CSS 类名。
class="container"
的意思是,将 HTML 元素(例如 、
、
等)应用名为 "container" 的 CSS 类。
CSS 类用于定义元素的样式,例如字体、颜色、大小、边距、内边距、布局等。
container
类通常用于创建一个固定宽度的容器,用于包含页面的主要内容,并使其在不同屏幕尺寸上居中显示。
许多 CSS 框架(例如 Bootstrap)都提供了一个默认的 container
类,用于快速创建响应式布局。
-------------------------------------------------------------------------------------------------------------------------------
【3.2.3 ID 选择器】 通过元素的 id 属性选择,前缀使用“#”符号,例如:
#header {
background-color: #f5f5f5;
}
以上代码仅对 id 为 header 的元素生效。注意:单个页面中 id 应唯一。
【3.2.4 属性选择器】 通过匹配元素的属性值来选取元素,例如:
a[href^="https://"] {
color: green;
}
以上代码表示所有 href 属性以 "https://" 开头的链接显示为绿色。
【3.2.5 组合选择器】 可以使用后代选择器、子选择器、并集选择器、伪类选择器等。例如后代选择器:
.navbar ul li {
display: inline-block;
}
标签:
是 HTML 中的一个元素,用于定义一个无序列表(unordered list)。
标签:
是 HTML 中的一个元素,用于定义列表中的一个项目(list item)。
.navbar ul li
: 这是一个 CSS 选择器,用于选择所有满足以下条件的
元素:
该
元素是
元素的子元素。
该
元素是 class
属性值为 "navbar" 的元素的子元素。
.navbar
通常是一个导航栏的容器。
display: inline-block;
: 这个 CSS 属性设置元素的显示方式为 inline-block
。
inline-block
是一种介于 inline
(行内元素)和 block
(块级元素)之间的显示方式。
inline-block
元素可以像 inline
元素一样在同一行内显示,但同时可以像 block
元素一样设置宽度、高度、边距和内边距。
作用:
这段 CSS 代码通常用于创建一个水平导航菜单。
默认情况下,
元素是块级元素,会垂直排列。
通过将
元素的 display
属性设置为 inline-block
,可以使它们在同一行内水平排列。
同时,inline-block
允许你设置
元素的宽度、高度、边距和内边距,以便更好地控制菜单的样式和布局。
-----------------------------------------------------------------------------------------
——————————————————————————————— 3.3 CSS 层叠性与优先级
CSS 名称“层叠样式表”即强调“层叠”的特性,这意味着页面元素可能同时匹配多个样式规则,浏览器会根据优先级确定采用哪条规则。优先级规则大致如下:
① 内联样式优先性最高; ② ID 选择器优先于类选择器、属性选择器和伪类选择器; ③ 元素选择器优先级较低; ④ 重要声明(!important)会覆盖其他规则。
例如,如果某个元素同时匹配了以下两条规则:
body p { color: blue; }
p.special { color: red; }
而该段落为
,则红色规则具有更高的优先级,最终文字显示为红色。
——————————————————————————————— 3.4 CSS 样式的添加方式
CSS 可通过三种方式添加到 HTML 页面中:
【3.4.1 内联样式】 直接在 HTML 元素中使用 style 属性,例如:
这是内联样式
这种方式优先级最高,但不利于统一管理。
【3.4.2 内部样式表】 在 HTML 文档的 head 部分使用
欢迎
这是添加内部样式的示例。