乐趣区

关于SegmentFault:5个好用的-CSS-函数快来试试手吧

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

点赞再看 ,微信搜寻【大迁世界】,B 站关注【前端小智】 这个没有大厂背景,但有着一股向上踊跃心态人。本文 GitHub https://github.com/qq44924588… 上曾经收录,文章的已分类,也整顿了很多我的文档,和教程材料。

最近开源了一个 Vue 组件,还不够欠缺,欢送大家来一起欠缺它,也心愿大家能给个 star 反对一下,谢谢各位了。

github 地址:https://github.com/qq44924588…

简介

CSS 蕴含了许多函数,而且它可能实现许多晚期须要用 JavaScript 能力实现的事件。每年都有新的个性被增加进来,这让咱们的开发更加轻松,也缩小了对 JavaScript 的依赖。CSS 函数是它所具备的最弱小的个性之一,在本文中,我将介绍一些我认为有用的函数。

attr()

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

calc()

这个函数使咱们可能计算 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

var()

通过这个函数,咱们能够应用一个自定义属性的值作为另一个 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()

就我集体而言,我从未应用过这种办法,但它看起来是很乏味。这个函数返回指定计数器的以后值,须要与 counter-resetcounter-increment 配合应用。

咱们能够用它来计算其余元素,比方有序列表。

<div class="counter">
  <span>Mars</span>
  <span>Bounty</span>
  <span>Snickers</span>
</div>

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

circle()

这个函数创立一个圆形区域来屏蔽它所利用的元素。你能够指定它的半径和地位。通常与图像一起应用来创立圆角形态。此函数是 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 的可能性,因而失去了 web 站点的简略性。每一年咱们都能够依附 CSS 为咱们提供所需的设计能力,这很好,JavaScript 应该把注意力放在其余事件上,而不是设计上。


代码部署后可能存在的 BUG 没法实时晓得,预先为了解决这些 BUG,花了大量的工夫进行 log 调试,这边顺便给大家举荐一个好用的 BUG 监控工具 Fundebug。

原文:https://devinduct.com/63/5-us…

交换

文章每周继续更新,能够微信搜寻「大迁世界」第一工夫浏览和催更(比博客早一到两篇哟),本文 GitHub https://github.com/qq449245884/xiaozhi 曾经收录,整顿了很多我的文档,欢送 Star 和欠缺,大家面试能够参照考点温习,另外关注公众号,后盾回复 福利,即可看到福利,你懂的。

退出移动版