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

2024-06-15 06:28

本文主要是介绍相对与绝对布局:悬浮的提示框页面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

任务描述

相关知识

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.chinasem.cn/article/1062670

相关文章

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

浅析Python中的绝对导入与相对导入

《浅析Python中的绝对导入与相对导入》这篇文章主要为大家详细介绍了Python中的绝对导入与相对导入的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1 Imports快速介绍2 import语句的语法2.1 基本使用2.2 导入声明的样式3 绝对import和相对i

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

禁止HTML页面滚动的操作方法

《禁止HTML页面滚动的操作方法》:本文主要介绍了三种禁止HTML页面滚动的方法:通过CSS的overflow属性、使用JavaScript的滚动事件监听器以及使用CSS的position:fixed属性,每种方法都有其适用场景和优缺点,详细内容请阅读本文,希望能对你有所帮助... 在前端开发中,禁止htm

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加