用CSS如何设置网页渐变背景?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用CSS如何设置网页渐变背景?相关的知识,希望对你有一定的参考价值。

我在网上看到很多朋友都说这样:<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#46B5FF,endColorStr=#ffffff)" >
这里是蓝至白上下渐变。
问题是:它在FF中是没有用的,不兼容。在Safari中也无效,怎么样才能在FF中有效呢?急用!!希望知道人士帮帮我,万分感谢!
对于一楼的回答,我要补充一点哦:我的body是不限高度的,如果当我网页的内容很多时,还会渐变吗?即高超过1000px

在background-image属性中使用linear-gradient()。
background-image:<bg-image> [ , <bg-image> ]
<bg-image> = <image> | none
默认值:none
适用于:所有元素
继承性:无
动画性:否
计算值:指定值
取值:
none:无背景图。
<image>:使用绝对或相对地址指或者创建渐变色来确定图像。

<linear-gradient> = linear-gradient([ [ <angle> | to <side-or-corner> ] ,]? <color-stop>[, <color-stop>]+)
<side-or-corner> = [left | right] || [top | bottom]
<color-stop> = <color> [ <length> | <percentage> ]?
取值:
下述值用来表示渐变的方向,可以使用角度或者关键字来设置:
<angle>:
用角度值指定渐变的方向(或角度)。
to left:
设置渐变为从右到左。相当于: 270deg
to right:
设置渐变从左到右。相当于: 90deg
to top:
设置渐变从下到上。相当于: 0deg
to bottom:
设置渐变从上到下。相当于: 180deg。这是默认值,等同于留空不写。
<color-stop> 用于指定渐变的起止颜色:
<color>:
指定颜色。
<length>:
用长度值指定起止色位置。不允许负值
<percentage>:
用百分比指定起止色位置。
说明:
用线性渐变创建图像。
如果想创建以对角线方式渐变的图像,可以使用 to top left 这样的多关键字方式来实现。

参考技术A DXImageTransform.Microsoft.Gradient
明显是微软自定义滤镜,不能通用
如果你真想做渐变背景色,那我建议你
做一个 宽1像素,长1000像素的渐变图片,
这个图片体积不会很大,加载应该很快
然后用CSS铺盖到网页BODY里面,应该能达到你要的效果本回答被提问者采纳
参考技术B 自己图片拉渐变,
渐变到网页背景色(比如白色),
高度超出部分即显示背景色,背景色衔接的就很自然,
css样式定义background:#fff url(背景图片) repeat-x;
参考技术C class&&id
background: -webkit-linear-gradient(red, blue); /* Safari 5.1 - 6.0 */
background: -o-linear-gradient(red, blue); /* Opera 11.1 - 12.0 */
background: -moz-linear-gradient(red, blue); /* Firefox 3.6 - 15 */
background: linear-gradient(red, blue); /* 标准的语法 */

怎么设计css网页背景颜色过渡?

请给出完整代码!谢谢!

CSS实现渐变背景效果兼容主流浏览器
IE浏览器下渐变背景的使用需要使用IE的渐变滤镜filter
对于Firefox浏览器下(Firefox 3.6+)渐变背景的实现需使用CSS3渐变属性 为-moz-linear-gradient属性
对于webkit核心的浏览器,如Chrome/Safari浏览器下渐变背景的实现也是使用CSS3 渐变方法为-webkit-gradient
代码如下:
.gradient
  width:300px;
  height:150px;
  filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0);/*IE*/
  -ms-filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0);/*IE8*/
  background:red; /* 一些不支持背景渐变的浏览器 */
  background:-moz-linear-gradient(top, red, rgba(0, 0, 255, 0.5)); /*Firefox*/
  background:-webkit-gradient(linear, 0 0, 0 bottom, from(#ff0000), to(rgba(0, 0, 255, 0.5))); /*Chrome/Safari*/
  
<div class="gradient"></div>

参考技术A 如果想做的真正的颜色过渡兼容性比较好,还是切一个宽1像素的图片,做背景,然后平铺效果最好。纯代码实现复杂而且兼容性不是很好。 参考技术B 用一张背景图片,在背景图片中实现过渡效果,然后用CSS添加上去就是了.
如:
body
background: #78BCE8 url(/images/background.gif);
参考技术C .hbar FILTER:progid:DXImageTransform.Microsoft.Gradient(gradientType=1,startColorStr='#25323A',endColorStr='#6E706D');
.vbar FILTER:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr='#25323A',endColorStr='#6E706D');
参考技术D 纯CSS实现,只能用图片代替

以上是关于用CSS如何设置网页渐变背景?的主要内容,如果未能解决你的问题,请参考以下文章

如何CSS实现网页背景三种颜色渐变效果?

怎么设计css网页背景颜色过渡?

html中如何让背景颜色渐变???

CSS背景渐变

使用div+css实现背景颜色渐变,怎么实现呢?

请问一下CSS3样式中如何让背景渐变与背景图片共存啊!