微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – CSS背景渐变重复问题

我有一个需要扩展宽度和高度的html页面,所以需要能够上下左右滚动,但是我似乎无法使css渐变重复-x并向下留下纯色.

剥离代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<Meta http-equiv="Content-type" content="text/html; charset=utf-8">
<style type="text/css" media="screen">
    html { 
        height: 100%;
        background-color: #366fcd; }
    body {
        margin: 0;
        height: 100%;
        width: 100%;
        background-color: #366fcd;
        background: -moz-linear-gradient(center top,#316494 0%,#366fcd 100%);
        background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#316494),color-stop(1,#366fcd));
        background-repeat: repeat-x;
    }
    div#TheElement {
        position: absolute;
        width: 100px;
        height: 100px;
        background-color: #fff;
        left: 2000px;
        top: 2000px;
    }    
</style>    
</head>
<body>
    <div id="TheElement">        
    </div>
</body>
</html>

当您向下滚动时,这会将渐变运行为纯色(#366fcd),但是当您向右滚动时,渐变会停止,您也会看到纯色. See example.

如果我删除背景颜色:#366fcd;从html元素开始,然后渐变沿着x轴重复,但是当你向下滚动时,渐变停止并出现白色. See example.

我知道我总是可以使用背景图像,但更喜欢让CSS工作.

哦,是的,这是在OSX Lion的Chrome和FF上测试的.

安东尼

解决方法

您所需要的只是 background-attachment物业.使用此属性,您可以在身体完全填充屏幕高度时修复身体的背景.
background-attachment:fixed;
height:100%;

看看我的例子
http://jsfiddle.net/mohsen/TanzY/

以下是您修复的示例:http://jsbin.com/ileqid/4

删除了背景重复属性,并且还将颜色更改为更直观.

如果您想要背景滚动,则需要设置背景附件以滚动.滚动仅在内容较高时才会发生,因此在this示例中,我将body标签高度设置为3000px.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Mip是什么意思以及作用有哪些
怎么测试Mip页面运行情况
MIP安装的具体步骤有哪些
HTML添加超链接、锚点的方法及作用详解(附视频)
MIP的规则有哪些
Mip轮播图组件中的重要属性讲解
Mip的内联框架组件是什么
怎么创建初始的MIP配置及模板文件
HTML实现多选框及无法提交多数据的原因分析(附视频)
HTML如何设置复选框、单选框以及默认选项?(图文+视频)