这篇文章主要介绍css中常有函数的有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
CSS 包含了许多函数,而且它能够完成许多早期需要用 JavaScript才能完成的事情。每年都有新的特性被添加进来,这让我们的开发更加轻松,也减少了对JavaScript的依赖。CSS 函数是它所具有的最强大的特性之一,在本文中,我将介绍一些我认为有用的函数。
attr
函数用于获取所选元素的属性值。 它接受三个参数,属性名称
,类型
和默认值
。
语法:
attr( attribute-name <type-or-unit>? [, <fallback> ]? )
事例:
<p data-text="the attr function" data-tooltip="Hi from attr!" class="attr">This text is combined with</p>
css
p::after { content: ' ' attr(data-text); } p.attr:hover::after { content: ' ' attr(data-tooltip); background-color: orange; color: white }
效果:
源码:https://codepen.io/protic_milos/pen/GRpYJKd
这个函数使我们能够计算CSS值,而不是指定确切的值。通常用于计算元素的大小或位置。它支持加法、减法、乘法和除法。
需要特别注意重要一点是+
和-
运算符必须用空格隔开,不然无法正常工作。*
和/
运算符不有这限制,但出于一致性的考虑,建议添加空格。
另外,很棒的是,我们可以混合CSS单位,例如,我们可以减去百分比和像素。
我们可以用calc
构建一个带有居中元素的示例:
<p class="calc">Centered with calc</p>
css
p.calc { padding: 10px; background-color: orange; color: white; width: 200px; text-align:center; margin-left: calc(50% - 100px) }
效果:
源码:https://codepen.io/protic_milos/pen/GRpYJKd
通过这个函数,我们可以使用一个自定义属性的值作为另一个CSS属性的值。简单地说,我们可以定义一个颜色,例如,将它放在自定义属性(CSS变量)中,然后通过调用var
函数重用该属性值。
与CSS变量一起,该函数提高了可维护性并减少了重复。一个用例是为网站创建主题。
此函数接受两个参数,即自定义属性和一个默认值,如果出现问题,将使用它们。
:root { --bg-color: green; --color: white } p.var { background-color: var(--bg-color); color: var(--color) }
效果:
源码:https://codepen.io/protic_milos/pen/GRpYJKd
就我个人而言,我从未使用过这种方法,但它看起来是很有趣。这个函数返回指定计数器的当前值,需要与 counter-reset
和counter-increment
配合使用。
我们可以用它来计算其他元素,比如有序列表。
<div class="counter"> <span>Mars</span> <span>Bounty</span> <span>Snickers</span> </div>
源码:https://codepen.io/protic_milos/pen/GRpYJKd
这个函数创建一个圆形区域来屏蔽它所应用的元素。你可以指定它的半径和位置。通常与图像一起使用来创建圆角形状。此函数是clip-path
属性值。
另外,值得一提的是,除了圆之外,您还可以创建椭圆和多边形形状。
<img class="circle" src="https://devinduct.com/Uploads/PostImages/1122dcb9-954a-4641-9ca6-c38e9472698f.png" />
css
img.circle { clip-path: circle(30%); }
源码:https://codepen.io/protic_milos/pen/GRpYJKd
以上是“css中常有函数的有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。