浅尝css函数

news2024/11/22 19:35:27

文章目录

  • 一、attr
  • 二、calc
  • 三、cubic-bezire
  • 四、conic-gradient
  • 五、counter
  • 六、hsl
  • 七、linear-gradient
  • 八、radial-gradient
  • 九、max/min
  • 十、var

一、attr

  • 返回元素的属性值
  • attr() 理论上能用于所有的 CSS 属性,但目前支持的仅有伪元素的 content 属性,其他的属性和高级特性目前是实验性的
<body>
<a href="www.baidu.com" class="link">百度:</a>
</body>
<style>
    .link:after {
        content: attr(href);
    }
</style>

在这里插入图片描述

二、calc

  • 动态计算css属性值。
<body>
<div class="box">1</div>
</body>
<style>
    .box{
        background-color: #ccc;
        width: calc(100vw - 800px);
        height: calc(100vh - 800px);
    }
</style>

在这里插入图片描述

三、cubic-bezire

  • 定义一个贝塞尔曲线
  • 可用于 animation-timing-function 和 transition-timing-function
  • 参数为 cubic-bezire(x1, y1, x2, y2)
    在这里插入图片描述
<body>
<div class="box"></div>
</body>
<style>
    .box{
        width: 100px;
        height: 100px;
        background-color: red;
        transition: width 2s;
        transition-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);
    }
    .box:hover{
        width: 300px;
    }
</style>

在这里插入图片描述

四、conic-gradient

  • 定义一个圆锥渐变
  • 参数:conic-gradient([from angle] [at position,] color [degree,] color [degree,] ...)
  • from angle:起始角度,默认值是 0deg
  • at position:中心位置,默认值是 0% 0%
  • degree:在0-360 或 0%~100%
<body>
<div class="box"></div>
</body>
<style>
    .box{
        width: 100px;
        height: 100px;
        background-image: conic-gradient(from 90deg at 60% 45%, red, yellow, green, blue, black);
        border-radius: 50%;
    }
</style>

五、counter

  • 计数器
  • counter-reset:重置计数器为0。counter-reset: num;
  • counter-increment:递增一个或多个计数器值。counter-increment: num 64;
  • counter:显示计数器content: counter(num);
<div class="root">
    <div class="box">
        <input type="checkbox" name="num1" id="num1">
        <label for="num1" data-num="10"></label>
    </div>
    <div class="box">
        <input type="checkbox" name="num2" id="num2">
        <label for="num2" data-num="32"></label>
    </div>
    <div class="box">
        <input type="checkbox" name="num3" id="num3">
        <label for="num3" data-num="64"></label>
    </div>
    <div class="box">
        <input type="checkbox" name="num4" id="num4">
        <label for="num4" data-num="-15"></label>
    </div>
</div>
<div class="num">num:</div>
</body>
<style>
    body {
        counter-reset: num;
    }

    .root {
        display: flex;
    }

    label {
        box-sizing: border-box;
        display: block;
        text-align: center;
        line-height: 80px;
        width: 80px;
        height: 80px;
        border: 1px solid #000;
        margin-right: 10px;
    }

    label:after {
        content: attr(data-num);
    }

    .num:after {
        content: counter(num);
    }

    input[type=checkbox] {
        display: none;
    }

    input[type=checkbox]:checked + label {
        background-color: rgb(255, 215, 0);
        border: 2px solid #000;
    }

    #num1:checked + label {
        counter-increment: num 10;
    }

    #num2:checked + label {
        counter-increment: num 32;
    }

    #num3:checked + label {
        counter-increment: num 64;
    }

    #num4:checked + label {
        counter-increment: num -15;
    }
</style>

在这里插入图片描述

六、hsl

  • hsl() 函数使用色相、饱和度、亮度来定义颜色。
  • 语法:hsl(hue, saturation, lightness)
  • hue:色相,范围是0~360。0、360为红色,120为绿色,240为蓝色。
  • saturation:饱和度,0%为灰色,100%为全色。
  • lightness:亮度,0%为暗,50%为普通,100%为白。
  • hsla() 添加透明度的属性。
  • alpha:透明度。0为完全透明,1为完全不透明。
<body>
<p class="p">1</p>
</body>
<style>
    p {
        background-color: hsl(120, 100%, 50%);
    }
</style>

在这里插入图片描述

七、linear-gradient

  • 创建一个表示两种或多种颜色线性渐变的图片。
  • 语法:linear-gradient(direction, color-stop1, color-stop2, ...)
  • direction:方向,可以是角度(45deg)和方位(to left bottom)。
  • color-stop:起止颜色。加百分比表示在那个地方开始绘制颜色。
<style>
    body {
        background: linear-gradient(217deg, rgba(255, 0, 0, .8), rgba(255, 0, 0, 0) 70.71%),
                    linear-gradient(127deg, rgba(0, 255, 0, .8), rgba(0, 255, 0, 0) 70.71%),
                    linear-gradient(336deg, rgba(0, 0, 255, .8), rgba(0, 0, 255, 0) 70.71%);
    }
