DIY cnblog——背景渐变切换

摘要:
先跟大家分享一个渐变背景素材的网站:https://webgradients.com/大家进去会发现是这样的:这是一个CSS做的渐变特效,复制了CSS之后就可以直接用了,复制的代码是background-image:linear-gradient;我在做渐变背景的思路大致是这样的,挑选出喜欢的渐变特效,创建一个数组保存,之后采用随机数和定时器来切换背景颜色。小伙伴们按照序号来读会比较清晰varbc=[//1.创建一个数组保存渐变的颜色"linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient","linear-gradient"];changeBackground();//4.突发奇想,除了每隔10s切换一次,还有哪些其他触发事件呢?

进来的小伙伴应该已经看过了我的博客样式,但还是贴张图先:

1565376305888

先大致说一下实现的思路,然后把代码贴出来供小伙伴们参考。

由于不是特别技术性的文章,格式就放宽松一点,跟着意识流走吧。

先跟大家分享一个渐变背景素材的网站:

https://webgradients.com/

大家进去会发现是这样的:

1565376476253

这是一个CSS做的渐变特效,复制了CSS之后就可以直接用了,复制的代码是

background-image: linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%);

我在做渐变背景的思路大致是这样的,挑选出喜欢的渐变特效,创建一个数组保存,之后采用随机数和定时器来切换背景颜色。

小伙伴们按照序号来读会比较清晰

<script>
    var bc = [   //1.创建一个数组保存渐变的颜色
        "linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%)",
        "linear-gradient(to top, #fbc2eb 0%, #a6c1ee 100%)",
        "linear-gradient(to top, #fdcbf1 0%, #fdcbf1 1%, #e6dee9 100%)",
        "linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%)",
        "linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%)",
        "linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%)",
        "linear-gradient(to top, #d299c2 0%, #fef9d7 100%)",
        "linear-gradient(to top, #9890e3 0%, #b1f4cf 100%)",
        "linear-gradient(to top, #cd9cf2 0%, #f6f3ff 100%)",
        "linear-gradient(to top, #ebbba7 0%, #cfc7f8 100%)",
        "linear-gradient(to top, #fff1eb 0%, #ace0f9 100%)",
        "linear-gradient(to top, #accbee 0%, #e7f0fd 100%)",
        "linear-gradient(-20deg, #e9defa 0%, #fbfcdb 100%)",
        "linear-gradient(to top, #6a85b6 0%, #bac8e0 100%)",
        "linear-gradient(to top, #9795f0 0%, #fbc8d4 100%)",
        "linear-gradient(to top, #88d3ce 0%, #6e45e2 100%)",
        "linear-gradient(to top, #d9afd9 0%, #97d9e1 100%)",
        "linear-gradient(45deg, #93a5cf 0%, #e4efe9 100%)",
        "linear-gradient(to top, #f3e7e9 0%, #e3eeff 99%, #e3eeff 100%)",
        "linear-gradient(to top, #dad4ec 0%, #dad4ec 1%, #f3e7e9 100%)",
        "linear-gradient(to top, #bdc2e8 0%, #bdc2e8 1%, #e6dee9 100%)",
        "linear-gradient(-225deg, #2CD8D5 0%, #C5C1FF 56%, #FFBAC3 100%)"
    ];
    changeBackground();//4.突发奇想,除了每隔10s切换一次,还有哪些其他触发事件呢?没错,就是刷新
    //页面每次刷新都会重新加载代码,所以changeBackground();主要是为了在刷新页面时更换背景颜色的。

    function changeBackground() {  //2.定义生成随机数和切换背景的函数
        var color_string = bc[Math.floor(Math.random() * 22)];
        $("body").css("background-image", color_string);

    }
    $(function () {
        $("body").css("background-attachment", "fixed"); 
        setInterval(changeBackground, 10000);  //3.设置定时器,每隔10s更换一次背景
    });
</script>

关于背景渐变的部分就这么多了。


除了背景渐变之外,还有一些其他的DIY代码我也一起贴出来(下面是第一次DIY的全部代码,感兴趣的小伙伴们也可以自己试试)

大家还是按照序号来看就好了:

对了,先注明,我是默认选了下面这款皮肤:

1565377483934

