CSS中inset属性详细讲解

CSS 中的 inset 属性是一种用于定位和调整非 static 定位元素的缩略属性。它是四个单独属性的简写,这些属性是 toprightbottomleft。通过 inset 属性,可以同时设置这些属性的值,简化代码书写。

1.属性语法

inset 属性的语法如下:

/* 单个值 */
inset: <length> | <percentage>;/* 两个值 */
inset: <length> | <percentage> <length> | <percentage>;/* 三个值 */
inset: <length> | <percentage> <length> | <percentage> <length> | <percentage>;/* 四个值 */
inset: <length> | <percentage> <length> | <percentage> <length> | <percentage> <length> | <percentage>;
①单个值

当提供一个值时,这个值会同时应用于 toprightbottomleft

.element {inset: 10px;/* 等同于 */top: 10px;right: 10px;bottom: 10px;left: 10px;
}
②两个值

当提供两个值时,第一个值会应用于 topbottom,第二个值会应用于 rightleft

.element {inset: 10px 20px;/* 等同于 */top: 10px;right: 20px;bottom: 10px;left: 20px;
}
③三个值

当提供三个值时,第一个值应用于 top,第二个值应用于 rightleft,第三个值应用于 bottom

.element {inset: 10px 20px 30px;/* 等同于 */top: 10px;right: 20px;bottom: 30px;left: 20px;
}
④四个值

当提供四个值时,这些值会依次应用于 toprightbottomleft

.element {inset: 10px 20px 30px 40px;/* 等同于 */top: 10px;right: 20px;bottom: 30px;left: 40px;
}
⑤使用示例

以下是一个使用 inset 属性的示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Inset Example</title><style>.container {position: relative;width: 200px;height: 200px;background-color: lightgray;}.box {position: absolute;inset: 10px 20px 30px 40px;background-color: lightblue;}</style>
</head>
<body><div class="container"><div class="box"></div></div>
</body>
</html>

在这个示例中,.box 元素被定位在 .container 元素内部,且它的 inset 属性设置了四个不同的偏移量,这些偏移量分别应用于 toprightbottomleft

2.正值和负值的区别

①正值

正值使元素从包含块的边缘向内偏移,即距离包含块的边缘更远。

.element {inset: 10px 20px 30px 40px;
}
  • top: 10px:从顶部向下偏移 10 像素
  • right: 20px:从右边向左偏移 20 像素
  • bottom: 30px:从底部向上偏移 30 像素
  • left: 40px:从左边向右偏移 40 像素
②负值

负值使元素从包含块的边缘向外偏移,即超出包含块的边缘。

.element {inset: -10px -20px -30px -40px;
}
  • top: -10px:从顶部向上偏移 10 像素
  • right: -20px:从右边向右偏移 20 像素
  • bottom: -30px:从底部向下偏移 30 像素
  • left: -40px:从左边向左偏移 40 像素
③示例代码
使用正值的示例
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Inset Positive Values</title><style>.container {position: relative;width: 200px;height: 200px;background-color: lightgray;}.box {position: absolute;inset: 10px 20px 30px 40px;background-color: lightblue;}</style>
</head>
<body><div class="container"><div class="box"></div></div>
</body>
</html>

在这个示例中,.box 元素会从 .container 的边缘向内偏移不同的距离,整体位于 .container 内部。

使用负值的示例
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Inset Negative Values</title><style>.container {position: relative;width: 200px;height: 200px;background-color: lightgray;}.box {position: absolute;inset: -10px -20px -30px -40px;background-color: lightblue;}</style>
</head>
<body><div class="container"><div class="box"></div></div>
</body>
</html>

在这个示例中,.box 元素会从 .container 的边缘向外偏移不同的距离,部分区域会超出 .container 的边界。

3.关键点总结

  • inset 属性:用于同时设置 toprightbottomleft 四个定位属性。
  • 正值:元素从包含块的边缘向内偏移。
  • 负值:元素从包含块的边缘向外偏移,可能超出包含块的边界。
  • 使用场景:通过正值和负值的组合,灵活地控制元素相对于其包含块的位置,从而实现各种布局效果。可以更加简洁和方便地定位和调整元素的位置,使代码更易读和维护

