Implementation of div gradient background

Source: Internet
Author: User

<Html>
<Head>
<Meta http-equiv = content-type content = "text/html; charset = gbk">
<Title> gradient background </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, 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> gradient background-beta1 <H4> IE6, IE7, and FF2 passed the test.

<Div id = "example1" class = "example">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. aliquam blandit nunc lobortis diam bibendum semper. nunc 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, presponeget, 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 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 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, presponeget, 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 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, presponeget, 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 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, presponeget, 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 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, presponeget, 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>

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.