背景附件:固定;不使用背景位置

2023-12-04

我做了一个codepen解释我的问题:

  • 当用户滚动时,蓝色图像应跟随用户滚动
  • 蓝色图像应粘贴在旁边部分的另一侧(右侧为左侧|左侧为右侧)

pb 是这样的

background-attachment : fixed;

这个CSS规则不起作用

background-position: left 0px;

有人可以通过分叉 codepen 来帮助我向我展示一个有效的实现吗?

.wrapper {
  display: flex;
}

main {
  background-color: red;
  height: 1000px;
  max-width: 992px;
  width: 100%;
}

aside {
  min-width: 150px;
  background-color: green;
}

.left {
  background-image: url(http://www.bodyacademy.fr/wp-content/uploads/2015/02/Bande_bleu1-100x500.png);
  background-repeat: no-repeat;
  background-position: right 0px;
  /*background-attachment: fixed; Doesn't work*/
}

.right {
  background-image: url(http://www.bodyacademy.fr/wp-content/uploads/2015/02/Bande_bleu1-100x500.png);
  background-repeat: no-repeat;
  background-position: left 0px;
  /*background-attachment: fixed; Doesn't work*/
}
<div class="wrapper">
  <aside class="left"></aside>
  <main></main>
  <aside class="right"></aside>
</div>

为什么会发生这种情况?

当您使用时,这将按预期工作background-position: fixed;背景相对于视口定位。这意味着在您的示例中,背景现在在视口外部的最左侧对齐.right元素。

你可以通过定位看到这一点.right沿着下面代码片段中视口的左边缘。

.wrapper {
  display: flex;
}

main {
  background-color: red;
  height: 1000px;
  max-width: 992px;
  width: 100%;
}

aside {
  min-width: 150px;
  background-color: green;
}

.left {
  background-image: url(http://www.bodyacademy.fr/wp-content/uploads/2015/02/Bande_bleu1-100x500.png);
  background-repeat: no-repeat;
  background-position: right 0px;
  /*background-attachment: fixed; Doesn't work*/
}

.right {
  background-image: url(http://www.bodyacademy.fr/wp-content/uploads/2015/02/Bande_bleu1-100x500.png);
  background-repeat: no-repeat;
  background-position: left 0px;
  background-attachment: fixed;
  order: -1;
}
<div class="wrapper">
  <aside class="left"></aside>
  <main></main>
  <aside class="right"></aside>
</div>

你能做什么?

使用时无法相对于元素定位背景background-position: fixed;但您可以通过使用来实现类似的预期结果position: fixed;伪元素:

  • Add a new selector .left:before, .right:before with the following rules
    • background-image: url(http://www.bodyacademy.fr/wp-content/uploads/2015/02/Bande_bleu1-100x500.png);- 背景图片
    • background-repeat: no-repeat;- 停止背景重复
    • content: "";- 伪元素需要显示
    • position: fixed;- 设置伪元素相对于视口固定
    • height: 100%;- 让伪元素充满整个高度
    • width: 100px;- 与背景图像的宽度相同

.wrapper {
  display: flex;
}

main {
  background-color: red;
  height: 1000px;
  max-width: 992px;
  width: 100%;
}

aside {
  min-width: 150px;
  background-color: green;
}

.left {
  direction: rtl;
}

.left:before, .right:before {
  background-image: url(http://www.bodyacademy.fr/wp-content/uploads/2015/02/Bande_bleu1-100x500.png);
  background-repeat: no-repeat;
  content: "";
  position: fixed;
  height: 100%;
  width: 100%;
}

.left:before {
  background-position: right top;
}

.right:before {
  background-position: left top;
}

.right div {
  position: relative;
}
<div class="wrapper">
  <aside class="left"></aside>
  <main></main>
  <aside class="right">
    <div>content</div>
  </aside>
</div>

请注意,如果您打算将其他内容放入.right你需要添加position: relative;到元素以设置伪元素上方的堆叠上下文(请参阅div在片段中)。

为什么这有效?

position: fixed;将元素固定到相对于视口的设定位置。通过不设置bottom, left, right or top伪元素保留在其原始位置的位置。背景可以以通常的方式应用到元素上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

背景附件:固定;不使用背景位置 的相关文章

  • 由于 MIME 类型不受支持,拒绝应用样式

    我不断收到一条错误消息 指出 MIME 类型 text html 不可执行或不是受支持的样式表 MIME 类型 并且启用了严格的 MIME 检查 我的链接代码是
  • 如何使用带有 python 的报告实验室将 html 文档转换为 pdf

    我正在尝试使用报告实验室将我创建的 html 文档转换为 pdf html 文档如下 我不确定如何做到这一点 我在网上查看过 似乎找不到解决方案 html文档 h2 Convert to pdf h2 p Lorem ipsum dolor
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • html 和 body 元素的高度

    我一直在互联网上查找 min height 和 height 属性如何在 body 和 html 元素上工作 我在很多地方都看到过下面的代码 html height 100 body min height 100 上面的内容可以与其他一些
  • PyCharm 中有 HTML 块 {%%} 的快捷方式吗?

    我正在使用 HTML 块 例如 block content 经常使用 但必须输入括号和百分比符号很麻烦 有没有捷径或其他方法可以自动执行此操作 到目前为止我刚刚发现这个 PyCharm 中有插入 的快捷方式吗 https stackover
  • CSS 的波浪形状

    我正在尝试使用 CSS 重新创建此图像 我不需要重复它 这就是我开始的 但它只有一条直线 wave position absolute height 70px width 600px background e0efe3 div div 我认
  • 在html表格的每一行添加点击功能

    我最近创建了一个函数 它根据用户在网站中的输入进行一些复杂的名称匹配 并将结果作为表格格式的 html 文件返回 我的问题是如何在每一行添加点击功能 df get cust info returns a pandas dataframe d
  • 删除数据表列中的额外填充

    你好 我创建了 JQuery DataTables 如下所示 所以我的问题是如何删除 图片 列中过多的填充 这就是我初始化表的方式 violators tbl DataTable aoColumnDefs bSortable false a
  • 如何设置菜单按钮和菜单项的样式

    我尝试更改菜单按钮中的样式 我可以更改菜单按钮样式 但不能更改其菜单项 无论我尝试什么 菜单按钮内的菜单项都保持不变 menu button fx background color black menu button label fx ba
  • 如何防止 Iframe 在与浏览器交互后弄乱浏览器的历史记录?

    因此 就我而言 我使用 Iframe 将 Grafana 附加到我的页面 这为我提供了漂亮且易于使用的图表 可以注意到 每次在图表上进行放大或缩小 使用鼠标单击 交互后 Grafana 的 Iframe 都会在我的 Angular 页面上触
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • Iframe 相对路径挑战

    我有一个页面 在页面内有一个 Iframe 目录如下 Folder1 Folder2 IframeCSS IframeCSS Css iframePage1 html stuff css parentPage1 html 在 iframeP
  • 现在 CSS3 供应商前缀有多必要? [复制]

    这个问题在这里已经有答案了 我只是想知道现在在 CSS 中指定 webkit moz ms 或 o 等供应商前缀在多大程度上仍然有必要 如果我理解正确的话 opera 切换到了 webkit 所以会删除 o 对吗 IE 在 IE10 中不再
  • HTML 离线应用程序缓存,列出下载的文件

    作为我正在构建的离线 Web 应用程序的加载屏幕的一部分 使用缓存清单 http developer apple com library safari documentation iPhone Conceptual SafariJSData
  • 避免响应式页面的重复内容

    我目前正在做一个涉及响应式设计的项目 整个布局应该使用HTML和CSS来实现 我知道可以使用 java 脚本将内容从一个列布局移动到另一列布局 而无需复制内容 但是使用 HTML 和 CSS 是否可以实现相同的效果 以下面的例子为例 它会在
  • 我可以使用 jQuery 打开下拉列表吗

    对于 HTML 中的下拉列表
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比
  • 无效字符错误:“fred”

    我确信他一定是一个新手问题 简单来说 我想定义我的第一个 Polymer dart 组件 只是我一直在同一个减速带上踢脚趾 为了使事情变得非常简单 我将其简化为一个非常简单的示例 我做了一个简单的rename示例 跑表 来自 Dart 组件
  • FireFox 中的“contenteditable = true”高度问题

    当有空的时候div with contenteditable true CSS contenteditable true border 1px dashed dedede padding 3px HTML div div 在 IE 和 Ch

随机推荐

  • FFMPEG 将视频与图像叠加会删除音频

    我使用以下命令从给定的视频和图像生成视频 我还填充和缩放视频 这个命令效果很好 它生成了预期的结果 但是在结果视频中没有声音 ffmpeg exe i input mp4 i rj2k15y3 png filter complex 0 v
  • 根据类型类设置抽象类型

    我有一个这样的例子 abstract class IsBaseTC A type Self abstract class JustHoldsTypeMember A extends IsBaseTC A implicit val doubl
  • 活动未延伸至横向切口下方

    在我的活动中 我使用以下代码打开 关闭全屏 我所说的全屏是指隐藏 显示状态栏 该问题发生在具有切口 有摄像头的地方 且状态栏可见且处于横向状态的设备上 当状态栏隐藏或 和处于纵向时它会延伸 if aStatus Hide getWindow
  • Bash 脚本让用户从列表中选择或输入自己的

    我有一个简单的脚本 我想列出一些预先填充的选项 或者让用户输入一个与构建相关的数字 这就是我目前所拥有的 read p Please select from the list below or enter the build number
  • Dapper 源代码 - 这会正确处理我的连接吗?

    查看 Dappers QueryAsync 方法的源代码 SqlMapper Async cs private static async Task
  • iOS 如何通过宏检测iPhone X、iPhone 6 plus、iPhone 6、iPhone 5、iPhone 4?

    如何通过宏检测设备型号 我使用过类似的东西 但模拟器上的结果总是 IS IPHONE 5 define IS IPAD UI USER INTERFACE IDIOM UIUserInterfaceIdiomPad define IS IP
  • 包含宏的 C++ 方法声明

    我正在使用 QuickFAST 库 在检查它时我发现了这个类声明 但我似乎并没有真正理解 我的意思是类名之前的宏名称是什么意思 class QuickFAST Export Message public FieldSet 我还发现了这个声明
  • Swift 动态变量名称取决于值

    我有一个像这样的变量名称列表 BankHelper swift static var va 1 atm ol li Silahkan kunjungi ATM terdekat li li Pilih Menu strong Transak
  • 使用内联汇编修改数组元素

    有没有办法通过内联汇编修改特定的数组元素 int move 2 我正在寻求改变move 0 and move 1 in asm 我是汇编编码的新手 主要坚持C 可能有一个非常简单的答案 到目前为止我已经尝试移动move 1 到寄存器中 将我
  • 单击链接不应触发家长 onclick 事件

    我有以下代码 div some text a href asd php click a div 当有人点击链接时 就会触发 javaschipt 事件 我希望该事件仅在有人单击文本或 div 容器内的空白区域时触发 如果有人点击链接则不会
  • 使用 cx-freeze 时没有名为 bs4 的模块

    我正在尝试使用以下命令将我的 python 脚本转换为适用于 Windows 的独立可执行文件CX 冻结 为此 我刚刚输入了这个命令cxfreeze PlaylistDownloader py PlaylistDownloader py 是
  • 如何在具有枚举字段的实体上使用 JPA CriteriaQuery 填充 DTO 类字符串字段?

    我正在使用 JPA Criteria API 在查询多选中我想检索枚举属性 而不是枚举本身 这是我的查询 final CriteriaQuery
  • Swift + didUpdateUserLocation 没有被调用

    我无法打电话MKMapView委托方法didUpdateUserLocation 到目前为止我做了什么 添加框架MapKit framwork在项目中 在视图控制器中导入框架import MapKit line 在plist文件中添加密钥
  • Jersey 在尝试返回 XML 响应时返回 500

    我正在尝试使用基于 Jersey 2 12 创建自己的 RESTful WS 应用程序this文章 我想根据从 url 传递的 id 返回一个类的 XML 表示形式 但是 在尝试从以下任一位置尝试时 我收到了 500 响应代码高级休息客户端
  • 如何获取 XMLHttpRequest 中的响应 url?

    有一个页面 url 我通过 XMLHttpRequest 请求它 但是我没有从请求的 url 中得到响应 它将请求定向到另一个页面 请求 gt page php 得到回复 gt 定向页面 php 问题是如何获取响应 url 示例中的dire
  • 多个 CSS 计数器未按预期工作

    我正在尝试在 html 表中创建多个级别的计数器 但这并不像我预期的那样工作 第一个计数器工作正常 但接下来的计数器不工作 不知何故 计数器没有增加或重置错误 代码
  • Vue3 国际化与 I18n 和脚本设置 (vite)

    我正在尝试将我的 Vue3 带有 Vite 设置 项目国际化 intlify vite plugin vue i18n我正在使用
  • 为什么setup.py在安装之前会扫描命名空间的内容?

    我使用带有 setuptools 的命名空间在两个不同的存储库中分发相同的模块 目标是得到mymodule one and mymodule two安装后 知道内容one and two来自不同的仓库 但看起来像两个setup py互相扫内
  • 将 System.Double 表示为可排序字符串的最佳方式是什么?

    在所有基础类型都是字符串的数据格式中 数字类型必须转换为可以按字母顺序比较的标准化字符串格式 例如 一个short对于价值27可以表示为00027如果没有负面影响 代表一个的最好方式是什么double作为字符串 就我而言 我可以忽略负数 但
  • 背景附件:固定;不使用背景位置

    我做了一个codepen解释我的问题 当用户滚动时 蓝色图像应跟随用户滚动 蓝色图像应粘贴在旁边部分的另一侧 右侧为左侧 左侧为右侧 pb 是这样的 background attachment fixed 这个CSS规则不起作用 backg