在div上使用固定位置时出现意外行为

时间:2015-10-12 18:53:57

标签: html css ionic-framework css-position fixed

我的<body />有一个<ion-nav-bar />和一个<ion-nav-view />。在<ion-content />的{​​{1}}范围内,我想添加一个<ion-view />来获取整个屏幕的宽度和高度(即完全覆盖所有其他元素),所以我添加了以下风格:

<div />

奇怪的是,position: fixed; top: 0; left: 0; right: 0; bottom: 0; 的顶部没有到达屏幕顶部,而是到<div />的底部。知道为什么吗?

以下是您可以使用的弹药:http://plnkr.co/edit/q2iynXaMnTZ2fGqzlJZo。您会看到红色边框未覆盖标题。查看<ion-nav-bar />home.html文件。

我必须误解一下固定位置,我认为宽度是一个固定位置,一个元素相对于浏览器窗口定位。那我在哪里错了?如何让我的固定style.css占据整个屏幕?

1 个答案:

答案 0 :(得分:0)

您的理解是正确的,但是,当您在祖先使用transform时,固定位置后代相对于它定位。

因为这(你的固定元素的祖先):

<div style="transform: translate3d(0px, 0px, 0px) scale(1);" class="scroll padding">

使用transform时,固定元素坐标相对于此div的大小。如果您要删除转换,您将获得预期的结果。