当前位置: 首页 > article >正文

【网页】CSS原子化+变量尝试

概述

最近想做一个卡片形式的网页工具,可以生成好看的小红书笔记,不喜欢用前端别人写的东西,尝试了一下CSS原子化,确实能用比较少的代码完成很好的功能。

结合一些现成的工具,可以很简单的扩展样式。

目前积累的代码

.box{width: 200px;aspect-ratio: 1;}
/* 线性渐变文本 */
.gradient_text_red_blue{
    background: linear-gradient(to right,red,blue);
    background-clip: text;
    color: transparent;
}
/* 圆角 */
.r5{border-radius: 5px;}
.r10{border-radius: 10px;}
.r15{border-radius: 15px;}
/* 内边距 */
.pd10{padding: 10px;}
/* 比例 */
.aspect_4_3{aspect-ratio: 4/3;}
.aspect_16_9{aspect-ratio: 16/9;}
/* 渐变背景 */
.linear_bg_45_red_yellow{background: linear-gradient(45deg,red,yellow);}
/* 毛玻璃 */
.glass{
    background-color:rgba(255, 255, 255, 0.05);
    backdrop-filter:blur(5px);
}
/* 阴影 */
.shadow{ox-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);}
/* ------------------------------ 特殊背景 ------------------------------ */
/* 棋盘格 */
.bg_checker_board{
background-color: #eee;
background-image: linear-gradient(45deg, black 25%, transparent 25%, transparent 75%, black 75%, black),
linear-gradient(45deg, black 25%, transparent 25%, transparent 75%, black 75%, black);
background-size: 60px 60px;
background-position: 0 0, 30px 30px;
}

使用:

<div class="box aspect_16_9 linear_bg_45_red_yellow r15 pd10">
    <p class="gradient_text_red_blue">这是一段普通的文本。</p>
    
</div>

效果:

可以看到,原子化的CSS具有很强的复用性,对于一些小页面,十几二十行的CSS就可以搞定很多东西。

加入变量控制

CSS变量,可以进一步简化CSS的样式控制。

/* 变量 */
:root{
    --color1:rgb(89, 116, 34);
    --color2:rgb(84, 68, 9);
    --deg:90deg;
}

/* 宽度 */
.w200{width:200px;}
.w400{width:400px;}
.w800{width:800px;}

/* 线性渐变文本 */
.gradient_text_red_blue{
    background: linear-gradient(var(--deg),var(--color1),var(--color2));
    background-clip: text;
    color: transparent;
}
/* 圆角 */
.r5{border-radius: 5px;}
.r10{border-radius: 10px;}
.r15{border-radius: 15px;}
/* 内边距 */
.pd10{padding: 10px;}
.pd20{padding: 20px;}
.pd40{padding: 40px;}
/* 比例 */
.aspect_4_3{aspect-ratio: 4/3;}
.aspect_16_9{aspect-ratio: 16/9;}
.aspect_3_4{aspect-ratio: 3/4;}
/* 渐变背景 */
.linear_bg_45_red_yellow{background: linear-gradient(var(--deg),var(--color1),var(--color2));}
/* 毛玻璃 */
.glass{
    background-color:rgba(255, 255, 255, 0.8);
    backdrop-filter:blur(25px);
}
/* 阴影 */
.shadow{box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);}
/* ------------------------------ 特殊背景 ------------------------------ */
/* 棋盘格 */
.bg_checker_board{
background-color: #eee;
background-image: linear-gradient(45deg, black 25%, transparent 25%, transparent 75%, black 75%, black),
linear-gradient(45deg, black 25%, transparent 25%, transparent 75%, black 75%, black);
background-size: 60px 60px;
background-position: 0 0, 30px 30px;
}

测试:

<div class="w400 aspect_3_4 bg_checker_board pd40">
    <div class="w400 pd10 aspect_3_4 shadow glass r15 pd10">
        <h1 class="gradient_text_red_blue">这里是标题</h1>
    </div>
</div>

效果:


http://www.kler.cn/a/590703.html

相关文章:

  • Redis 服务器:核心功能与优化实践
  • 基于Spring Boot的红色革命文物征集管理系统的设计与实现(LW+源码+讲解)
  • DHCP中继实验
  • prototype和proto的区别
  • 本地部署DeepSeek-R1(Dify升级最新版本、新增插件功能、过滤推理思考过程)
  • Java中接口隔离原则简介和代码举例
  • 论文速递| ECG去噪新方法:小波+ CNN提升可穿戴精度
  • CMAKE学习系列(002)--- 如何添加宏定义
  • vulnhub靶场之loly靶机
  • 5-26 黑白照片上色-Recolor
  • Java学习------static、final、this、super关键字
  • PostgreSQL 多数据库集簇配置及多数据库复制方法【流程+代码实例】
  • Redis,从数据结构到集群的知识总结
  • 基于javaweb的SpringBoot智能相册管理系统图片相册系统设计与实现(源码+文档+部署讲解)
  • 分布式锁: 并发时,redis如何避免删别人的锁
  • 如何用DeepSeek进行项目管理?AI重构项目全生命周期的实践指南
  • C51 Proteus仿真实验17:数码管显示4×4键盘矩阵按键
  • 力扣No.376.摆动序列
  • 【从零开始学习计算机科学】设计模式(一)设计模式概述
  • 蓝桥杯嵌入式赛道复习笔记2(按键控制LED灯,双击按键,单击按键,长按按键)