41. css溢出、定位、z-index属性

news/2025/2/28 20:08:54/文章来源:https://www.cnblogs.com/hbutmeng/p/18600007

1. 溢出属性

1.1 概念

内容超出了标签的最大范围

overflow的值与描述:

visible 默认值。内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 无论内容是否超出范围,都会显示滚动条。
auto 内容没有超出范围,不会显示滚动条。 内容超出范围,显示滚动条。

1.2 代码

[1] 内容超出范围,呈现在元素框之外

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>p {height: 50px;width: 50px;border: 2px solid deepskyblue;}</style>
</head>
<body><p>关云长义释黄汉升,孙仲谋大战张文远</p>
</body>
</html>

[2]hidden将超出的部分隐藏

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>p {height: 50px;width: 50px;border: 2px solid deepskyblue;overflow: hidden;}</style>
</head>
<body><p>关云长义释黄汉升,孙仲谋大战张文远</p>
</body>
</html>

[3]scroll和auto显示滚动条

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>p {height: 50px;width: 50px;border: 2px solid deepskyblue;overflow: auto;}</style>
</head>
<body><p>关云长义释黄汉升,孙仲谋大战张文远</p>
</body>
</html>
View Code

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>p {height: 50px;width: 50px;border: 2px solid deepskyblue;overflow: scroll;}</style>
</head>
<body><p>关云长义释黄汉升,孙仲谋大战张文远</p>
</body>
</html>
View Code

1.3 应用:将超出圆大小的图片在圆中等比展示

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>div {height: 200px;width: 200px;border: 2px solid deepskyblue;border-radius: 50%;overflow: hidden;   /*将方形图片超出圆的部分隐藏起来,否则等宽的方形会覆盖圆*/}div img {width: 100%;    /* 将图片设置为与div标签等宽,否则显示图片实际大小*/}</style>
</head>
<body><div><img src="1.jpg" alt=""></div>
</body>
</html>

2. 定位属性

2.1 概念

静态定位(static)

所有标签默认都是static,无法改变位置,此时4个定位偏移属性不会被应用

相对定位(Relative)
相对于元素在正常文档流中的位置进行定位(相对于标签原来的位置做定位)。
通过设置position: relative属性,可以在元素自身正常显示的前提下通过设定top、right、bottom和left,来将元素在水平和垂直方向上进行调整。
相对定位会影响元素原本在文档流中的位置,但不会影响其它元素的布局。

绝对定位(Absolute)
偏移属性参照的是离自身最近的非静态定位祖先元素,如果没有非静态定位的祖先元素,则一直回溯到body元素。(相对于已经定位过的祖先标签做定位)
绝对定位会脱离文档流,不会占据原本的空间,且不会影响其他元素的布局,其margin不与其他任何margin折叠。 它常用于创建浮动效果或者覆盖其他元素。

固定定位(Fixed)
相对于浏览器窗口进行定位。
通过设置position: fixed属性,可以在元素不随页面滚动而移动的情况下使用top、right、bottom和left属性来进行定位。
固定定位的元素会一直保持在屏幕上的固定位置,不会受到页面滚动的影响。这种定位常用于创建导航栏或悬浮广告等效果。

2.2 代码

[1]position:static

静态定位下的位移参数无实际意义

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>#d1 {height: 100px;width: 100px;background-color: deepskyblue;position: static;left: 50px;top: 50px;}</style>
</head>
<body><div id="d1"></div>
</body>
</html>
View Code

[2]position:relative

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>#d1 {height: 100px;width: 100px;background-color: deepskyblue;position: relative;left: 50px; /*相对于原来位置向右移50px*/top: 50px;  /*相对于原来位置向下移50px*/}</style>
</head>
<body><div id="d1"></div>
</body>
</html>

[3]position:absolute

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>#d1 {height: 100px;width: 100px;background-color: deepskyblue;position: relative;left: 50px; /*相对于原来位置向右移50px*/top: 50px;  /*相对于原来位置向下移50px*/}#d2 {height: 100px;width: 100px;background-color: cornflowerblue;position: absolute;left: 10px; /*相对于祖先标签向右移10px*/top: 10px;  /*相对于祖先标签向下移10px*/}</style>
</head>
<body><div id="d1"><div id="d2"></div></div>
</body>
</html>

[4]position:fixed

固定在右下方

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>#d1 {height: 50px;width: 50px;background-color: deepskyblue;border: 2px solid orange;position: fixed;right: 0;bottom: 100px;}</style>
</head>
<body><div id="d1">avril</div>
</body>
</html>

3. z-index属性

3.1 概念

前端是一个三维坐标系,z轴与屏幕垂直

动态弹出的分层页面,称之为模态框

z-index的数值:整数数值,用于明确指定元素的堆叠顺序。在兼容所有浏览器的取值范围是-2147483648~2147483647。数值越大,层级越高;数值越小,层级越低。

正整数:元素位于其父元素或兄弟元素的前面。
零:元素位于其父元素或兄弟元素的平面上。
负整数:元素位于其父元素或兄弟元素的后面。

3.2 层级

以登录页面为例,分为三个层级:

最远的是内容展示区域

中间的是黑色透明区域

最近的是登录区域

3.3 代码

