山河博客

暗黑紫冒泡幽灵404错误页

大家好我是山河,之前我不是在折腾网站的404错误页嘛,当时网友分享了很多个404错误页给我,我挑了几个好看的也分享给大家,不多说,先上图再上资源。

这个404错误页是纯代码实现,没用上图片!真纯代码,可以借鉴动画效果。

山河直接给大家上图上代码上资源

404错误页展示图
404错误页展示

幽灵气泡是动图,但是我懒得弄Gif动图了。

再上代码

<!-- /* 山河博客此代码源于网友分享:原作者信息未改,仅修复了代码 博客:blog.shanhe.info */ -->
<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport"
    content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no">
  <title>山河博客-404页面</title>
  <style>
    <!-- 由于网站CSS代码在HTML代码里没高亮展示,我把CSS移到另外一个单独的CSS代码块,复制单独的CSS代码块过来这里即可,或者引入也可以 -->
  </style>
</head>
<body>
  <div class="box">
    <div class="box__ghost">
      <div class="symbol"></div>
      <div class="symbol"></div>
      <div class="symbol"></div>
      <div class="symbol"></div>
      <div class="symbol"></div>
      <div class="symbol"></div>
      <div class="box__ghost-container">
        <div class="box__ghost-eyes">
          <div class="box__eye-left"></div>
          <div class="box__eye-right"></div>
        </div>
        <div class="box__ghost-bottom">
          <div></div>
          <div></div>
          <div></div>
          <div></div>
          <div></div>
        </div>
      </div>
      <div class="box__ghost-shadow"></div>
    </div>
    <div class="box__description">
      <div class="box__description-container">
        <div class="box__description-title">404错误!</div>
        <div class="box__description-text">看来我们找不到你要找的那一页</div>
      </div>
      <a href="https://blog.shanhe.info" class="box__button">返回首页</a>
    </div>
  </div>
