iOS Club和你一起学Vue(2)

133 阅读7分钟

iOS Club和你一起学Vue(2)

在上一节,我们创建了Vue项目,并且了解了项目构架,并且我们运行了应用

这一节,我们将正式开始我们的学习。我们会先学习基础知识——HTML,CSS,JS

那我们开始吧

一个页面的构成

在Vue中,当我们直接创建一个Vue界面时,会直接帮我们生成好基础的框架:

<script setup>

</script>

<template>

</template>

<style scoped>

</style>

我们不难发现,一共分为三个部分:

  • 脚本(script) :这里可以写一些页面的逻辑
  • 模板(template) :这里规定了页面要显示什么东西
  • 样式(style) :这里规定了控件的样式

而这些背后的语言就是JS、HTML、CSS。也就是前端三件套。

HTML

HTML是超文本标记语言(HyperText Markup Language)的缩写,它是一种用来创建网页的标准标记语言。HTML 不是一种编程语言,而是一种标记语言,它使用一系列预定义的标记标签(markup tags)来描述文档的结构和内容。

我们可以看一个例子:

<!DOCTYPE html>
<html lang="en">
    <head>
        <!-- 这是一个注释 -->
         <!-- 这里是头部,用来描述网页信息 -->
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <!-- 这里是主体,当然在Vue中,我们在写页面的时候,只需要写下面这些,也就是被boby所包含的内容 -->
        <h1>Hello World</h1>
    </body>
</html>

这就是一个HTML文件,它包含了一个标题和一段文字。

那么这里我们也可以看出来了,HTML的"语法"其实很简单——就是大标签包小标签,然后可以在标签上写一些属性。

那还学什么?还不如来看看HTML的标签。

HTML的标签有很多,我们这里只介绍一些常用的标签(不过我建议各位就先简单看看,主要是这些东西就跟查字典差不多,不如收藏一下先):

1. 文档结构标签

  • <!DOCTYPE html>: 定义文档类型为 HTML5。
  • <html>: 根标签,包含整个 HTML 页面的内容。
  • <head>: 包含文档的元数据,如标题、字符集、样式表和脚本等。
  • <title>: 定义文档的标题,显示在浏览器的标题栏或标签页上。
  • <meta>: 提供关于文档的元信息,如字符集、视口设置等。
  • <link>: 连接到外部资源,如 CSS 文件。
  • <script>: 定义客户端脚本,如 JavaScript 代码。

2. 内容标签

  • <body>: 包含网页的主要内容。
  • <header>: 定义文档或节的页眉。
  • <footer>: 定义文档或节的页脚。
  • <nav>: 定义导航链接的部分。
  • <article>: 定义独立的自包含内容,如博客文章或新闻故事。
  • <section>: 定义文档中的独立部分,如章节、页眉、页脚或文档中的其他部分。
  • <aside>: 定义其内容与页面主要内容相关但可独立分离的内容,如侧边栏。
  • <main>: 定义文档或应用程序的主要内容。

3. 文本内容标签

  • <p>: 定义段落。
  • <h1><h6>: 定义标题,<h1> 是最重要的标题。
  • <br>: 插入换行符。
  • <hr>: 插入水平线。
  • <strong>: 强调文本的重要性。
  • <em>: 强调文本的语气或语义。
  • <a>: 创建超链接。
  • <img>: 插入图片。
  • <span>: 用于应用样式或添加 JavaScript 功能到文本的一部分。
  • <div>: 定义文档中的一个区块或部分。

4. 列表标签

  • <ul>: 定义无序列表。
  • <ol>: 定义有序列表。
  • <li>: 定义列表项。

5. 表格标签

  • <table>: 定义表格。
  • <tr>: 定义表格中的行。
  • <th>: 定义表格中的表头单元格。
  • <td>: 定义表格中的标准单元格。

6. 表单标签

  • <form>: 定义用户输入的表单。
  • <input>: 定义输入字段,如文本框、按钮等。
  • <label>: 定义输入字段的标签。
  • <button>: 定义按钮。
  • <select>: 定义下拉列表。
  • <option>: 定义下拉列表中的选项。

CSS

CSS(Cascading Style Sheets)是一种用于描述网页样式的语言,它允许我们为网页元素添加颜色、字体、布局、动画等。CSS 的语法很简单,通过选择器(selector)和属性(property)来定义样式。

我们这里可以先看一个例子:

body {
    background-color: #f0f0f0;
    color: #333;
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
}

.header {
    background-color: #333;
    color: #fff;
    padding: 10px;
    text-align: center;
    font-size: 24px;
}

#app{
    padding: 20px;
    border: 1px solid #ccc;
    margin: 20px;
    background-color: #fff;
}

这里我们写了三个选择器,不过这三个的用处却不太一样。

  • body 选择器:它选择文档的 body 元素,并应用样式。
  • .header 选择器:它选择具有 class="header" 的元素,并应用样式。
  • #app 选择器:它选择具有 id="app" 的元素,并应用样式。

也就是说第一个是强制每个body的标签都规定成这些样式,而第二个可以自由选择,只要将class设置成"header"就行。而第三个是强制选择id为app的标签,并规定成这些样式。

我们现在可以简单的介绍一些CSS的属性:

常用属性

  • background-color: 用于设置元素的背景颜色。
  • color: 用于设置元素的文本颜色。
  • font-family: 用于设置元素的字体。
  • margin: 用于设置元素的外边距。
  • padding: 用于设置元素的内边距。
  • text-align: 用于设置元素的文本对齐方式。
  • font-size: 用于设置元素的字体大小。
  • display: 用于设置元素的显示方式。
  • border: 用于设置元素的边框。
  • width: 用于设置元素的宽度。
  • height: 用于设置元素的高度。
  • box-shadow : 用于设置元素的阴影。
  • transition: 用于设置元素的过渡效果。
  • border-radius : 用于设置元素的圆角。

伪类

那我想写一个样式,当鼠标悬停在链接上时,就会改变链接的颜色、下划线、字体加粗等样式。

这个时候我们使用伪类。伪类是选择器中的一种特殊类型,它允许我们选择元素在特定状态下的样式。例如,我们可以选择一个链接在鼠标悬停时的样式,或者选择一个表单字段在错误时的样式。

举个例子:

a:hover {
    color: red;
    text-decoration: underline;
    font-weight: bold;
}

这个就是当鼠标悬停在链接上时,就会改变链接的颜色、下划线、字体加粗等样式。

现在我们来介绍一下常用的伪类:

动态伪类
  • :hover: 当用户将鼠标指针悬停在元素上时激活。
  • :active: 当元素被激活时(例如,鼠标点击时)激活。
  • :focus: 当元素获得焦点时(例如,通过键盘导航)激活。
  • :target: 当元素被 URL 锚点选中时激活。
链接伪类
  • :link: 未访问过的链接。
  • :visited: 已访问过的链接。
结构性伪类
  • :first-child: 元素是其父元素的第一个子元素。
  • :last-child: 元素是其父元素的最后一个子元素。
  • :only-child: 元素是其父元素的唯一子元素。
  • :nth-child(n): 元素是其父元素的第 n 个子元素。
  • :nth-last-child(n): 元素是其父元素从后向前数的第 n 个子元素。
  • :nth-of-type(n): 元素是其父元素的第 n 个同类型子元素。
  • :nth-last-of-type(n): 元素是其父元素从后向前数的第 n 个同类型子元素。
  • :first-of-type: 元素是其父元素的第一个同类型子元素。
  • :last-of-type: 元素是其父元素的最后一个同类型子元素。
  • :only-of-type: 元素是其父元素的唯一同类型子元素。
  • :not(selector): 选择不是由给定的选择器匹配的所有元素。
用户行为伪类
  • :checked: 选中的单选按钮或复选框。
  • :indeterminate: 复选框或一组单选按钮中没有选中的值时的状态。
  • :enabled: 可用的表单控件。
  • :disabled: 不可用的表单控件。
  • :read-only: 只读的表单控件。
  • :read-write: 可读写的表单控件。
其他伪类
  • :root: 选择文档的根元素(通常是 <html>)。
  • :empty: 选择没有任何子节点的元素。
  • :lang(language): 选择具有指定语言属性的元素。

这些伪类可以帮助你在 CSS 中实现更复杂的样式控制和交互效果。

练习

  1. 创建一个简单的 HTML 页面,包含一个标题、一个段落和一个按钮。
  2. 写一个卡片,要求使用到圆角,当其悬停时,其边框显现,并且是蓝色的

结尾

这一次我们介绍了HTML、CSS,以及它们的基本用法。

下一节我们将开始学习JS。