4.注意事项

  • inset 属性只适用于定位元素(非 static 定位)。
  • 如果元素没有固定宽高,元素会自适应调整宽和高来同时满足 toprightbottomleft 这四个定位属性。
  • 可以使用长度单位(如 pxem)或百分比值来设置 inset 属性的值。
  • 浏览器对 inset 属性的支持是逐渐增加的,因此在使用时应考虑到浏览器兼容性。

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

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

相关文章

太阳能航空障碍灯在航空安全发挥什么作用_鼎跃安全

随着我国经济的快速发展&#xff0c;空域已经成为经济发展的重要领域。航空运输、空中旅游、无人机物流、飞行汽车等经济活动为空域经济发展提供了巨大潜力。然而&#xff0c;空域安全作为空域经济发展的关键因素&#xff0c;受到了广泛关注。 随着空域经济活动的多样化和密集…

探索Sass:Web开发的强大工具

在现代Web开发中,CSS(层叠样式表)作为前端样式设计的核心技术,已经发展得非常成熟。然而,随着Web应用的复杂性不断增加,传统的CSS书写方式逐渐暴露出一些不足之处,如代码冗长、难以维护、缺乏编程功能等。为了解决这些问题,Sass(Syntactically Awesome Stylesheets)应…

VOJ 迷阵突围 题解 次短路径 dijkstra算法

迷阵突围 题目描述 小明陷入了坐标系上的一个迷阵&#xff0c;迷阵上有 n 个点&#xff0c;编号从 1 到 n 。小明在编号为 1 的位置&#xff0c;他想到编号为 n 的位置上。小明当然想尽快到达目的地&#xff0c;但是他觉得最短的路径可能有风险&#xff0c;所以他会选择第二短…

VL27 不重叠序列检测

这里最大的问题是&#xff1a; always (*) 和 always (posedge clk or negedge rst_n)的区别 always (*) 在当前时钟内会变化 always (posedge clk or negedge rst_n)由时钟驱动&#xff0c;所以会在下一个时钟才发生变化 代码 module sequence_detect(input clk,input rst_…

Waymo视角革新!MoST:编码视觉世界,刷新轨迹预测SOTA!

论文标题&#xff1a; MoST: Multi-modality Scene Tokenization for Motion Prediction 论文作者&#xff1a; Norman Mu, Jingwei Ji, Zhenpei Yang, Nate Harada, Haotian Tang, Kan Chen, Charles R. Qi, Runzhou Ge, Kratarth Goel, Zoey Yang, Scott Ettinger, Rami A…

Day34 事件聚合器实现消息过滤功能

​ 当前章节,实现了消息事件过滤功能 在上一章节中,我们发现在Login视图页和Main视图页都使用了同一个事件聚合器,导致在Login视图页发送的消息也被Main 视图主页所接收,这违反了事件传递的意图和模块化设计的原则。为了解决这个问题,我们需要为事件聚合器引入消息过滤的…

锁存器(Latch)的产生与特点

Latch 是什么 Latch 其实就是锁存器&#xff0c;是一种在异步电路系统中&#xff0c;对输入信号电平敏感的单元&#xff0c;用来存储信息。锁存器在数据未锁存时&#xff0c;输出端的信号随输入信号变化&#xff0c;就像信号通过一个缓冲器&#xff0c;一旦锁存信号有效&#…

深入解析Java中volatile关键字

前言 我们都听说过volatile关键字&#xff0c;也许大家都知道它在Java多线程编程编程中可以减少很多的线程安全问题&#xff0c;但是会用或者用好volatile关键字的开发者可能少之又少&#xff0c;包括我自己。通常在遇到同步问题时&#xff0c;首先想到的一定是加锁&#xff0…

大模型押题高考语文作文,带着大模型参加语文高考会怎么样?

前沿 大语言模型通常是指那些经过大量数据训练,能够理解和生成自然语言文本的人工智能系统。这些模型通常具有数百万到数十亿个参数,能够执行多种语言任务,例如语言翻译、文本摘要、问答系统、文本生成等。大语言模型能够捕捉语言的复杂性和细微差别,提供更加准确和自然的…

21data 数据可视化

