使用 CSS 和 JavaScript 在 HTML 中点击按钮移动图片17 Mar 2025 | 6 分钟阅读 HTML、CSS 和 JavaScript 是捆绑在一起的。这三种语言都有不同的选项和属性,尤其是 CSS 和 JavaScript。没有什么比不断地自己探索属性更好的方式来将它们根植于脑海中。一旦我们了解了足够的选项,制作具有不同外观的专业网站将不是一项艰巨的任务。 这是一个简单的任务,用于发现一些基本属性 任务:在按钮点击时,在不同方向上移动图像 10px。例如:点击右按钮时,图像应向右移动 10px。 方向 - 向上
- 向下
- 右
- 左
- 右上斜线
- 左上斜线
- 左下斜线
- 右下斜线
步骤: - 将图像插入网页
- 为所有 8 个方向创建按钮
- 为每个按钮编写 JavaScript 函数
- 使用 CSS 为按钮设置样式
- 测试工作
那么,让我们按照步骤开始编码 - 创建一个新文件并将其保存为 .html 扩展名。
- 我们可以将 CSS 和 JavaScript 代码嵌入其中,也可以创建外部文件并将它们链接到 html 文件。
- 我们将使用 <style></style> 和 <script></script> 嵌入它们
基本骨架 观察颜色  4. 现在,我们需要使用 <img> 标签将图像插入网页 - 您还可以分配一个在线图像链接,但每次运行文件时;您都需要有活动的内部连接才能访问图像。
5. 现在,我们需要为 8 个方向构建 8 个按钮 - 在按钮上,我们可以写方向的名称,或者我们可以简单地显示箭头。
- 我们可以使用十进制或十六进制代码来访问这些代码。
- 以下是代码
使用 &#code 例如:←

- 我们将使用表格来排列按钮,使其方便且等距。
- 点击这些按钮时,我们会调用一个 JavaScript 函数,并将按钮的方向作为参数传递。
- 使用 <center></center>,我们将同时将图像和按钮表格居中排列。
HTML 代码 运行后  6. 现在是时候为按钮提供实际功能了,或者我们可以为元素添加样式,然后添加功能。 CSS 现在,让我们使用一些简单的属性为按钮添加一些样式 输出  使用的属性属性 | 说明 |
---|
table_layout: fixed | 表格中所有单元格的布局保持固定(列宽),无论其中内容的长度如何。 | border-spacing: 10px | 单元格边框之间的距离或间距。仅当 border-collapse 设置为 separate 时才适用。我们可以设置垂直和水平距离。 | border | 一个用于为元素的边框添加宽度、样式和颜色的属性。 | border-radius | 使元素的角落边缘变圆。(为元素添加圆角)。值越大,圆角越圆。我们可以为四个角指定四个值。 | background-color | 为元素的背景添加颜色。我们可以使用颜色名称或十六进制代码。 | box-shadow | 为元素添加阴影。通过逗号分隔,我们可以为单个元素添加多个阴影。 | padding | 在元素与其周围边框之间创建空间。使用 padding-top、padding-right、padding-bottom 和 padding-left,我们可以为元素的每个侧面设置间距。 | .b:hover | 当用户将光标悬停在按钮上时,我们可以更改按钮的属性,如 box-shadow 和 background-color,以产生点击的效果。 |
JavaScript 我们在这里使用的功能是 CSS 属性:position。我们可以为该属性赋予五个不同的值 - static - > 默认
- relative
- fixed (固定)
- 绝对寻址
- sticky
值 | 机制 |
---|
static | 这是我们在文档中插入图像时的默认值。它不会受到代码后面 .left 和 .top 修改的影响。 | relative | 图像的位置相对于其正常位置设置,我们可以在稍后的代码中使用 .left 和 .top 属性来更改位置。移动时,其他元素不会占据元素腾出的空间。直到手动安排,空间才会保持空白。 | 绝对寻址 | 元素相对于其最近的祖先定位。如果没有附近的祖先,位置将相对于文档 body 的位置设置。移动时,其他元素会占据其空间。 | fixed (固定) | 位置相对于视口(文档可见部分)的位置设置。移动时,其他元素会占据元素腾出的空间。主要用于即使在用户滚动时也能保持在同一位置的导航菜单。 | sticky | 类似于 relative。不同之处在于元素保持在其位置固定,直到某个点,然后它们变为 relative。这用于需要固定直到用户滚动到某个点才起作用的导航菜单。 |
代码 说明 通过使用 .style,我们正在访问元素的 CSS。首先,我们将图像存储在一个变量 'a' 中,然后将其位置设置为 relative。因此,当我们尝试定位图片时,我们将能够使用 .left 和 .top 属性,并且位置是相对于其当前位置分配的。要使用 position 属性,我们必须先将其分配给某个值,然后使用点属性来改变元素的位置。 只有 left 和 top 属性可用,我们将不得不使用这两个属性来定位元素在所有方向上的位置 - left(-) 向左
- lefft(+) 向右
- top(-) 向上
- top(+) 向下
- 左上:top(-) + left(-)
- 右上:top(-) + left(+)
- 左下:top(+) + left(-)
- 右下:top(+) + left(+)
具体来说 - 如果 b 等于 "left",则 left 属性减去 10 像素。
- 如果 b 等于 "right",则 left 属性增加 10 像素。
- 如果 b 等于 "up",则 top 属性减去 10 像素。
- 如果 b 等于 "down",则 top 属性增加 10 像素。
- 如果 b 等于 "top-right",则 left 属性增加 10 像素,top 属性减去 10 像素。
- 如果 b 等于 "top-left",则 left 属性减去 10 像素,top 属性减去 10 像素。
- 如果 b 等于 "bottom-right",则 left 属性增加 10 像素,top 属性增加 10 像素。
- 如果 b 等于 "bottom-left",则 left 属性减去 10 像素,top 属性增加 10 像素。
输出 
|