GVKun编程网logo

css – 使用位置:固定元素在Safari 7上滚动时,页面的某些部分是不可见的

10

如果您想了解css–使用位置:固定元素在Safari7上滚动时,页面的某些部分是不可见的的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析cssjquery位置固定元素在右边.在Firefox中

如果您想了解css – 使用位置:固定元素在Safari 7上滚动时,页面的某些部分是不可见的的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析css jquery位置固定元素在右边.在Firefox中动画BUG、css – Chrome:拥有HTML5视频位置:固定或绝对导致所有背景附件:固定为中断、css – Div与滚动条在div内,位置:固定、css – IE 6与位置:固定的各个方面,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

css – 使用位置:固定元素在Safari 7上滚动时,页面的某些部分是不可见的

css – 使用位置:固定元素在Safari 7上滚动时,页面的某些部分是不可见的

在Mac和iOS上的Safari 7中存在一个相当大的错误,很难找到任何东西,但很容易修复.

在使用position:fixed的某些情况下,Safari 7在滚动时无法绘制部分页面.这可以在http://ruelculture.com/glitchy.html看到,点击箭头,稍等一会然后尝试向上滚动.

解决方法

要解决此问题,请通过添加以下CSS hack强制消失元素上的硬件加速:
-webkit-transform: translate3d(0,0);

在http://ruelculture.com/野外看到它.就是这样!

css jquery位置固定元素在右边.在Firefox中动画BUG

css jquery位置固定元素在右边.在Firefox中动画BUG

我为我的问题创造了一个小提琴:

fiddle

$('#move').click(function (e) {
    e.preventDefault();

    $(this).not('.up').animate({
        bottom: '50%'
    },1000,function () {
        $(this).addClass('up');
    });

    $('.up').animate({
        bottom: '0%'
    },function () {
        $(this).removeClass('up');
    });
});

Firefox中存在一个错误(我的版本:19.0.2).

单击红色按钮时,它会向右跳转(距离恰好是滚动条的宽度).
当它在右边并且你调整窗口(或小提琴框架)的大小时它会跳回来.

我做错了吗?有没有一个很好的解决方案来解决它?

解决方法

好吧,如果您更改宽度属性,那么它甚至在Firefox上工作正常

试试这个

更改

width:100px

min-width:100px;

希望能帮助到你.

css – Chrome:拥有HTML5视频位置:固定或绝对导致所有背景附件:固定为中断

css – Chrome:拥有HTML5视频位置:固定或绝对导致所有背景附件:固定为中断

这是我遇到过的最奇怪的错误,不幸的是,由于法律限制,我无法向您展示示例图片,但我会尝试尽可能好地解释它.

所以我正在构建这个网站,它通过视口大小的部分进行无限滚动.在第一部分中,我有一个表格和一个html5视频,其位置固定在后台,然后简单的背景图像为后续部分,奇数部分与背景附件:固定;这会产生一定的视差效果.

现在非常奇怪的是:只要我在第一部分中聚焦了一个表单输入,所有部分都带有background-attachment:fixed;丢失了他们的背景图片……它仍然在CSS规则中,但没有渲染(只是白色).

我尝试了类似问题的几个解决方案,如this SO thread或this post.现在第二个最有趣的事情是如果我将-webkit-transform或-scale添加到具有固定bg图像的部分,问题立即发生而没有任何聚焦…我真的无法弄清楚这一点.

我希望有人能帮助我解决这个问题,因为拥有像视差这样的行为非常重要.

这是一个jsfiddle无论如何都显示问题,不完全像在我的页面上,但你可以看到错误,在那里显示视频而不是图像,但在我的页面上我将视频设置为滚动到达第二部分后的绝对位置,所以它只是白色……

解决方法

我也遇到过这个问题.

问题是后台位置会根据浏览器窗口将内容固定在该位置.

对于视差效果,请尝试使用一些插件

css – Div与滚动条在div内,位置:固定

css – Div与滚动条在div内,位置:固定

我有一个位置的div:固定是我的容器div一些菜单。我设置为顶部:0px,bottom:0px以始终填充视口。在那个div里面我想要有两个其他的div,其中的较低的一个包含很多行,并有溢出:auto。我会期望它将被包含在容器div中,但是如果有太多的行,它只是在固定的div之外扩展。以下是我的代码和屏幕截图:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>MyPlan</title>
    <Meta name="X-UA-COMPATIBLE" value="IE=8" />
    <style type="text/css">
        #outerfixed { position:fixed;  width:200px;  background-color:blue; padding:5px; top:0px; bottom:30px;}
        #innerstatic1 { width:100%; background-color:yellow; height:100px;}
        #innerstatic2 { overflow:auto; background-color:red; width:100%;}
    </style>
