div渐变背景的实现

<html> 
<head> 
<meta http-equiv=content-type content="text/html; charset=gbk"> 
<title>渐变背景</title> 

<script> 

var setGradient = (function(){ 

//private variables; 
var p_dCanvas = document.createElement('canvas'); 
var p_useCanvas = !!( typeof(p_dCanvas.getContext) == 'function'); 
var p_dCtx = p_useCanvas?p_dCanvas.getContext('2d'):null; 
var p_isIE = /*@cc_on!@*/false; 

//test if toDataURL() is supported by Canvas since Safari may not support it 

try{ p_dCtx.canvas.toDataURL() }catch(err){ 
p_useCanvas = false ; 
}; 

if(p_useCanvas){ 

return function (dEl , sColor1 , sColor2 , bRepeatY ){ 

if(typeof(dEl) == 'string') dEl = document.getElementById(dEl); 
if(!dEl) return false; 
var nW = dEl.offsetWidth; 
var nH = dEl.offsetHeight; 
p_dCanvas.width = nW; 
p_dCanvas.height = nH; 

var dGradient; 
var sRepeat; 
// Create gradients 
if(bRepeatY){ 
dGradient = p_dCtx.createLinearGradient(0,0,nW,0); 
sRepeat = 'repeat-y'; 
}else{ 
dGradient = p_dCtx.createLinearGradient(0,0,0,nH); 
sRepeat = 'repeat-x'; 

dGradient.addColorStop(0,sColor1); 
dGradient.addColorStop(1,sColor2); 

p_dCtx.fillStyle = dGradient ; 
p_dCtx.fillRect(0,0,nW,nH); 
var sDataUrl = p_dCtx.canvas.toDataURL('image/png'); 

with(dEl.style){ 
backgroundRepeat = sRepeat; 
backgroundImage = 'url(' + sDataUrl + ')'; 
backgroundColor = sColor2; 
}; 

}else if(p_isIE){ 

p_dCanvas = p_useCanvas = p_dCtx = null; 
return function (dEl , sColor1 , sColor2 , bRepeatY){ 
if(typeof(dEl) == 'string') dEl = document.getElementById(dEl); 
if(!dEl) return false; 
dEl.style.zoom = 1; 
var sF = dEl.currentStyle.filter; 
dEl.style.filter += ' ' + ['progid:DXImageTransform.Microsoft.gradient( GradientType=', +(!!bRepeatY ),',enabled=true,startColorstr=',sColor1,', endColorstr=',sColor2,')'].join(''); 

}; 

}else{ 

p_dCanvas = p_useCanvas = p_dCtx = null; 
return function(dEl , sColor1 , sColor2 ){ 

if(typeof(dEl) == 'string') dEl = document.getElementById(dEl); 
if(!dEl) return false; 
with(dEl.style){ 
backgroundColor = sColor2; 
}; 
//alert('your browser does not support gradient effet'); 


})(); 

</script> 

<style> 
body{font:0.75em/1.4 Arial;text-align:left;margin:20px;} 
hr{clear:both;visibility:hidden;} 
xmp{font:12px/12px "Courier New";background:#fff;color:#666; border:solid 1px #ccc;} 
div.example{ border:solid 1px #555;margin:0 20px 20px 0;float:left; display:inline;margin:1em;background:#fff;width:300px;padding:40px;color:#222;font:xx-small/1.2 "Tahoma";text-align:justify;} 
</style> 

<body> 

<h1>渐变背景-beta1</h1> 
<h4>IE6,IE7,FF2测试通过.</h4> 

<div id="example1" class="example"> 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam blandit nunc lobortis diam bibendum semper. Nunc aliquam aliquam mi. Maecenas porttitor, lorem sed mattis ultrices, lorem risus consequat mi, vitae ullamcorper leo ipsum in tellus. Pellentesque arcu est, sollicitudin sed, ultricies quis, vestibulum a, neque. Duis massa elit, gravida vel, lacinia eu, pretium eget, ipsum. Etiam magna urna, ultrices ut, eu </div> 

<div id="example2" class="example"> 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam blandit nunc lobortis diam bibendum semper. Nunc aliquam aliquam mi. Maecenas porttitor, lorem sed mattis ultrices, lorem risus consequat mi, vitae ullamcorper leo ipsum in tellus. Pellentesque arcu est, sollicitudin sed, ultricies quis, vestibulum a, neque. Duis massa elit, gravida vel, lacinia eu, pretiu </div> 

<div id="example3" class="example"> 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam blandit nunc lobortis diam bibendum semper. Nunc aliquam aliquam mi. Maecenas porttitor, lorem sed mattis ultrices, lorem risus consequat mi, vitae ullamcorper leo ipsum in tellus. Pellentesque arcu est, sollicitudin sed, ultricies quis, vestibulum a, neque. Duis massa elit, gravida vel, lacinia eu, pretium eget, ipsum. Etiam magna urna </div> 

<div id="example4" class="example"> 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam blandit nunc lobortis diam bibendum semper. Nunc aliquam aliquam mi. Maecenas porttitor, lorem sed mattis ultrices, lorem risus consequat mi, vitae ullamcorper leo ipsum in tellus. Pellentesque arcu est, sollicitudin sed, ultricies quis, vestibulum a, neque. Duis massa elit, gravida vel, lacinia eu, pretium eget, ipsum. Etiam magna urna, ultrices ut, euismod in, lobortis tempus, ipsum. Fusce risus tellus, interdum sit amet, </div> 

<div id="example5" class="example"> 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam blandit nunc lobortis diam bibendum semper. Nunc aliquam aliquam mi. Maecenas porttitor, lorem sed mattis ultrices, lorem risus consequat mi, vitae ullamcorper leo ipsum in tellus. Pellentesque arcu est, sollicitudin sed, ultricies quis, vestibulum a, neque. Duis massa elit, gravida vel, lacinia eu, pretium eget, ipsum. Etiam magna urna, ultrices ut, euismod in, lobortis tempus, ipsum. Fusce risus tellus, interd </div> 

<div id="example6" class="example"> 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam blandit nunc lobortis diam bibendum semper. Nunc aliquam aliquam mi. Maecenas porttitor, lorem sed mattis ultrices, lorem risus consequat mi, vitae ullamcorper leo ipsum in tellus. Pellentesque arcu est, sollicitudin sed, ultricies quis, vestibulum a, neque. Duis massa elit, gravida vel, lacinia eu, pretium eget, ipsum. Etiam magna urna, ultrices ut, euismod in, lobortis tempus, ipsum. Fusce risus tellus, interd </div> 

<script> 
setGradient('example1','#4ddbbe','#d449cc',1); 
setGradient('example2','#46ddbd','#d8b617',0); 
setGradient('example3','#c81fc1','#bf445f',1); 
setGradient('example4','#2285e5','#d769eb',0); 
setGradient('example5','#8b4286','#eac87d',1); 
setGradient('example6','black','white',0); 
</script> 

</body> 

时间: 2024-09-26 09:51:50

div渐变背景的实现的相关文章

CSS实现兼容性的渐变背景(gradient)效果兼容众多浏览器

一.有点俗态的开场白 要是两年前,实现"兼容性的渐变效果"这个说法估计不会被提出来的,那个时 候,说起渐变背景,想到的多半是IE的渐变滤镜,其他浏览器尚未支持,但是,在对CSS3支持日趋完善的今天,实现兼容性的渐变背景效果已经完全成为可 能,本文就将展示如何实现兼容性的渐变背景效果.在众多的浏览器中,目前不支持Opera浏览器. 本文实例效果都是同样的效果,就是垂直渐变,起始颜色红色,结束颜色蓝色,结束的蓝色的透明度是0.5.  二.IE浏览器下的渐变背景 IE浏览器下渐变背景的使用需

JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)_javascript技巧

本文实例讲述了JS+CSS实现的漂亮渐变背景特效代码.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <html> <head> <title> JS配合CSS实现的漂亮渐变背景特效6个实例 </title> <script> var setGradient = (function() { var p_dCanvas = document.createElement('canvas'); var p_useCanvas =

div css背景颜色半透明 文字不透明(兼容ie、火狐等浏览器)

div css背景颜色半透明 文字不透明(兼容ie.火狐等浏览器)

PPT怎么制作渐变背景

  PPT怎么制作渐变背景          PowerPoint中纯色背景渐变 在PowerPoint 2016中,切换到"设计"选项卡,点击工具栏右侧的"设置背景格式"按钮,在右侧调出设置背景格式窗格,选中"渐变填充"项,就可以为当前幻灯片设置纯色渐变背景了. PPT中的背景渐变至少有两组或多组颜色构成.在色彩渐变的可控制变量中,最关键的是"渐变光圈",它可以确定有几组颜色渐变,渐变的颜色,以及渐变的颜色.位置.透明度和亮

16个轻盈灵逸的渐变背景网站

  仅靠敲代码就搞定背景的网站!得益于CSS技术的进步,现在我们可以敲代码就实现超赞的渐变背景,效果丝毫不输Photoshop,且不受屏幕大小限制,绝对是未来的热门趋势之一,抢先学起来 >>> Love Message Niek Dekker W3 Erik Zuuring Pixel Palace Bacae Canal TP Speedo Fit Oscar Barber Atom The Snippet App Coline Pushh 3Minute inc. Electric

jQuery实现鼠标滑过Div层背景变颜色的方法

 这篇文章主要介绍了jQuery实现鼠标滑过Div层背景变颜色的方法,涉及jQuery中hover及addClass方法的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jQuery实现鼠标滑过Div层背景变颜色的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <html> <head> <title>jQuery实现感应鼠标经过Div层变换图层背景颜色)</title> <style type="

渐变背景(background)效果

chrom and Safari浏览器: webkit核心的浏览器,使用CSS3渐变方法(css-gradient) -webkit-gradient(type, start_point, end_point, / stop...) -webkit-gradient(type, inner_center, inner_radius, outer_center, outer_radius, / stop...) background: -webkit-gradient(linear,0 0,0 1

jsp登录界面是一张图片 在图片上增加div--input,怎么让div 自适应背景大小

问题描述 jsp登录界面是一张图片 在图片上增加div--input,怎么让div 自适应背景大小 jsp登录界面是一张图片 在图片上增加div--input,怎么让div 自适应背景大小,浏览器缩小div不在原来位置![ 解决方案 div下图片自适应大小div背景图片自适应 解决方案二: 搞反了吧,应该是让图片自动填充满div吧.用css3 的background-size:100%,不过ie8-不支持 解决方案三: background-position:center; 解决方案四: 背景图

jQuery实现鼠标滑过Div层背景变颜色的方法_jquery

本文实例讲述了jQuery实现鼠标滑过Div层背景变颜色的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>jQuery实现感应鼠标经过Div层变换图层背景颜色)</title> <style type="text/css"> .divbox{   height:300px;   width:200px;   background:#ffffff;   border