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

news2024/11/26 9:47:10

目录

任务描述

相关知识

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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1826140.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【SpringBoot】SpringBoot:构建实时聊天应用

文章目录 引言项目初始化添加依赖 配置WebSocket创建WebSocket配置类创建WebSocket处理器 创建前端页面创建聊天页面 测试与部署示例&#xff1a;编写单元测试 部署扩展功能用户身份验证消息持久化群组聊天 结论 引言 随着实时通信技术的快速发展&#xff0c;聊天应用在现代We…

python pandas处理股票量化数据:笔记2

有一个同学用我的推荐链接注册了tushare社区帐号https://tushare.pro/register?reg671815&#xff0c;现在有了170分积分。目前使用数据的频率受限制。不过可以在调试期间通过python控制台获取数据&#xff0c;将数据保存在本地以后使用不用高频率访问tushare数据接口&#xf…

2024年6个恢复删除数据的方法,看这篇就够了~

在数字化飞速发展的今天&#xff0c;数据已成为我们生活中不可或缺的组成部分&#xff0c;它记录着我们的记忆、创意和辛勤付出。然而&#xff0c;生活总是充满意外&#xff0c;我们可能会遭遇数据意外删除或丢失的困境。在这种关键时刻&#xff0c;如何高效、准确地恢复数据就…

Linxu开机出现 Generating “/run/initramfs/rdsosreport.txt“解决方案

Linxu开机出现 Generating "/run/initramfs/rdsosreport.txt"解决方案 解决&#xff1a; 一、找这个-root结尾的文件也不一样。 大家可以用ls /dev/mapper查看到自己装的镜像对应的以-root结尾的文件是哪个。 二、所以我们运行的是&#xff1a;xfs_repair /dev/map…

【DPDK学习路径】二、DPDK简介

DPDK(Data Plane Development Kit)是一个框架&#xff0c;用于快速报文处理。 在linux内核提供的报文处理模型中&#xff0c;接收报文的处理路径为&#xff1a;首先由网卡硬件接收&#xff0c;产生硬中断&#xff0c;触发网卡驱动程序注册的中断函数处理&#xff0c;之后产生软…

【吊打面试官系列-Mysql面试题】优化数据库的方法?

大家好&#xff0c;我是锋哥。今天分享关于 【优化数据库的方法&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 优化数据库的方法&#xff1f; 1、选取最适用的字段属性&#xff0c;尽可能减少定义字段宽度&#xff0c;尽量把字段设置 NOTNULL&#xff0c; 例…

【Android面试八股文】你能描述一下JVM中的类加载过程吗?

文章目录 一、Java类的生命周期二、JVM类加载过程1. 加载(Loading)2. 链接(Linking)a. 验证(Verification)b. 准备(Preparation)b.1 准备阶段的初始值b.2 用户定义的初值b.3 常量的初始化c. 解析(Resolution)3. 初始化(Initialization)3.1 什么是 `<clinit>`…

嵌入式系统中常用的参数存储方法

一、有哪些参数需要管理? 在智能硬件产品中,一般有三类数据需要存储并管理: 1. 系统设置数据 系统设置数据是指产品自身正常工作所依赖的一些参数。 这类数据的特点:只能在生产过程中修改,出厂后用户无权限修改。 比如:产品 SN、产品密钥/token/license、传感器校准值…

我与Python的一夜情

期末突击看这篇才够味&#xff01; 环境搭建 首先就是相关工具的安装&#xff0c;直接搜就好&#xff0c;但是还是贴个网址吧&#xff1a; Welcome to Python.orghttps://www.python.org/ 然后就是根据自己的系统选择咯&#xff1a; 谁能闲来无事送我个mac玩玩 Windows的一…

Spring 整合 MyBatis 底层源码解析

大家好&#xff0c;我是柳岸花开。今天我们要讲的是 Spring 整合 MyBatis 的底层源码解析。希望大家能更深入理解 Spring 和 MyBatis 的整合原理&#xff0c;并应用到实际项目中。 由很多框架都需要和Spring进行整合&#xff0c;而整合的核心思想就是把其他框架所产生的对象放到…