补充知识:rgba(255, 165, 0, 0.5)最后一个参数可以调整颜色透明度

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>#d1 {color: blue; /*将最底下的的字体设置为蓝色*/}#d2 {background-color: rgba(255, 165, 0, 0.5); /*将中间层的颜色设置为orange,透明度为0.5*/position: fixed; /*将中间层沾满整个屏幕*/left: 0;right: 0;top: 0;bottom: 0;z-index: 10;}#d3 {height: 200px;width: 200px;background-color: deepskyblue;position: absolute;left: 50%;top: 50%;z-index: 11;}#d4 {position:absolute;left: 200px;top: 200px;}</style>
</head>
<body><div id="d1">最底下的显示页面</div><div id="d2"><p id="d4">中间层</p></div><div id="d3">最上面的注册层<p>用户名:<input type="text"></p><p>密码:<input type="text"></p><p><input type="submit"></p></div>
</body>
</html>

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

成员推理攻击的防御方法及简单实现

defense_methods 2024年12月14日更新 前面我们实现了多种模型的成员推理攻击,接下来我们将针对其防御方法及其原理进行一个简单的介绍,并进行简单的代码实现,给用户提供一个详细的帮助文档。 目录 基本介绍 常用方法介绍 简单实现 基本介绍 机器学习中的成员推理攻击指的是攻…

【Java开发】SLF4J 门面日志框架原理分析

SLF4J的门面设计模式 SLF4J(Simple Logging Facade for Java)是一套日志接口,它提供了一种一致的API来使用不同的日志框架,如java.util.logging(JUL)、Logback、Log4j、Log4j 2等。SLF4J的设计基于门面(Facade)设计模式,这种设计模式为子系统中的一组接口提供一个统一…

活动报名:Voice Agent 开发者分享会丨RTE Meetup

引入 voice agent 的口语学习应用 Speak 估值已达 10 亿美元 Voice Agent 开发者分享会 一同探索语音驱动的下一代人机交互界面,一场 voice agent builder 的小规模深度交流会。RTE Meetup 迎来第六期!12 月 15 日(周日)上午,线上举办。本次活动将 聚焦 voice agent 领域 …

智慧灌区系统平台建设方案

在现代农业发展中,水资源的高效利用是提升农业产量和质量的关键。智慧灌区系统平台的建设,正是为了实现这一目标。该平台通过集成测绘地理信息与遥感技术,对灌区进行全方位的监测和管理,以提高水资源的利用效率和农业的可持续发展。一、智慧灌区系统平台的建设背景随着全球…

Go支付中台方案:多平台兼容与多项目对接

Go支付中台方案:多平台兼容与多项目对接 原创 就业陪跑训练营 王中阳2024年12月10日 09:02 湖南 6人欢迎点击下方👇关注我,记得星标哟~ 文末会有重磅福利赠送王中阳 专注程序员的就业辅导、简历优化、学习路线规划。私信我666,免费发你价值999元的学习资料。 344篇原创内容…

转载:【AI系统】推理参数

本文将介绍 AI 模型网络参数方面的一些基本概念,以及硬件相关的性能指标,为后面让大家更了解模型轻量化做初步准备。值得让人思考的是,随着深度学习的发展,神经网络被广泛应用于各种领域,模型性能的提高同时也引入了巨大的参数量和计算量(如下图右所示),一般来说模型参…

转载:【AI系统】推理引擎示例:AscendCL

AscendCL 作为华为 Ascend 系列 AI 处理器的软件开发框架,为用户提供了强大的编程支持。通过 AscendCL,开发者可以更加高效地进行 AI 应用的开发和优化,从而加速 AI 技术在各个领域的应用和落地。AscendCL 的易用性和高效性,使得它成为开发 AI 应用的重要工具之一。 本文将…

转载:【AI系统】轻量级CNN模型综述

神经网络模型被广泛的应用于工业领域,并取得了巨大成功。然而,由于存储空间以及算力的限制,大而复杂的神经网络模型是难以被应用的。首先由于模型过于庞大,计算参数多(如下图所示),面临内存不足的问题。其次某些场景要求低延迟,或者响应要快。所以,研究小而高效的 CNN 模…

转载:【AI系统】推理系统介绍

推理系统是一个专门用于部署神经网络模型,执行推理预测任务的 AI 系统。它类似于传统的 Web 服务或移动端应用系统,但专注于 AI 模型的部署与运行。通过推理系统,可以将神经网络模型部署到云端或者边缘端,并服务和处理用户的请求。因此,推理系统也需要应对模型部署和服务生…

转载:【AI系统】推理系统引言

在深入探究 AI 编译原理之后,将进一步迈向一个与日常生活紧密相连的新领域。这个领域无处不在,无论是日常使用的购物应用、观看在线视频的平台,还是钟爱的游戏,它们都与这个领域息息相关。该领域,便是推理系统与推理引擎。 那么,推理系统与推理引擎究竟是什么呢?它们之间…

转载:【AI系统】TVM 实践案例

在本文我们探讨一下,如何利用 AI 编译器在新的硬件上部署一个神经网络,从算法设计到实际运行,有哪些需要考虑的地方?本文将以 TVM 为例,首先介绍一下 TVM 的工作流:导入模型。TVM 可以从 TensorFlow、PyTorch、ONNX 等框架导入模型。 转换为 Relay。Relay 是 TVM 的中间表…

转载:【AI系统】昇腾异构计算架构 CANN

本文将介绍昇腾 AI 异构计算架构 CANN(Compute Architecture for Neural Networks),这是一套为高性能神经网络计算需求专门设计和优化的架构。CANN 包括硬件层面的达芬奇架构和软件层面的全栈支持,旨在提供强大的硬件基础和管理网络模型、计算流及数据流的软件栈,以支撑神…