</body>
</html> 
html,
    body {
      background: #28254C;
      font-family: 'Ubuntu';
    }
    * {
      box-sizing: border-box;
    }
    .box {
      width: 350px;
      height: 100%;
      max-height: 600px;
      min-height: 450px;
      background: #332F63;
      border-radius: 20px;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      padding: 30px 50px;
    }
    .box .box__ghost {
      padding: 15px 25px 25px;
      position: absolute;
      left: 50%;
      top: 30%;
      transform: translate(-50%, -30%);
    }
    .box .box__ghost .symbol:nth-child(1) {
      opacity: .2;
      animation: shine 4s ease-in-out 3s infinite;
    }
    .box .box__ghost .symbol:nth-child(1):before,
    .box .box__ghost .symbol:nth-child(1):after {
      content: '';
      width: 12px;
      height: 4px;
      background: #fff;
      position: absolute;
      border-radius: 5px;
      bottom: 65px;
      left: 0;
    }
    .box .box__ghost .symbol:nth-child(1):before {
      transform: rotate(45deg);
    }
    .box .box__ghost .symbol:nth-child(1):after {
      transform: rotate(-45deg);
    }
    .box .box__ghost .symbol:nth-child(2) {
      position: absolute;
      left: -5px;
      top: 30px;
      height: 18px;
      width: 18px;
      border: 4px solid;
      border-radius: 50%;
      border-color: #fff;
      opacity: .2;
      animation: shine 4s ease-in-out 1.3s infinite;
    }
    .box .box__ghost .symbol:nth-child(3) {
      opacity: .2;
      animation: shine 3s ease-in-out .5s infinite;
    }
    .box .box__ghost .symbol:nth-child(3):before,
    .box .box__ghost .symbol:nth-child(3):after {
      content: '';
      width: 12px;
      height: 4px;
      background: #fff;
      position: absolute;
      border-radius: 5px;
      top: 5px;
      left: 40px;
    }
    .box .box__ghost .symbol:nth-child(3):before {
      transform: rotate(90deg);
    }
    .box .box__ghost .symbol:nth-child(3):after {
      transform: rotate(180deg);
    }
    .box .box__ghost .symbol:nth-child(4) {
      opacity: .2;
      animation: shine 6s ease-in-out 1.6s infinite;
    }
    .box .box__ghost .symbol:nth-child(4):before,
    .box .box__ghost .symbol:nth-child(4):after {
      content: '';
      width: 15px;
      height: 4px;
      background: #fff;
      position: absolute;
      border-radius: 5px;
      top: 10px;
      right: 30px;
    }
    .box .box__ghost .symbol:nth-child(4):before {
      transform: rotate(45deg);
    }
    .box .box__ghost .symbol:nth-child(4):after {
      transform: rotate(-45deg);
    }
    .box .box__ghost .symbol:nth-child(5) {
      position: absolute;
      right: 5px;
      top: 40px;
      height: 12px;
      width: 12px;
      border: 3px solid;
      border-radius: 50%;
      border-color: #fff;
      opacity: .2;
      animation: shine 1.7s ease-in-out 7s infinite;
    }
    .box .box__ghost .symbol:nth-child(6) {
      opacity: .2;
      animation: shine 2s ease-in-out 6s infinite;
    }
    .box .box__ghost .symbol:nth-child(6):before,
    .box .box__ghost .symbol:nth-child(6):after {
      content: '';
      width: 15px;
      height: 4px;
      background: #fff;
      position: absolute;
      border-radius: 5px;
      bottom: 65px;
      right: -5px;
    }
    .box .box__ghost .symbol:nth-child(6):before {
      transform: rotate(90deg);
    }
    .box .box__ghost .symbol:nth-child(6):after {
      transform: rotate(180deg);
    }
    .box .box__ghost .box__ghost-container {
      background: #fff;
      width: 100px;
      height: 100px;
      border-radius: 100px 100px 0 0;
      position: relative;
      margin: 0 auto;
      animation: upndown 3s ease-in-out infinite;
    }
    .box .box__ghost .box__ghost-container .box__ghost-eyes {
      position: absolute;
      left: 50%;
      top: 45%;
      height: 12px;
      width: 70px;
    }
    .box .box__ghost .box__ghost-container .box__ghost-eyes .box__eye-left {
      width: 12px;
      height: 12px;
      background: #332F63;
      border-radius: 50%;
      margin: 0 10px;
      position: absolute;
      left: 0;
    }
    .box .box__ghost .box__ghost-container .box__ghost-eyes .box__eye-right {
      width: 12px;
      height: 12px;
      background: #332F63;
      border-radius: 50%;
      margin: 0 10px;
      position: absolute;
      right: 0;
    }
    .box .box__ghost .box__ghost-container .box__ghost-bottom {
      display: flex;
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
    }
    .box .box__ghost .box__ghost-container .box__ghost-bottom div {
      flex-grow: 1;
      position: relative;
      top: -10px;
      height: 20px;
      border-radius: 100%;
      background-color: #fff;
    }
    .box .box__ghost .box__ghost-container .box__ghost-bottom div:nth-child(2n) {
      top: -12px;
      margin: 0 -0px;
      border-top: 15px solid #332F63;
      background: transparent;
    }
    .box .box__ghost .box__ghost-shadow {
      height: 20px;
      box-shadow: 0 50px 15px 5px #3B3769;
      border-radius: 50%;
      margin: 0 auto;
      animation: smallnbig 3s ease-in-out infinite;
    }
    .box .box__description {
      position: absolute;
      bottom: 30px;
      left: 50%;
      transform: translateX(-50%);
    }
    .box .box__description .box__description-container {
      color: #fff;
      text-align: center;
      width: 200px;
      font-size: 16px;
      margin: 0 auto;
    }
    .box .box__description .box__description-container .box__description-title {
      font-size: 24px;
      letter-spacing: .5px;
    }
    .box .box__description .box__description-container .box__description-text {
      color: #8C8AA7;
      line-height: 20px;
      margin-top: 20px;
    }
    .box .box__description .box__button {
      display: block;
      position: relative;
      background: #FF5E65;
      border: 1px solid transparent;
      border-radius: 50px;
      height: 50px;
      text-align: center;
      text-decoration: none;
      color: #fff;
      line-height: 50px;
      font-size: 18px;
      padding: 0 70px;
      white-space: nowrap;
      margin-top: 25px;
      transition: background .5s ease;
      overflow: hidden;
    }
    .box .box__description .box__button:before {
      content: '';
      position: absolute;
      width: 20px;
      height: 100px;
      background: #fff;
      bottom: -25px;
      left: 0;
      border: 2px solid #fff;
      transform: translateX(-50px) rotate(45deg);
      transition: transform .5s ease;
    }
    .box .box__description .box__button:hover {
      background: transparent;
      border-color: #fff;
    }
    .box .box__description .box__button:hover:before {
      transform: translateX(250px) rotate(45deg);
    }
    @keyframes upndown {
      0% {
        transform: translateY(5px);
      }
      50% {
        transform: translateY(15px);
      }
      100% {
        transform: translateY(5px);
      }
    }
    @keyframes smallnbig {
      0% {
        width: 90px;
      }
      50% {
        width: 100px;
      }
      100% {
        width: 90px;
      }
    }
    @keyframes shine {
      0% {
        opacity: .2;
      }
      25% {
        opacity: .1;
      }
      50% {
        opacity: .2;
      }
      100% {
        opacity: .2;
      }
    }

最后再上资源

源码代码均为网友分享,山河只做了修复效果或者bug。

山河博客

小书童404错误页

