当前位置: 首页 > news >正文

css属性:图片使用filter属性使得position: fixed失效的情况

        众所周知,position: fixed属性可以让我们的元素相对于当前视口的大小,让元素定位到指定页面的指定位置,也是我们经常使用的一个css属性

position: fixed; //参考视口定位
left: 50%;
top: 20px;
transform: translate(-50%);

        但是今天在使用过程中,突然发现,这个position: fixed属性居然出现了问题:我的元素居然不是根据视口的宽度显示了????

1、问题复现

让我们复现一下这个问题:

img{filter: saturate(200%);  //图片饱和度width: 180px;
}.model{width: 200px;height: 150px;background-color: skyblue;border-radius: 10px;padding: 5px;box-shadow: 0 0 5px;text-align: center;position: fixed; //参考视口定位left: 50%;top: 20px;transform: translate(-50%);
}

这是为什么呢??后来发现,当我把fillter属性注释掉之后,居然又正常了。。。。好奇怪的问题。

2、问题原因

        后来百度了一大推,发现原来filter会影响元素的父元素,导致position的参考对象变了,不再是body元素了,变成了filter的父元素,这当然不行了!!!

3、问题解决


        在vue3中提供了一个teleport标签,可以直接解决这个问题,只要将我们需要添加position: fixed;的元素包裹起来,并指定他的参考元素,就行了。

<template><button @click="isShow=true">展示弹窗</button><teleport to='body' ><div v-if="isShow" class="model"><h2>我是弹窗的标题</h2><p>我是弹窗的内容</p><button @click="isShow=false">关闭弹窗</button></div></teleport>
</template><script lang="ts" setup>
import { ref } from "vue";
let isShow = ref(false)
</script><style lang="scss" scoped>
.model{width: 200px;height: 150px;background-color: skyblue;border-radius: 10px;padding: 5px;box-shadow: 0 0 5px;text-align: center;position: fixed; //参考视口定位left: 50%;top: 20px;transform: translate(-50%);
}
</style>

http://www.lryc.cn/news/570693.html

相关文章:

  • 如何使用github并且参与别人的开源项目
  • 用 Redis 都能实现哪些功能?这2万字+20张图给分析全了
  • WiFi基本知识
  • Nginx工作原理和优化总结。
  • 小程序开发实用技巧——扩展 Page 页面对象
  • 数据库的脏读,幻读,幻行的原理及解决方式
  • 125. 验证回文串
  • 学习信号量 sem_init、sem_destroy、sem_post、sem_wait、sem_trywait、sem_getvalue
  • Android-常用基本控件
  • Linux禁用CTRL+ALT+DEL重启系统
  • linux下阅读.caj文件
  • open函数的用法:
  • 仿淘宝中心轮播图 JS[代码+详细讲解+效果图]
  • 程序员必备的15个接单平台,拥有即将获得“钞能力”!
  • “生日贺卡祝福”源代码编写打印
  • 制作简单的HTML个人网页指南
  • 大模型笔记2:提示词工程
  • three.js 通过 Reflector.js 创建镜面反射
  • 【GDB】修改程序的二进制文件
  • 毕业设计基于微信小程序的高校车辆管理系统的设计与实现
  • RSS源推荐大全
  • ssh学习整理笔记
  • 深入理解滑动窗口算法:原理、应用与 C++ 实现
  • 安装 WSL2 与设置​
  • 统计学(第8版)——第一至第三章基础概念(选择判断题)
  • 网易云音乐mp3外链-真实地址下载方法
  • 数据库查询(橙子科技学习笔记)
  • openSUSE-Leap-15.4-DVD-x86_64的日常使用设置
  • Python函数基础知识(2/3)
  • 2. Anaconda 的安装及 Pytorch 环境安装