echarts 快速上手 - 使用手册 - Apache ECharts 概念篇 图表容器及大小样式数据集数据转换坐标轴视觉映射图例 应用篇 常用图表类型 标签 python画图-matplotlib 21data 数据可视化 代码合集-CSDN博客 折线图 柱状图 雷达图 条形图 气泡图 折线堆积图 簇状柱形图

移动web性能测试工具有哪些呢?

摘要&#xff1a;本文将介绍一系列移动Web性能测试工具&#xff0c;以帮助开发人员评估和优化移动网站和应用程序的性能。我们将从基本概念开始&#xff0c;逐步深入&#xff0c;详细介绍每种工具的特点、用途和使用方法。 1. 概述 1.1 移动Web性能测试的重要性 1.2 测试工具…

微信小程序-wx.showToast超长文字展示不全

wx.showToast超长文字展示不全 问题解决方法1 问题 根据官方文档&#xff0c;iconnone&#xff0c;最多显示两行文字。所以如果提示信息较多&#xff0c;超过两行&#xff0c;就需要用其他方式解决。 解决方法1 使用vant组件里面的tost 根据官方例子使用&#xff1a; 1、在…

【Python报错】已解决ModuleNotFoundError: No module named ‘packaging’

成功解决“ModuleNotFoundError: No module named ‘packaging’”错误的全面指南 在Python编程中&#xff0c;遇到ModuleNotFoundError: No module named packaging这样的错误&#xff0c;通常意味着你的Python环境中缺少名为packaging的模块&#xff0c;或者该模块没有被正确…

YOLOV5 图像分割:利用yolov5进行图像分割

1、介绍 本章将介绍yolov5的分割部分,其他的yolov5分类、检测项目参考之前的博文 分类:YOLOV5 分类:利用yolov5进行图像分类_yolov5 图像分类-CSDN博客 检测:YOLOV5 初体验:简单猫和老鼠数据集模型训练-CSDN博客 yolov5的分割和常规的分割项目有所区别,这里分割的结果…

网络编程(UPD和TCP)

//发送数据 //UDP协议发送数据 package com.example.mysocketnet.a02UDPdemo;import java.io.IOException; import java.net.*;public class SendMessageDemo {public static void main(String[] args) throws IOException {//发送数据//1.创建DatagramSocket对象(快递公司)//…

【Linux】线程安全的艺术:解锁互斥量在并发编程中的应用

文章目录 前言&#xff1a;1. 进程线程间的互斥相关背景概念1.1. 操作共享变量会有问题的售票系统代码&#xff1a; 2. 互斥量的接口2.1. 解决方案2.1.1. 使用全局的锁&#xff1a;2.1.2. 使用局部的锁&#xff1a;2.1.3. 封装为RAII风格的加锁和解锁&#xff1a;2.1.4. C 11 中…

Liunx音频

一. echo -e "\a" echo 通过向控制台喇叭设备发送字符来发声&#xff1a; echo -e "\a"&#xff08;这里的 -e 选项允许解释反斜杠转义的字符&#xff0c;而 \a 是一个响铃(bell)字符&#xff09; 二. beep 下载对应的包 yum -y install beep 发声命令 be…

spring cloud 网关服务项目

一、base-server &#xff08;网关服务&#xff09; 可采用gataway 或者 zuul 首先主启动类上添加SpringBootApplication EnableZuulProxy 注解 如果使用nacos作为注册中心和配置中心的话需要再bootstrap.yml文件中配置 针对windows本地测试nacos需要配置环境变量然后使用脚…

YashanDB携手宏杉科技助力国产软件生态发展

近日&#xff0c;深圳计算科学研究院崖山数据库系统YashanDB与宏杉科技系列存储、系列服务器与数据库一体机等多款产品顺利完成兼容性互认证。经严格测试&#xff0c;双方产品完全兼容&#xff0c;稳定运行&#xff0c;共同提供高效、稳定、安全的国产软硬件一体化解决方案&…

后端开发面经系列 -- 中望C++一面面经

中望软件C一面面经 公众号&#xff1a;阿Q技术站 文章目录 中望软件C一面面经1、常见的qt特性&#xff1f;2、多态&#xff1f;动态多态如何实现的&#xff1f;虚表存储在哪里&#xff1f;虚表的数据结构是什么&#xff1f;3、构造函数可以是虚函数吗&#xff1f;4、析构函数…