学习cel-go了解一下通用表达语言评估是什么

文章目录 1. 前言2. cel-go2.1 cel-go关键概念Applications(应用)Compilation(编译)Expressions(表达式)Environment环境解析表达式的三个阶段 3. cel-go的使用4. cel-go使用5. 说明6. 小结7. 参考 1. 前言 最近因为在项目里面实现的一个使用和||来组合获取字段值的功能有点儿…

有监督学习——支持向量机、朴素贝叶斯分类

1. 支持向量机 支持向量机&#xff08;Support Vector Machine, SVM&#xff09;最初被用来解决线性问题&#xff0c;加入核函数后能够解决非线性问题。主要优点是能适应小样本数量 高维度特征的数据集&#xff0c;甚至是特征维度数高于训练样本数的情况。 先介绍几个概念&am…

王思聪日本街头在被偶遇

王思聪日本街头再被偶遇&#xff0c;甜蜜约会日常成网友热议焦点近日&#xff0c;有网友在日本街头再次偶遇了“国民老公”王思聪&#xff0c;这次他不仅携带着一位美丽的女友&#xff0c;还展现出了两人之间亲密无间的互动&#xff0c;让不少网友感叹&#xff1a;这真的是每天…

【MySQL】E-R图-关系数据模型-3NF--精讲+练习(巨全面)

一.知识储备 E-R图 E-R图&#xff0c;即实体-关系图&#xff08;Entity-Relationship Diagram&#xff09;&#xff0c;是数据库建模的一种工具&#xff0c;用于表示实体类型、属性以及它们之间的关系。 在E-R图中&#xff0c;实体用矩形表示&#xff0c;属性用椭圆表示&…

Java SSTI服务端模版注入漏洞原理与利用

文章目录 前言Velocity基础语法基础示例命令执行 靶场实践漏洞代码漏洞验证检测工具 FreeMarker基础示例漏洞示例CMS案例 Thymeleaf基础示例漏洞示例安全方案 总结 前言 SSTI&#xff08;Server Side Template Injection&#xff09;全称服务端模板注入漏洞&#xff0c;在 Jav…

Swift开发——元组

Swift语言的数据类型包括整型、浮点型、字符串、布尔型、数组、元组、集合和字典等,本文将详细介绍元组。 01、元组 严格意义上,元组不属于数据类型,而属于数据结构。元组将一些变量或常量或字面量组织成一个有序的序列,索引号从0开始,用圆括号“()”括起来,各个元素间用…

笔记100:使用 OSQP-Eigen 对 MPC 进行求解的方法与代码

1. 前言&#xff1a; 我们在对系统进行建模的时候&#xff0c;为了减少计算量&#xff0c;一般都将系统简化为线性的&#xff0c;系统如果有约束&#xff0c;也是将约束简化为线性的&#xff1b; 因此本篇博客只针对两种常见系统模型的 MPC 问题进行求解&#xff1a; 线性系统…

【ARM-Linux篇】智能家居语音模块配置

1. pin脚配置&#xff1a; 2. 命令词自定义基本信息&#xff1a; 3. 命令词自定控制详情: • 测试&#xff1a;串口模块可先通过串口助手验证每个指令的准确性&#xff0c; 然后运行wiringOP中的serialTest程序(需把/dev/ttyS2改成/dev/ttyS5) 然后语音接收到指令后(比如喊你好…

如何在 Postman 中进行 HTTPS 请求

https 请求是一种安全的网络通信方式&#xff0c;它使用 SSL/TLS 协议来加密数据和验证身份。在 postman 中发起 https 请求的步骤如下。 Postman 发起 https 请求 1、打开 postman 应用程序&#xff0c;点击左上角的“”号按钮&#xff0c;创建一个新的请求。 2、在请求标签…

MB-iSTFT-VITS 模型论文思路与实验分享:基于VITS架构优化的轻量级文本转语音模型

参考文献&#xff1a; [1] Kawamura M, Shirahata Y, Yamamoto R, et al. Lightweight and high-fidelity end-to-end text-to-speech with multi-band generation and inverse short-time fourier transform[C]//ICASSP 2023-2023 IEEE International Conference on Acoustics…