<style>
    #header {   //1.由于要自定义页首,所以将原先的页首隐藏掉
        display: none;
    }

    body { //3.这个是修改背景颜色在滚动状态下依然是垂直平铺的
        background: fixed;
    }

    body,
    div,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    ul,
    li,
    img {   //4.这个是定义边框的圆角的,像分类和分页都是圆角显示
        border-radius: 15px;
    }

    .sidebar-block {  
    //5.这是一个细节,分类的背景默认是白色,如果有圆角边框的话就会多出来,于是将背景颜//色设置为透明
        background-color: transparent;
    }

    #sideBar li {
    //6.这是设置分类侧栏边标签的背景颜色和字体大小
        background-color: white;
        font-size: 16px;
    }

    .sidebar-block ul li a:hover {
     //7.设置右侧分类标签链接属性,当鼠标进去时,字体颜色为黑色,字体增大
        color: black;
        font-size: 17px;
    }

    .sidebar-block h3 {
    //7.这是设置随笔分类那四个字的样式的,其中背景为渐变
        border: 0px;
        margin-bottom: 3px;
        background-image: linear-gradient(to right, #434343 0%, black 100%);
        font-size: 25px;
    }

    .sidebar-block ul li {
     //8.写不下去了,这样写得累死,直接跳到下面,分享一下怎么调代码
        line-height: 1;
    }

    .catListView {
        background: transparent;
    }

    #sideBar ul {
        border: 0px;
    }

    .class-mouseenter {
         400px;
    }


    .day .postTitle2 {
        font-size: 28px;
    }

    .c_b_p_desc {
        font-size: 20px;
    }

    #topics .postTitle {
        text-align: center;
        font-size: 35px;
        margin-bottom: 100px;
        border-bottom: 2px solid;
    }

    #sideBar {
        position: absolute;
        right: 3%;
    }

    .day {
         125%;
    }

    #topics {
         125%;
    }
    #cnblogs_post_body p
    {
        font-size: 18px
    }
    #cnblogs_post_body ul li
    {
        font-size: 16px;
    }
</style>
<div id="header-new">   //2.这个就是自定义的页首了,删掉了导航栏,就留了一个标题
    <div id="blogTitle">
        <h1>
            <a     href="https://www.cnblogs.com/noneplus/">Noneplus</a>
        </h1>
    </div>
</div>
//
<script>
    var bc = [
        "linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%)",
        "linear-gradient(to top, #fbc2eb 0%, #a6c1ee 100%)",
        "linear-gradient(to top, #fdcbf1 0%, #fdcbf1 1%, #e6dee9 100%)",
        "linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%)",
        "linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%)",
        "linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%)",
        "linear-gradient(to top, #d299c2 0%, #fef9d7 100%)",
        "linear-gradient(to top, #9890e3 0%, #b1f4cf 100%)",
        "linear-gradient(to top, #cd9cf2 0%, #f6f3ff 100%)",
        "linear-gradient(to top, #ebbba7 0%, #cfc7f8 100%)",
        "linear-gradient(to top, #fff1eb 0%, #ace0f9 100%)",
        "linear-gradient(to top, #accbee 0%, #e7f0fd 100%)",
        "linear-gradient(-20deg, #e9defa 0%, #fbfcdb 100%)",
        "linear-gradient(to top, #6a85b6 0%, #bac8e0 100%)",
        "linear-gradient(to top, #9795f0 0%, #fbc8d4 100%)",
        "linear-gradient(to top, #88d3ce 0%, #6e45e2 100%)",
        "linear-gradient(to top, #d9afd9 0%, #97d9e1 100%)",
        "linear-gradient(45deg, #93a5cf 0%, #e4efe9 100%)",
        "linear-gradient(to top, #f3e7e9 0%, #e3eeff 99%, #e3eeff 100%)",
        "linear-gradient(to top, #dad4ec 0%, #dad4ec 1%, #f3e7e9 100%)",
        "linear-gradient(to top, #bdc2e8 0%, #bdc2e8 1%, #e6dee9 100%)",
        "linear-gradient(-225deg, #2CD8D5 0%, #C5C1FF 56%, #FFBAC3 100%)"
    ];
    changeBackground();

    function changeBackground() {
        var color_string = bc[Math.floor(Math.random() * 22)];
        $("body").css("background-image", color_string);

    }
    $(function () {
        $("body").css("background-attachment", "fixed");
        setInterval(changeBackground, 10000);
    });


</script>

首先需要一个浏览器(废话),这里我用Chrome浏览器来截图,其他的应该差不了多少。