大家好我是山河,之前我不是在折腾网站的404错误页嘛,当时网友分享了很多个404错误页给我,我挑了几个好看的也分享给大家,不多说,先上图再上资源。

小书童404错误页照片
山河博客-小书童404错误页

这个404错误页还是不错的,话不多说,上资源

山河博客

阿帕奇Apache的一些操作指令

大家好我是山河,我今天给大家总结一下关于阿帕奇 Apache的一些cmd操作指令哈

查看Apache服务的帮助:[ httpd -help ] 
重启Apache服务:[ httpd -k restart ]
查看Apache服务版本号:[ httpd -v ]
停止Apache服务:[ httpd -k stop ]
启动Apache服务:[ httpd -k start ]
查看使用的模块:[ httpd -M ]
启动httpd.exe [ httpd.exe ]
验证配置文件是否有效:[ httpd -t ] 

阿帕奇 Apache的基础指令就是这些,希望能帮助到大家。

阿帕奇下载地址 阿帕奇豪斯下载 (apachehaus.com)

前端 CDN 公共库大全一览

大家好我是山河,今天给大家总结一个前端CDN公共库大全哈,帮助各位开发者快速找到适合你的最佳选择。

CDN公共库是指将常用的JS库存放在CDN节点,以方便广大开发者直接调用。

https://www.jsdelivr.com/

使用最为广泛的CDN了,除了有静态库的加速外,还有npm\github\WordPress加速,2021年底国内备案被取消了,现在用cf的cdn,国内速度可想而知。

https://developers.google.com/speed/libraries

Google出品,必属精品了,谷歌CDN库,肯定很全,当然国内访问不了。

https://docs.microsoft.com/en-us/aspnet/ajax/cdn/overview

微软CDN库,该服务是免费的,不需任何注册,可用于商业性或非商业性用途

https://cdnjs.com/

站点是国外的,CDNJS 拥有非常完整的 JavaScript 库,你还可以提交 js库,审核通过就能用。

lib.sinaapp.com

新浪云计算CDN公共库,节点有北京和广州,国内速度飞快

http://jscdn.upai.com/

又拍云js库,又拍云提供了常用的JavaScript库CDN服务

http://staticfile.org/

七牛云提供的CDN库。

http://cdn.bytedance.com/

字节跳动静态资源公共库,国内大公司。

https://www.bootcdn.net

BootCDN 是猫云联合 Bootstrap 中文网 共同支持并维护的前端开源项目免费 CDN 服务,为Bootstrap、jQuery、React、Vue.js 一样优秀的前端开源项目提供稳定、快速的免费 CDN 加速服务,国内节点多。

PS:(官网通知)BootCDN 对外提供服务的域名已经于两年前(即 2020 年)变更为新域名 cdn.bootcdn.net,
老域名 cdn.bootcss.com 将于 2022 年 3 月 31 日下线。
请尽快切换到新域名,以免影响贵站功能!!!

https://cdnjs.net/

免费开源前端公共库,同步的cdnjs的资源,此公共库CDN加速服务始于2014年

https://cdn.baomitu.com/

60前端资源库是由奇舞团支持并的开源项目CDN,支持HTTPS和HTTP/2,囊括上千个前端资源库维护和Google均等库。同步cdnjs的资源。

本篇文章是由山河整理的前端CDN库大全。

本站采用创作共用版权 CC BY-NC-SA 3.0 CN 许可协议,转载或复制请注明出处

PHP

PHP面向对象的几个小知识点

大家好我是山河,今天给大家来讲解一个关于PHP面向对象的小知识点,这几个小知识点可以说是必知必会的,话不多说,直接上代码边讲

$this调用对象的
self::调用类自己的
parent::调用父类的
static::调用子对象实例的

这是我们今天要讲的内容,然后直接上实例代码,讲的更清楚。

首先是this,在对象中的每个成员方法里面都会存在一个特殊的对象引用“$this”。成员方法属于哪个对象,“$this”就代表哪个对象

$this -> 成员属性;
$this -> 成员方法(参数);

之后是self,self用来调用类的东西:类常量、静态属性、静态方法;

self::静态属性,静态方法

$this和self区别:$this只能用在成员方法中,而self可用在成员方法和静态方法

再之后是parent::

parent:: 可用于调用父类中定义的成员方法。

最后是static::

static::延迟绑定,可以调用子类实例

好了,本篇文章到此结束,我是山河。

PHP

本站采用创作共用版权 CC BY-NC-SA 3.0 CN 许可协议,转载或复制请注明出处

山河博客-404错误页图片

分享一个自定义好看的二次元风格的404错误页HTML5单页

大家好我是山河,今天我给大家分享一个二次元风格的404错误页。

