相对与绝对布局:悬浮的提示框页面

目录

任务描述

相关知识

HTML和CSS基础:

盒子模型:

定位:

伪类:

编程要求


任务描述

在本关中,你需要创建一个简单的HTML页面,其中包括一个按钮。当鼠标悬停在按钮上时,会显示一个浮动的提示框(tooltip),提示框的样式和位置需要按照提供的CSS样式来设计。

完成任务后之后,基本页面效果如下:

相对与绝对布局

相关知识

HTML和CSS基础:

HTML:用于创建网页结构按钮(button)元素

HTML页面结构如下:

html<!DOCTYP
<html> <!-- 定义HTML5文档类型 -->
<html>
<head><title>相对与绝对布局</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="touge.css">
</head>
<body>
<div class="container">
    <button class="trigger">Hover me for a tooltip</button> <!-- 按钮触发显示tooltip -->
    <div class="popup">This is a tooltip!</div> <!-- tooltip内容 --> </div>
</body>
</html>

CSS 用于定义页面的样式,包括字体、颜色、内边距、外边距等。

CSS页面结构如下:

.trigger {
    background-color: #3498db; /* 设置背景颜色为蓝色 */
    color: #fff; /* 设置文字颜色为白色 */
    padding: 10px 20px; /* 设置内边距 */
    border: none; /* 移除边框 */
    cursor: pointer; /* 设置鼠标指针样式为手型 */
}

.popup {
    display: none; /* 默认隐藏弹出框 */
    position: absolute; /* 设置绝对定位 */
    background-color: #fff; /* 设置背景颜色为白色 */
    border: 1px solid #ccc; /* 设置边框 */
    padding: 10px; /* 设置内边距 */
    width: 200px; /* 设置宽度为200像素 */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); /* 添加阴影效果 */
    z-index: 1; /* 设置堆叠顺序 */
    top: 100%; /* 位于触发元素下方 */
    left: 50%; /* 位于触发元素水平居中 */
    transform: translateX(-50%); /* 水平居中 */
}

.trigger:hover + .popup {
    display: block; /* 鼠标悬停时显示弹出框 */
}

盒子模型:

  • padding:元素内容与边框之间的空间。
  • border:边框样式,可以设置边框的宽度、样式和颜色。
  • width:元素的宽度。
  • box-shadow:创建元素的阴影效果。

定位:

  • position: relative:设置元素相对定位,相对于其正常位置进行定位。
  • position: absolute:设置元素绝对定位,相对于最近的已定位祖先元素进行定位。
  • z-index: 设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。注意:z-index只能用在被定位的元素上。

伪类:

  • :hover:应用于元素,当鼠标悬停在该元素上时应用样式。

编程要求

请仔细阅读右侧代码,结合相关知识,在 Begin-End区域内进行代码补充,完成CSS对页面的悬浮提示框页面设计。样式要求为:

  • 悬浮框(.popup)设置为隐藏。
  • 悬浮框(.popup)的定位(position)设置为绝对定位(absolute);
  • 悬浮框(.popup)的堆叠顺序(z-index)设置为 1。
  • 使用相邻兄弟选择器 (+)实现鼠标在按钮上悬停时显示提示框(display)。
<!DOCTYPE html> <!-- 定义HTML5文档类型 -->
<html>
    <head>
        <title>相对与绝对布局</title>
        <meta charset="UTF-8">

        <style>
            body {
            font-family: Arial, sans-serif; /* 设置字体样式为Arial或sans-serif */
            padding: 20px; /* 设置页面内边距为20像素 */
            }

            .container {
            position: relative; /* 设置相对定位 */
            width: 300px; /* 设置容器宽度为300像素 */
            margin: 0 auto; /* 设置外边距使其水平居中 */
            }

            .trigger {
            background-color: #3498db; /* 设置背景颜色为蓝色 */
            color: #fff; /* 设置文字颜色为白色 */
            padding: 10px 20px; /* 设置内边距 */
            border: none; /* 移除边框 */
            cursor: pointer; /* 设置鼠标指针样式为手型 */
            }
    /* ******************** BEGIN ******************** */
            .popup {
            display:none ; 
            position:absolute ; 
            z-index:1 ; 
            background-color: #fff; /* 设置背景颜色为白色 */
            border: 1px solid #ccc; /* 设置边框 */
            padding: 10px; /* 设置内边距 */
            width: 200px; /* 设置宽度为200像素 */
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); /* 添加阴影效果 */            
            top: 100%; /* 位于触发元素下方 */
            left: 50%; /* 位于触发元素水平居中 */
            transform: translateX(-50%); /* 水平居中 */
            }

            .trigger:hover + .popup {
            display:block ; 
            }

    /* ******************** END ******************** */
        </style>
    </head>
    <body>

        <div class="container">
            <button class="trigger">Hover me for a tooltip</button> <!-- 按钮触发显示tooltip -->
            <div class="popup">This is a tooltip!</div> <!-- tooltip内容 -->
        </div>

    </body>
</html>

相关推荐

  1. Python中绝对路径相对路径详解

    2024-06-15 09:40:02       34 阅读
  2. 相对路径vs绝对路径 python文件添加删除

    2024-06-15 09:40:02       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-15 09:40:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-15 09:40:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-15 09:40:02       87 阅读
  4. Python语言-面向对象

    2024-06-15 09:40:02       96 阅读

热门阅读

  1. Delphi打开网址链接的几种方法

    2024-06-15 09:40:02       25 阅读
  2. 【杂记-浅谈MTU最大传输单元】

    2024-06-15 09:40:02       29 阅读
  3. input输入框禁止输入小数点方法

    2024-06-15 09:40:02       28 阅读
  4. WPF第三方开源UI框架:打造独特体验的魔法师

    2024-06-15 09:40:02       38 阅读
  5. Spring Boot 和 Spring Cloud 的区别及选型

    2024-06-15 09:40:02       40 阅读
  6. 深入解析 MySQL 事务:从基础概念到高级应用

    2024-06-15 09:40:02       34 阅读
  7. C++ const关键字有多种用法举例

    2024-06-15 09:40:02       34 阅读
  8. 回溯算法练习题(2024/6/12)

    2024-06-15 09:40:02       35 阅读