林翊

那些可以不依靠js 让前端变得更加专业的奇技淫巧

响应式文字大小

/* Fixed minimum value below the minimum breakpoint */
  fluid {
    font-size: 32px;
  }
/* Fluid value from 568px to 768px viewport width */
  @media screen and (min-width: 568px) {
    .fluid {
      font-size: calc(32px + 16 * ((100vw - 568px) / (768 - 568));
    }
  }
  /* Fixed maximum value above the maximum breakpoint */
  @media screen and (min-width: 768px) {
    .fluid {
      font-size: 48px;
    }
  }

很少有人用clamp做响应式的文字大小设置,此css可以根据视口动态调整字体大小,语法:

    clamp(minimum size, preferred size, maximum size)
  1. minimum size:小屏是最小字体大小
  2. preferred size:首选大小,其中vw代表视口宽度,2.5vw表示字体大小将是视口宽度的2.5%
  3. maximum size: 最大字体大小

阻止鼠标选择文本

    .no-select { user-select: none }

宽高比

    .aspect-ratio { aspect-ratio: 16 / 9 }

讲宽度和高度保持在指定的比例,非常适合使用在视频和图像元素,常用的比如4:3,1:1等等

div块级元素按比例显示

    <div class='box'> 
      <div class='content'>
       content
      </div> 
    </div>

css部分:

  .box{
      position: relative;
      width: 50%;     /* desired width */
  }
  .box:before{
    content: "";
    display: block;
    padding-top: 100%;  /* 1:1* /
  }
  .content{
    position:  absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
  }
/* Other ratios */
  .ratio2_1:before{
    padding-top: 50%; /* 2:1 */
  }
  .ratio1_2:before{
    padding-top: 200%; /* 1:2 */
  }
  .ratio4_3:before{
    padding-top: 75%; /* 4:3 */
  }
  .ratio16_9:before{
    padding-top: 56.25%; /* 16:9 */
  }

自动平滑滚动

    html { scroll-behavior: smooth }

锚点或者导航会轻柔的滑动,而不是默认的突然调转,小小的改变带来很大的用户体验。

响应式系统深色模式

  @media (prefers-color-scheme: dark) {
    body {
      background-color: #333;
      color: #fff;
    }
  }

该css媒体查询可以设置用户系统偏好自动将您网站的主题设置为自定义样式。

图片填充方式

    .cover-img { object-fit: cover }

禁止鼠标事件触发

    .no-pointer { pointer-events: none }

该css可以使元素忽略鼠标事件,比如点击,hover等等

模糊背景或者元素

    .blur { filter: blur(20px) }

显示html属性的内容

    .dynamic-content::before { content: attr(class) }

无需更改html就可以提取属性中的值

路径剪辑

    .circle { clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }

这个在线工具可以生成各种形状的剪辑 Clippy - CSS clip-path maker

渐变文本

  .gradient-text {
     background: linear-gradient(to top, red 0%, blue 100%);
     color: transparent;
     -webkit-background-clip: text;
    }

首字母

    p::first-letter {
      font-weight: bold;
      color: #333;
    }

选择空内容元素

    .element:empty { display: none }

响应式屏幕方向

  @media (orientation: landscape) {
    body {
      background-color: #333
    }
  }

多层渐变背景色

    background: radial-gradient(circle at 50% 50%, rgba(243, 196.3, 96.5, 1) 0%,rgba(238.8, 34.6, 122.1, 0.2) 80%) 50% 50%, linear-gradient(0deg, rgba(170.2, 106.8, 238.7, 1) 0%,rgba(162.6, 112.6, 178.8, 1) 100%) 50% 50%;

浏览器缩放

    body { font-size: calc(100% * env(browser-zoom-level)); }
林翊

当世界被色彩淹没时 我独恋这黑白灰的纯粹 它们不争不抢 却道尽了所有颜色的语言

室内设计的高级 在于留白的呼吸 人像摄影的力量 藏在阴影的留痕处

博客主题的简洁美学 不在于减去多少色彩 而在于保留多少必要 一抹蓝足够让天空成立 一滴水足以折射整个世界

真正的简洁 是精心修剪后的花园 每片叶子都找到自己的位置 我们删除的从来不是美 而是遮蔽本质的枝蔓

简洁是最高级的清晰 让重要的部分自己说话 如同黑夜里的月光 不需要任何修饰 便照亮了整个大地

林翊

整体图 手机端图片有误 看下方显示

前言

丑陋了点 此主题从六号到十二号 期间更新了十个版本 bala bala bala 省略三千字

亮点

  1. 文章类型支持四种风格【文章】【相册】【书单】【说说】
  2. 内置一丢丢短代码
  3. 支持文章缩略图设置
  4. 支持切换夜间模式
  5. 支持评论 QQ 头像显示

全部打包 460kb 好坏上手用了才知道

wap端和pc端不太同


相册类型


书单类型


说说类型


链接处


分类

分类头部的图片链接都是根据分类的缩略名获取而来 比如说

相册 缩略名为photos 那么 图片应该存放在assets/category/下 命名photos.png

书单 缩略名为books 那么 图片应该存放在assets/category/下 命名books.png

以此类推

当发表相册或者书单又或者说说的时候发现样式没有变化的时候需要注意

  1. 文章类型是否选择正确 ✅
  2. 文章分类是否放对分类 ✅
  3. 分类的缩略名是否正确 ✅

相册缩略名为 photos
书单缩略名为 books
说说缩略名为 say

如下相册图

分类描述就不用多说了

后续

什么时候再更新不清楚 会不会再更新也不清楚 目前应该不会有什么大问题 然后文件都有注释 方便二改 再然后 主题友链使用插件实现 链接再下

下载

Fall主题

友链插件

结语

制作不易 请不要二改出售

Fall主题 Fall主题 Fall主题 Fall主题 Fall主题 Fall主题 Fall主题 Fall主题 Fall主题
林翊

几年前出现使用github+jsdelivr搭建一个免费的cdn图床的方法 后来在二零年还是二一年开始出现cdn报错无法访问 很多接触开源的朋友可能知道jsdelivr 而且经常使用这个cdn服务 这是一个非常快的免费的cdn服务 所有公开的javascript npm包和github仓库 都可以使用jsdelivr来作为静态资源服务器 而且免费 超快 !!!

它的界面变成这样了

jsdelivr挂了 根据网友反馈 涉及到使用jsdelivr服务的所有网站 都出现了问题 好笑的是 bootcdn由于首页用了jsdelivr 自己也挂了

🤫 打住 这不是重点 一般来说cdn是比较快的 如果自己的服务器流量还可以 是可以把静态资源部署在自己服务器上 这样服务比较稳定 不用担心服务出问题 就是费用可能有点高 对于很多朋友 当然包括我在内 不想备案 买不起cdn 又是小型主机 真很需要这个东西

所以 所以

教程网上一搜一大把 这里就解决cdn.jsdelivr.net无法访问怎么办吧 最简单粗暴 替换域名

比如:

    gcore.jsdelivr.net
    fastly.jsdelivr.net
    gh.776161.xyz (海CDN 优化回国)
    jsd.cdn.zzko.cn  (由54ayao提供,稳如老狗,推荐)
    cdn.jsdelivr.us (海外融合Anycast/CDN 优化回国)
    jsd.onmicrosoft.cn (国内 CDN)
    jsdelivr.b-cdn.net (台湾 CDN)

使用案例:

//cdn.jsdelivr.us/gh/LWingYan/仓库名@latest/xx.png

拼接成下面的样子

//jsdelivr.b-cdn.net/gh/LWingYan/仓库名@latest/xx.png

那么这就简单了,只需要把网站文件中的所有cdn.jsdelivr.net都替换成上方的任意一个域名就可以了

有财力又有能力的 最保险的办法还是把相关需要cdn加速的文件放到国内能正常打开的节点上

Cloudflare Worker Proxy 反向代理(jsdelivr、github加速)

使用方法示例:


    https://gh.7761.cf/https://raw.githubusercontent.com/hadis898/Linux-tools/main/vps.sh

自建jsdelivr镜像加速服务

jsdelivr cdn报错无法访问
林翊

第一次吃火鸡面的心里想法:很辣?能有霸王丝辣?于是把一整包辣油都加了进去。当场体验了一把什么叫汗如雨下 😰 直接怕了。

第二次吃火鸡面的探讨:我可以不加辣油吗?没味道不好吃?好吧!那我加一滴滴吧,吃嘴里是微微辣,到肚子是辣。😱

最后还是空气炸锅出来的鸡腿填饱肚子。。。


谁说动态要想标题的 我就不谁说动态要想标题的 我就不
第 4 页 / 共 5 页

「 结尾 」

“感谢在这片星雾中 捡走我崩落的碎轨”