山河好不容易修复了那位网友发给我的404错误页,结果刚把文章发出去没半天,又给我找事情做了,这次发了一个二次元风格的404错误页,山河修复了一些没用的代码,还剩下一小段CSS代码没修复,那段是动画的,我试了一下,能正常运行,我也就不管了,但是山河的代码编辑器居然显示警告⚠,浏览器里打开f12一看,没毛病报错,那就不管了。

不说了,先上个效果图片给大家看看长啥样

对了,这款404错误页是有音乐的,但是山河没法录制给大家听。

山河博客-二次元404错误页
山河博客-二次元404错误页

页面是有动态效果的,头像触碰会旋转,文字会跳动,就像这样

山河博客-二次元404错误页
山河博客-二次元404错误页

好了,介绍就到这里,文章结束

PS:本页面为网友分享给山河,山河仅做了修复,页面如有联系信息则为原作者,另外,如有侵犯您的权益,请联系山河删除。

SEO优化

站长疑问?如何优化SEO

今天山河来谈一个关于网站的一个对搜索引擎的优化的问题,很多朋友对如何优化SEO啊有非常多的疑问。咱们今天给大家解决这个问题

先给大家理解什么叫SEO,所谓SEO呢,即为(Search Engine Optimization): 翻译过来就是搜索引擎优化的意思。

SEO图片
SEO

而优化SEO呢就是一种利用搜索引擎的搜索规则来提高目前网站在有关搜索引擎内的自然排名的方式,通俗一点就是提升网站搜索关键词的排名,优化SEO的方式包括站外 SEO 和站内 SEO 两方面。

我就给大家讲解几个必备的:

1.域名必须备案,备案增加域名的可信度,百度对这个比较看重

2.各大搜索引擎平台进行提交,百度,搜狗,360,神马,头条,国外的就不用了,必应和谷歌这两个是最频繁的,其他国外搜索引擎平台大多被墙了,用户不多。

3.站内优化,页面的关键词,描述,标题要做好,标题和关键词要一针见血,必须要贴近你这个页面的内容,另外网站标题不能超过两个关键词,另外图片,超链接要加上title属性,超链接设置属性为要跳到新窗口。

4.站外优化,站外优化,友情链接肯定是必备的,大量的优质友情链接,能促进蜘蛛循环,形成蜘蛛池,蜘蛛越多自然就有好处,要注意,交换友情链接的时候记得要看对方是不是给你的超链接标签加上了rel=”nofollow” 属性,这个属性会告诉蜘蛛不要追踪特定的网页链接。

5.初期成立的网站呢,前几个星期要形成规律的发帖子方式,这个是一个大佬当年跟我说的,不知道现在还有不有用。

6.404错误页优化,减少用户流失

之外还要注意保证网站的稳定。

本篇文章就讲到这里了,我是山河,感谢大家看此文章。

文章为山河手动码出来的原创文章

本站采用创作共用版权 CC BY-NC-SA 3.0 CN 许可协议,转载或复制请注明出处

分享一个自定义好看的404错误页HTML5单页

分享一个自定义好看的404错误页HTML5单页

大家好我是山河,今天山河啊来分享一个好看的404错误页。

大家在开发网站的时候,是不是为了404错误页而烦恼呢?有许多网友叫山河折腾几个好看的404错误页出来,山河最近有时间折腾了,就在抓紧时间做页面,正写着呢,就有朋友发了一个404错误页给我,让我修复,山河修复好了,分享给大家,先给大家上效果图。

404错误页-山河博客
404错误页-山河博客

页面不是禁止的噢,页面有动画效果,只是山河没空做gif图

好了,这次就讲到这里,下班!

PS:本页面为网友分享给山河,山河仅做了修复,页面如有联系信息则为原作者,另外,如有侵犯您的权益,请联系山河删除。

BILIBILI AS B站缓存(下载)神器

大家好我是山河,我今天给大家带来一个B站视频缓存神器,可以帮助大家离线观看视频。

软件就是 BILIBILI AS 用于B站缓存(下载)神器

作者是萌新杰少(唯一)

B站up主 地址

萌新杰少的个人空间_哔哩哔哩_bilibili

软件作者博客地址

萌新杰少の秘密基地 – I’mCYS|萌え新傑の少ない秘密基地萌新杰少の秘密基地 – I’mCYS|萌え新傑の少ない秘密基地 (imcys.com)

话不多说,上图

效果图片来自官网图片

软件介绍:

接下来是软件截止 2022.2.6的时刻(本文章发布定时了15天后发布)

BILIBILI AS 缓存次数
BILIBILI AS 启动用户
BILIBILI AS 新版本注册用户

好了,这个就是BILIBILI AS这个软件了,点击下方链接下载吧。

文章由 山河技术分享 – 山河博客 (shanhe.info) 原创文章,介绍此软件已经经过作者同意授权。