</style>

在这里插入图片描述

八、radial-gradient

  • 用径向渐变创建图像。
  • 语法:radial-gradient(shape size at postion, color-stop1, color-stop2, ...)
  • shape:形状。默认值ellipse为椭圆,circle为正圆。
  • size:
关键字描述
closest-side渐变结束的边缘形状与容器距离渐变中心点最近的一边相切(圆形)或者至少与距离渐变中心点最近的垂直和水平边相切(椭圆)。
closest-corner渐变结束的边缘形状与容器距离渐变中心点最近的一个角相交。
farthest-side与 closest-side 相反,边缘形状与容器距离渐变中心点最远的一边相切(或最远的垂直和水平边)。
farthest-corner渐变结束的边缘形状与容器距离渐变中心点最远的一个角相交。
  • position:位置。默认值center,top为圆心在顶部,bottom为圆心在底部。
<body>
<div></div>
</body>
<style>
    div {
        width: 500px;
        height: 300px;
        background: radial-gradient(ellipse at top, #e66465, #9198e5);
    }
</style>

在这里插入图片描述

九、max/min

  • 选择最大/小的值作为属性的值
  • 语法:max(value1, value2, ...)min(value1, value2, ...)

十、var

  • var() 函数用于插入自定义的属性值
  • 语法:var(value[, default])
  • value:自定义属性的名称,必须是 -- 开头。
  • default:value没有被定义,就用default值
:root {
  --bg-color: blue;
}

div {
  background-color: var(--bg-color);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/544421.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【网络工程师人手必备的常用网络命令合集,整理收藏!】

在计算机网络中经常要对网络进行管理&#xff0c;测试&#xff0c;这时就要用到网络命令。今天就为大家整理了一些网络工程师必备的一些常用网络命令合集&#xff0c;建议收藏后观看哦&#xff01; ping命令 ping是个使用频率极高的实用程序&#xff0c;主要用于确定网络的连…

Linux Shell if 使用参考

if 参考 与许多其他语言一样&#xff0c;PowerShell 提供了用于在脚本中有条件地执行代码的语句。 其中一个语句是 If 语句。 今天&#xff0c;我们将深入探讨 PowerShell 中最基本的命令之一。 案例使用解释&#xff0c;以下是部署virtualbox使用if参考解释 if 判断检查系统…

创新灵感来源于用户实践,TDengine 首次公开四项专利申请

好消息&#xff01;好消息&#xff01; 美国专利局来电 TDengine又有一个新专利证书下来啦&#xff01; 这一专利名为 “一种时序数据库表结构改变处理方法” 做技术创新我们真的是认真的~ 话不多说&#xff0c;给大家上图展示一下 我们都知道&#xff0c;在当下这样一个…

前端性能测试Lighthouse的使用

Lighthouse是一个开源项目&#xff0c;提高网页的质量&#xff0c;生成的测试报告会提供优化方案&#xff0c;以来提高网页的性能。重点就是关注优化建议 官方介绍Lighthouse的地址&#xff1a;https://developer.chrome.com/docs/lighthouse/ 一、使用方法 1、使用谷歌开发者…

Redis数据类型-Set

一. 概述 首先我们来看看Redis中的Set类型有什么特点。 与List相比&#xff0c;Set集合中的元素不允许重复&#xff0c;一个集合中最多可以对应2^32-1(4294967295)个元素。 Set除了可以执行增删改查的命令之外&#xff0c;还支持交集、并集、差集等的计算。 二. 基本命令 对我们…

当Python遇上异步编程:实现高效、快速的程序运行!

前言 同步/异步的概念&#xff1a; 同步是指完成事务的逻辑&#xff0c;先执行第一个事务&#xff0c;如果阻塞了&#xff0c;会一直等待&#xff0c;直到这个事务完成&#xff0c;再执行第二个事务&#xff0c;顺序执行 异步是和同步相对的&#xff0c;异步是指在处理调用这…

单片机的几种ota内存分区表介绍

前言 在做项目时&#xff0c;现在越来越多被要求单片机要支持升级功能。需求变化快&#xff0c;固件要不断支持新的功能&#xff0c;手动人工去烧固件越来越显得麻烦&#xff0c;已经操作成本高。 典型的方式是通过单片机外接的蓝牙、wifi等无线模块&#xff0c;或者通过单片…

如何创建UE5插件?

UE5 插件开发指南 前言1.0.打开插件窗口1.1.打开新建插件窗口1.2.填写新插件信息1.3.查看引擎自动生成的插件内容前言 首先,笔者默认读者已经知道如何安装UE5虚幻引擎了,并且也会编辑器的一些基本操作,那么这里省略了:如何注册Epic Games账号?如何安装UE5引擎?如何安装C++相…

基于SpringBoot的完成SSM整合项目开发

整合第三方技术 1. 整合JUnit问题导入1.1 Spring整合JUnit&#xff08;复习&#xff09;1.2 SpringBoot整合JUnit 2. 基于SpringBoot实现SSM整合问题导入2.1 Spring整合MyBatis&#xff08;复习&#xff09;2.2 SpringBoot整合MyBatis2.3 案例-SpringBoot实现ssm整合 1. 整合JU…

Maven多环境配置与使用、跳过测试的三种方法

文章目录 1 多环境开发步骤1:父工程配置多个环境,并指定默认激活环境步骤2:执行安装查看env_dep环境是否生效步骤3:切换默认环境为生产环境步骤4:执行安装并查看env_pro环境是否生效步骤5:命令行实现环境切换步骤6:执行安装并查看env_test环境是否生效 2 跳过测试方式1:IDEA工具…

机器学习之滤波入门

滤波的基本概念&#xff1a; 滤波是一种信号处理技术。在机器学习中&#xff0c;滤波通常指的是对输入信号进行加工&#xff0c;以消除噪声、平滑信号或突出特定频率范围的信号 简言之:加工输入,达到理想信号。 用生活的例子来解释: 假设你正在听一首音乐&#xff0c;但是在你的…

UML中的assembly关系

UML中的assembly关系 1.什么是Assembly关系 在UML&#xff08;统一建模语言&#xff09;中&#xff0c;"assembly"&#xff08;组装&#xff09;是一种表示组件之间关系的关联关系。组件是系统中可替换和独立的模块&#xff0c;可以通过组装来构建更大的系统。 当一…

零基础入门网络安全必看书单(附电子书籍+配套资料)

学习的方法有很多种&#xff0c;看书就是一种不错的方法&#xff0c;但为什么总有人说&#xff1a;“看书是学不会技术的”。 其实就是书籍没选对&#xff0c;看的书不好&#xff0c;你学不下去是很正常的。 一本好书其实不亚于一套好的视频教程&#xff0c;尤其是经典的好书…

中间件(一)

中间件 1. 概念1.1 为什么要使用中间件&#xff1f;1.2 中间件定义及分类 2. 主要分类2.1 事务式中间件2.2 过程式中间件2.3 面向消息的中间件2.4 面向对象中间件2.5 Web应用服务器2.6 数据库中间件2.7 其他 3. 常用的中间件 1. 概念 中间件&#xff08;Middleware&#xff09…

BigDecimal 类型的使用

目录 一、前言 二、BigDecimal构造方法 二、BigDecimal参与运算 2.1定义初始值 2.2计算 2.3比较大小 2.4BigDecimal取其中最大、最小值、绝对值、相反数&#xff1a; 2.5补充 2.6、java中 BigDecimal类型的可以转换到double类型&#xff1a; 三、BigDecimal格式化、小…

小白白也能学会的 PyQt 教程 —— 图像类及图像相关基础类介绍

文章目录 〇、前言一、PyQt 中的图像类1、图像类简介2、图像类转换① 常用类转换&#xff08;QPixmap、QImage、QIcon&#xff09;② QBitmap、QBrush、QPen 转换为 QPixmap 或 QImage③ QByteArray 与 QPixmap、QImage 的互转④ numpy 与 QImage 互转 二、图像显示组件1、使用…

DNDC模型在土地利用变化、未来气候变化下的建模方法及温室气体时空动态模拟实践技术

DNDC模型讲解 1.1 碳循环模型简介 1.2 DNDC模型原理 1.3 DNDC下载与安装 1.4 DNDC注意事项 ​ DNDC初步操作 2.1 DNDC界面介绍 2.2 DNDC数据及格式 2.3 DNDC点尺度模拟 2.4 DNDC区域尺度模拟 2.5 DNDC结果分析 ​ DNDC气象数据制备 3.1 数据制备中的遥感和GIS技术 3…

微博官方API使用方法【从注册到实战】

第一步&#xff1a;微博开发者身份认证 访问微博开放平台&#xff0c;登录自己微博账号&#xff0c;登录之后首先需要完善开发者的基本信息。【使用个人】 填写完成之后【审核通过】如下&#xff1a; 第二步&#xff1a;创建自己的应用 【备注&#xff1a;如果只是为了测试…

Linux安装Redis6.0版本教程

前言&#xff1a;采用Redis源码压缩包解压编译的安装方式。因为centos7.x的gcc版本还是4.8.5&#xff0c;而GCC编译指定的版本是需要5.3以上。 1、下载Redis的tar.gz的安装包 百度云下载&#xff1a;Linux下载Redis6.0.8 提取码&#xff1a;dbbv 2、安装gcc新版本 #环境部署…

【IEEE CIM 2023】基于多目标进化算法的抗菌肽设计方法

Evolutionary Multi Objective Optimization in Searching for Various Antimicrobial Peptides 小生境共享&#xff08;Niche Sharing&#xff09;是生物进化算法中的一个重要概念。在传统的进化算法中&#xff0c;通常会假设每个个体都是独立且不同的&#xff0c;因此可能会导…