按下神奇的F12键:

1565378237264

这个该怎么描述呢。。。

···

思考30s.....

···

1565378346381

两个框,其中一个Elements是网页的源代码,右边的Styles框就是对于的CSS样式了。

嗯,知道这一点之后,再看一个神奇的键:

1565378425969

这个键,当你点击它一下,会神奇的变蓝,这是啥意思呢?

截了几十次终于截下来了:

1565378600178

就是在这个页面里选择一个元素然后审查它。

大致的效果是这样的,当你点它一下变蓝以后:

然后我选择点击这个页首:

1565378697109

然后在这边就会定位到哪段代码以及它的Style:

1565378737975

walk to a question:如何调试代码呢?

由于博客园支持定制的部分有限,更多的是调制CSS来控制页面显示。

比如说,我想让页首的标题变大一点:

额,给自己挖了个坑:(调试之前要先定位到标题)

1565378979064

然后这边:

1565379013444

已经定位过来了,然后修改箭头所指方向:

1565379066159

点击空白处,就会新增一个属性:(可以慢慢试,网页是不会坏的)

然后我已经设置了font-size为100px:

1565379123150

页面显示:

1565379160742

再次刷新页面时,新增的部分就会消失。

洋洋洒洒写了很多,大致页面就是这样调试的,调几步之后就把对应的代码保存起来。然后提交到cnblog看看实际的效果。由于内置了模板,很多函数和预先定义的CSS不方便修改,所以,如果调试代码没有起作用,放宽心换条代码试试也许就行了。

改完之后,将代码复制到页首即可:

1565379980847

cnblog提供了四个可以上传代码的地方,上传到页首会生成一个id为page_begin_html的div,

1565380082985

其他三个地方,页脚,侧边栏和页面定制CSS应该都是向页面中插入代码:

除了html会产生标签外,css,script除了页面定制CSS中,应该都是兼容的。

那么这篇文章就到这里了,做一个小结吧:

  • 背景渐变切换
  • 样式定制与Chrome调试
  • 代码上传(to be continued)

see you next time _

免责声明:文章转载自《DIY cnblog——背景渐变切换》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ansible—常用模块如何制作prezi swf格式字体(prezi 中文字体)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CSS躬行记(8)——裁剪和遮罩

一、 裁剪 裁剪(clipping)能让元素显示指定形状的区域,在布局时可起点缀的作用,丰富了视觉呈现。注意,裁剪本质上只是让元素的部分区域透明,由此可知,裁剪完后元素所占的空间仍旧会保留。裁剪最早是在CSS 2.1时代由clip属性引入,但该属性只能应用于绝对定位的元素,并且只能裁剪成矩形。CSS3提供了强大的clip-path属性,突破了clip属性的...

Android实现程序前后台切换效果

太久没动这一块了。借助了下面的文章得到了类似QQ的效果 ,是比较复杂的TABHOST的处理~有需要的Q我。 转了下面的文章: ================ 本文演示如何在Android中实现程序前后台切换效果。    在介绍程序实现之前,我们先看下Android中Activities和Task的基础知识。   我们都知道,一个Activity...

网页在pc端与移动端的兼容问题

一、浏览器的默认font-size 火狐,谷歌,IE默认16px 二、根元素的font-size设置 1、许多方法测试所得(网上)兼容电脑浏览器缩放的html {    font-size: 62.5%;}@media only screen and (min- 481px){    html {        font-size: 94%!importa...

ie 9 select 下拉框 右侧 箭头

由于 不同浏览器的 select 选项的默认样式不同,为了样式统一性。 则 删去浏览器的默认样式 select.form-control { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/ /*border: solid 1px #000;*/ /*很关键:将默认的select选择框样式清除*/ appear...

CSS拾遗

1:CSS样式的声明 选择符{ 属性:值; 属性:值; 。。。 } 其中,选择符有: 标签选择器:标签名{样式} 类选择器: .类名{样式} ID选择器: #ID名{样式} 另外:样式属性的书写格式为:小写单词,用 - 分割。 比如:font-size 、 font-family 2:注释 /*注释*/ 3:CSS可以出现...

转: rem与px的转换

rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个参考值,这个参考值设置为多少,完全可以根据您自己的需求来定。· 我们知道,浏览器默认的字号16px,来看一些px单位与rem之间的转换关系: | px | rem | ------------------------ | 12 | 12/1...