</head>
<body>
    <div id="outerfixed">
        <h3>OUTERFIXED</h3>
        <div id="innerstatic1">
            <h3>INNERSTATIC1</h3>
        </div>
        <div id="innerstatic2">
            <h3>INNERSTATIC2</h3>
            line<br />
                        ...lots of lines
            line<br />
        </div>
    </div>
</body>
</html>

有没有办法让我这样做?再次,我想要#innerstatic2被正确地包含在#outerfixed中,如果它比#outerfixed里面的空间大得多,就得到滚动条。

我知道还有一些可能的方法来修复#innerstatic2,但是如果可能,我真的希望它在#outerfixed内部的流程中,所以如果我在某个地方移动#outerfixed,内部元素会随之而来。

编辑:我知道我可以在#outerfixed上设置overflow:auto,并且在整个事情上得到一个滚动条,但是我特别想要一个滚动条,就在#innerstatic2上,它是一个网格,我只想滚动网格。

任何人?可能?

解决方法

这是一个两步解决方案,但它有一些成本:

>添加overflow-y:scroll;到#innerstatic2的css。
>为#innerstatic2定义一个高度(或最大高度),否则它不会溢出,它只会不断增加其高度(div的默认值为height:auto)。

有时编辑,因为我不能停止自己。

我已经在jsbin上发布了一个演示,以显示一个这样的jQuery实现,这将为你计算一个高度(它不是一般化的,所以它只适用于你当前的html)。

(function($) {
  $.fn.innerstaticHeight = function() {
        var heightOfOuterfixed = $('#outerfixed').height(),offset = $('#innerstatic2').offset(),topOfInnerstatic2 = offset.top,potentialHeight = heightOfOuterfixed - topOfInnerstatic2;

        $('#innerstatic2').css('height',potentialHeight);
  }
})(jQuery);

$(document).ready(
    function() {
        $('#innerstatic2').innerstaticHeight();
    }
);

css – IE 6与位置:固定

css – IE 6与位置:固定

位置:修复,不适用于Internet Explorer 6.我无法真正理解谷歌上发现的修复程序.我需要它在IE6,IE7,IE8& FireFox 3.0.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
    <Meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
    <title>Sidebar fixed</title>
    <style type="text/css">
    #wrapper {
        position:relative;
        width:900px;
        margin:0 auto 0 auto;
    }
    #sidebar_left {
        position:fixed;
        height:200px;
        width:200px;
        border:1px solid #000;
    }
    #sidebar_right {
        position:fixed;
        height:200px;
        width:200px;
        margin-left:700px;
        border:1px solid #000;
    }
    #content {
        position:absolute;
        height:2000px;
        width:480px;
        margin-left:210px;
        border:1px solid #000;
    }
    </style>
</head>
<body>
    <div id="wrapper">
        <div id="sidebar_left">
            <p>Left sidebar</p>
        </div>
        <div id="sidebar_right">
            <p>Right sidebar</p>
        </div>
        <div id="content">
            <p>This is the content</p>
        </div>
    </div>
</body>
</html>

解决方法

不支持IE6!人们越早停止攻击IE6的网站,它将拥有的牵引力越小,死亡的速度就越快!或者,在第一个样式块之后添加此代码;
<!--[if IE 6]>  
<style type="text/css">  
#sidebar_right,#sidebar_left {  
position:absolute; /* position fixed for IE6 */  
top:expression(0+((e=document.documentElement.scrollTop)?e:document.body.scrollTop)+'px');  
left:expression(0+((e=document.documentElement.scrollLeft)?e:document.body.scrollLeft)+'px');  
}  
</style>  
<![endif]-->

结果不是非常流畅,但确实有效.

UPDATE

我不太清楚如何使用它;只需将具有“position:fixed”的任何元素的id(或类)添加到上述块开头的声明列表中,它们将在IE6中表现自己.

今天关于css – 使用位置:固定元素在Safari 7上滚动时,页面的某些部分是不可见的的讲解已经结束,谢谢您的阅读,如果想了解更多关于css jquery位置固定元素在右边.在Firefox中动画BUG、css – Chrome:拥有HTML5视频位置:固定或绝对导致所有背景附件:固定为中断、css – Div与滚动条在div内,位置:固定、css – IE 6与位置:固定的相关知识,请在本站搜索。

本文标签: