5个好用的 CSS 函数

开发 前端
CSS 包含了许多函数,而且它能够完成许多早期需要用 JavaScript才能完成的事情。每年都有新的特性被添加进来,这让我们的开发更加轻松,也减少了对JavaScript的依赖。

 [[340914]]

简介

CSS 包含了许多函数,而且它能够完成许多早期需要用 JavaScript才能完成的事情。每年都有新的特性被添加进来,这让我们的开发更加轻松,也减少了对JavaScript的依赖。CSS 函数是它所具有的最强大的特性之一,在本文中,我将介绍一些我认为有用的函数。

attr()

attr 函数用于获取所选元素的属性值。它接受三个参数,属性名称,类型和默认值。

语法: attr( attribute-name? [,]? )

事例:

  1. <p data-text="the attr function" 
  2.   data-tooltip="Hi from attr!" class="attr">This text is combined with</p> 

css

  1. p::after { 
  2.   content: ' ' attr(data-text); 
  3.  
  4. p.attr:hover::after { 
  5.   content: ' ' attr(data-tooltip); 
  6.   background-color: orange; 
  7.   color: white 

效果:

源码:https://codepen.io/protic_milos/pen/GRpYJKd

calc()

这个函数使我们能够计算CSS值,而不是指定确切的值。通常用于计算元素的大小或位置。它支持加法、减法、乘法和除法。

需要特别注意重要一点是+和-运算符必须用空格隔开,不然无法正常工作。*和/运算符不有这限制,但出于一致性的考虑,建议添加空格。

另外,很棒的是,我们可以混合CSS单位,例如,我们可以减去百分比和像素。

我们可以用calc构建一个带有居中元素的示例:

  1. <p class="calc">Centered with calc</p> 

css

  1. p.calc { 
  2.   padding: 10px; 
  3.   background-color: orange; 
  4.   color: white; 
  5.   width: 200px; 
  6.   text-align:center; 
  7.   margin-left: calc(50% - 100px) 

效果:

源码:https://codepen.io/protic_milos/pen/GRpYJKd

var()

通过这个函数,我们可以使用一个自定义属性的值作为另一个CSS属性的值。简单地说,我们可以定义一个颜色,例如,将它放在自定义属性(CSS变量)中,然后通过调用var函数重用该属性值。

与CSS变量一起,该函数提高了可维护性并减少了重复。一个用例是为网站创建主题。

此函数接受两个参数,即自定义属性和一个默认值,如果出现问题,将使用它们。

  1. :root { 
  2.   --bg-color: green; 
  3.   --color: white 
  4.  
  5. p.var { 
  6.   background-color: var(--bg-color); 
  7.   color: var(--color) 

效果:

源码:https://codepen.io/protic_milos/pen/GRpYJKd

counter()

就我个人而言,我从未使用过这种方法,但它看起来是很有趣。这个函数返回指定计数器的当前值,需要与 counter-reset和counter-increment 配合使用。

我们可以用它来计算其他元素,比如有序列表。

  1. <div class="counter"
  2.   <span>Mars</span> 
  3.   <span>Bounty</span> 
  4.   <span>Snickers</span> 
  5. </div> 

源码:https://codepen.io/protic_milos/pen/GRpYJKd

circle()

这个函数创建一个圆形区域来屏蔽它所应用的元素。你可以指定它的半径和位置。通常与图像一起使用来创建圆角形状。此函数是clip-path属性值。

另外,值得一提的是,除了圆之外,您还可以创建椭圆和多边形形状。

  1. <img class="circle"  
  2.   src="https://devinduct.com/Uploads/PostImages/1122dcb9-954a-4641-9ca6-c38e9472698f.png" 
  3. /> 

css

  1. img.circle { 
  2.   clip-path: circle(30%); 

源码:https://codepen.io/protic_milos/pen/GRpYJKd

总结

正如我之前多次提到的,在很多情况下,开发人员都忽视了CSS的可能性,因此失去了web站点的简单性。每一年我们都可以依靠CSS为我们提供所需的设计能力,这很好,JavaScript 应该把注意力放在其他事情上,而不是设计上。

作者:Milos Protic 译者:前端小智 来源:devinduct

原文:https://devinduct.com/63/5-useful-css-functions

本文转载自微信公众号「 大迁世界」,可以通过以下二维码关注。转载本文请联系大迁世界公众号。

 

责任编辑:武晓燕 来源: 大迁世界
相关推荐

2020-06-24 07:44:12

Python数据技术

2017-12-23 08:50:30

JavascripCSS数据

2020-10-09 11:02:46

HTML5 特性

2010-05-18 17:32:33

MySQL查询优化

2020-04-28 14:05:53

CSS网页开发

2023-08-29 07:52:09

CSS库网络动画

2019-02-25 10:35:04

Vim插件编程语言

2020-05-18 08:42:23

CSS背景图像前端开发

2022-05-19 14:57:30

CSS代码工具

2020-04-16 09:50:14

Python 开发效率

2021-05-25 07:46:43

CSSCSS 变量Web应用

2021-08-11 09:33:15

Vue 技巧 开发工具

2023-11-13 14:50:53

CSS开发

2010-09-10 15:32:53

SQL函数日期格式化

2024-02-05 22:53:59

前端开发

2024-02-27 09:28:15

前端开发函数库

2023-03-13 08:47:06

CSS数学函数

2015-04-21 14:54:39

HTML5混合式App

2016-03-03 10:19:30

交互触控

2022-03-30 09:01:37

CSS属性函数
点赞
收藏

51CTO技术栈公众号