JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
来源: 阅读:1637 次 日期:2016-07-16 13:10:39
温馨提示: 小编为您整理了“JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)”,方便广大网友查阅!

本文实例讲述了JS+CSS实现的漂亮渐变背景特效代码。分享给大家供大家参考,具体如下:

运行效果截图如下:

名单

具体代码如下:

<html>

  <head>

    <title>

      JS配合CSS实现的漂亮渐变背景特效6个实例

    </title>

    <script>

      var setGradient = (function() {

        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;

        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;

            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;

            };

          }

        }

      })();

    </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>

      <div id="example1" class="example">

        CSS特效代码。

      </div>

      <div id="example2" class="example">

        各类编程源码、

      </div>

      <div id="example3" class="example">

        精品软件

      </div>

      <div id="example4" class="example">

        上海世博园

      </div>

      <div id="example5" class="example">

        我家北京天安门

      </div>

      <div id="example6" class="example">

        北京欢迎您!

      </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>

</html>

希望本文所述对大家JavaScript程序设计有所帮助。

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map