【CSS】---- CSS 变量,实现样式和动画函数复用

news/2025/2/24 15:03:01

1. 前言

本文介绍 CSS 的自定义属性(变量)来实现样式、动画等 CSS 的复用。都是知道在 CSS 和 JS 复用一个很重要的事情,比如 JS 的函数封装,各个设计模式的使用等等,CSS 中样式的复用,同样重要。MDN 使用 CSS 自定义属性(变量):自定义属性(有时候也被称作CSS 变量或者级联变量)是由 CSS 作者定义的,它包含的值可以在整个文档中重复使用。由自定义属性标记设定值(比如: --main-color: black;),由 var() 函数来获取值(比如: color: var(–main-color);)复杂的网站都会有大量的 CSS 代码,通常也会有许多重复的值。

2. 实例:限定文本行数

2.1 效果图

输入图片说明

2.2 原样式
.rui-limit1 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: box;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  /*! autoprefixer: off */
}

.rui-limit2 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: box;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  /*! autoprefixer: off */
}

.rui-limit3 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: box;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  /*! autoprefixer: off */
}

可以看到每一个都将样式写了一遍,限制多少行,改变对应的数量,当然也可以将三个整合一起,然后修改每一个的 -webkit-line-clamp 值,就能简化,然后自定义行数的时候直接修改 -webkit-line-clamp 的值就可以。但是 -webkit-line-clamp 属性相对还是长了一点,对于不经常使用的人来说,不一定能记住,因此在此基础上引入 CSS 变量,来解决这个问题。

2.3 引入变量的样式
.rui-limit{
  --limit-val: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  display: box;
  display: -webkit-box;
  -webkit-line-clamp: var(--limit-val);
  -webkit-box-orient: vertical;
  /*! a

http://www.niftyadmin.cn/n/5864498.html

相关文章

计算机视觉算法实战——三维重建(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ 1. 三维重建领域简介 三维重建(3D Reconstruction)是计算机视觉的核心任务之一,旨在通过多视角图像、视频…

编程题-连接两字母单词得到的最长回文串(中等)

题目: 给你一个字符串数组 words 。words 中每个元素都是一个包含 两个 小写英文字母的单词。 请你从 words 中选择一些元素并按 任意顺序 连接它们,并得到一个 尽可能长的回文串 。每个元素 至多 只能使用一次。 请你返回你能得到的最长回文串的 长度…

Unity打包APK报错 using a newer Android Gradle plugin to use compileSdk = 35

Unity打包APK报错 using a newer Android Gradle plugin to use compileSdk 35 三个报错信息如下 第一个 WARNING:We recommend using a newer Android Gradle plugin to use compileSdk 35This Android Gradle plugin (7.1.2) was tested up to compileSdk 32This warning…

Spark提交任务

1、Spark提交任务到Yarn 1.1、DwKuduApp spark-submit --class com.io.etl.dwkudu.DwKuduApp \ --files /etl/etl-dwkudu/conf/doris.property,/etl/etl-dwkudu/conf/redis.property,/etl/etl-dwkudu/conf/log4j.property \ --master yarn --deploy-mode cluster \ --driver-…

鸿蒙5.0实战案例:基于AVCodecKit的音视频解码及二次处理播放

往期推文全新看点(文中附带全新鸿蒙5.0全栈学习笔录) ✏️ 鸿蒙(HarmonyOS)北向开发知识点记录~ ✏️ 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ ✏️ 鸿蒙应用开发与鸿蒙系统开发哪个更有前景&#…

springcloud gateway并发量多大

Spring Cloud Gateway的并发量并非固定值,它受到多种因素的影响,包括但不限于网关配置、硬件资源(如CPU、内存、网络带宽等)、后端服务的处理能力以及系统整体的架构设计。因此,要准确回答Spring Cloud Gateway的并发量…

【Linux基础】Shell脚本

文章目录 一、前言二、Linux脚本编写基础2.1 文件开头2.2 注释2.3 变量2.3.1 系统变量2.3.2 环境变量2.3.3 用户环境变量 2.4 注意事项 三、shell脚本中常用的三类命令3.1 Linux命令3.2 管道、重定向和命令置换3.2.1 管道3.2.2 重定向3.2.3 命令置换 四、流程控制4.1 说明性语句…

软件需求类的论文无法量化评价的问题

软件需求研究的量化难题确实是一个普遍存在的挑战,主要原因在于需求工程本身具有强主观性、领域依赖性和过程复杂性。针对这一问题,可以从以下角度进行突破性思考并提出解决方案: 1. 构建多维度评估体系(Multi-dimensional Evalu…