自己的博客

Posted weizhibin1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自己的博客相关的知识,希望对你有一定的参考价值。

1、一定要使用reset.css

 

2、背景图

没有内容的话,就不会有背景

fixed可以固定显示

 

仔细想想,背景图,应该是放在body下的。

然后app组件下,加个半透明的背景色

这样就能很好的实现背景

 

同时,背景太清晰了,必须模糊一点

filter: blur(2px);

 

背景图不能放body下

 

应该放在app组件下

不然刷新页面的时候,会把清晰的背景图显现出来。

 

整体CSS

<template>
  <div id="app">
    <div id="container">
      <keep-alive>
        <router-view/>
      </keep-alive>
    </div>
  </div>
</template>

<script>
export default {
  name: ‘App‘
}
</script>

<style scoped>

  #app{
    background: url("https://blog-1252736437.cos.ap-shanghai.myqcloud.com/background.png") fixed no-repeat;
    background-size: 100%;
    filter: blur(2px);
  }

  #container{
    width: 100%;
    height: 1500px;
    background-color: rgba(255,255,255,0.8);
  }
</style>

 

图片要改成

repeat-y

不然缩放之后,下面就没背景了

x轴不需要

 

 

有个问题

这个属性,会让这个div下所有子元素都模糊。所以完美的做法是通过after伪类去搞

 

需要z-index+position去使得after档住父元素

z-index要设置为负数,不然档住子元素了

#app{
    position: relative;
    z-index: -2;
  }

  #app::after{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left:0;
    top:0;
    background: url("https://blog-1252736437.cos.ap-shanghai.myqcloud.com/background.png") fixed repeat-y;
    background-size: 100%;
    filter: blur(2px);
    z-index: -1;
  }

 

after是个很奇妙的东西

技术分享图片

https://blog.csdn.net/csu_passer/article/details/78406702

 

 

 

after不行

给app设置了-2,after-1。现在页面默认body是0

那么最上层的就是body了。app container里面的东西是无法交互的!

 

将contaner的层级提到最高,背景全都不见了????为啥

 

 

父元素高度为0,因为孩子都浮动了,坍塌

技术分享图片

 

给app显示赋值1500px

技术分享图片

 

after有高度

技术分享图片

 

 

 

但是所有常规的清楚浮动方法都无效了

 

不对。这个不是浮动了。

是因为absolute脱离的文档流,用清除浮动当然没有效果

技术分享图片

 

<div class="container">
    
    <div class="bg">

    </div>    
    <div class="content">
        
    </div>

</div>

<style>

/*父元素宽100%,是根据body渲染的*/
 .container{
     width: 100%;
    
 }

/*bg width100% 根据contanier*/
/*height 100% 但是目前父元素高度是0*/
 .bg{
     width: 100%;
     height: 100%;
 }

/*现在才撑开父元素*/
.content{
    width: 100%;
    height: 1500px;
}

 

如果bg写在后面呢?

技术分享图片

 

还是0。

没有办法的

 

所以,父元素的高度无法确定的情况下,没法设置模糊背景!

 

 

可以在父元素渲染玩之后,通过js代码设定bg的高度

 

但是vue里面,这种方法不行。。。算了不要背景了

 

用fixed即可。。。

把背景全都丢进fixed里面。很奇怪的。

因为fixed是一个特殊的potiton,他也脱离文档流,但是他和absolute不一样,他是相对于窗口的,所以他设置height100%的话,高度就是窗口高度

最终效果如下

<template>
  <div id="app">
    <div id="container">
      <home-header></home-header>
      <keep-alive>
        <router-view/>
      </keep-alive>
    </div>
    <div id="bg"></div>
  </div>
</template>

<script>
import HomeHeader from "./components/header/Header";
export default {
  name: ‘App‘,
  components: {HomeHeader}
}
</script>

<style scoped>

  #app{
    width: 100%;
  }

  #container{
    width: 100%;
    height: 1500px;
    background-color: rgba(255,255,255,0.8);
  }

  #bg{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url("https://blog-1252736437.cos.ap-shanghai.myqcloud.com/background.png") fixed repeat-y;
    background-size: 100%;
    filter: blur(2px);
    z-index: -1;
  }
</style>

 

技术分享图片

 

以上是关于自己的博客的主要内容,如果未能解决你的问题,请参考以下文章

创建自己的代码片段(CodeSnippet)

Wordpress阻止访问wp admin€“wpsnipp.com网站你博客的Wordpress代码片段

回归 | js实用代码片段的封装与总结(持续更新中...)

(转)博客园登陆__JSEncrypt 分析

超实用的php代码片段

WordPress - 代码片段插件