几个好用的css函数小技巧

css为html标记语言提供了一种样式描述,定义了其中元素的显示方式。css在web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。在这篇文章中我们将会介绍css函数中8种有用的小技巧。

1.纯CSS Tooltip

许多网站还是在使用JavaScript来创建Tooltip效果,但实际上通过CSS能更简单的实现。最简单的方法是在你的HTML代码中添加一个带有提示文本的属性,比如 data-tooltip=”…” 。然后你就可以在你的CSS文件中添加以下的代码通过 attr() 函数来显示提示文字:

.tooltip::after {    content: attr(data-tooltip);
}

相当简单对吧?当然实际上我们还需要更多的代码来给提示增加样式,但是不用担心,已经有了为此设计的强大且纯粹的叫 Hint.css 的CSS库和 Balloon.css 。

2.使用自定义数据属性和 attr() 函数

立即学习“前端免费学习笔记(深入)”;

我们已经学会如何使用 attr() 来创建提示,另外还有一些场景能使用到这个函数。通过与数据属性相结合,你可以通过很简单的一行HTML代码来创建带有标题和描述的缩略图:

   Illustration

现在你可以通过 attr() 函数来显示标题与描述:

.caption::after {    content: attr(data-title);
   …
}

以下为具体的例子:

注意:这个方法在浏览器支持方面可能会有一些问题,具体内容你可以查看 Accessibility support for CSS generated content 这篇文章。

3. CSS Counters

你可以通过CSS Counters实现超棒的功能。这不是一个非常为人熟知的属性,大多数人甚至可能认为浏览器不能很好的支持这个属性,但事实上所有的浏览器都支持这个属性:

但是你不应该将CSS counters使用在有序列表

上,它更适合使用在类似分页或者图片库下面显示的数字上。你可以通过下面的例子看出如何使用很少的代码(甚至不使用JavaScript)来对选中的项目进行计数:

CSS counters也非常适合显示可通过拖放进行重新排序的项目列表上动态变化的数字:

正如最后一个例子,我们需要记住,通过该方法生成的内容在可访问性上可能会有些问题。

4.CSS滤镜实现的磨砂效果

在iOS7中,苹果实现了“磨砂玻璃”的效果–半透明的,模糊的元素,看起来像覆盖了一层磨砂玻璃。受到苹果的启发,这种效果被运用到很多地方。在CSS滤镜出现之前要重现这个效果还是有些棘手的。你必须通过使用 模糊图片 来实现这种毛玻璃的效果。但现在CSS滤镜得到了几乎所有的主流浏览器的支持,所以要 重现这个效果 就简单很多了。

在未来,我们可以通过背景过滤器和 filter() 函数 来实现这样的效果,但目前只有 Safari 同时支持这两个功能。

有关于CSS的 filter 更多的介绍可以点击这里进行了解。

5.将HTML元素作为背景

一般我们可以设置一个JPEG或者PNG文件作为背景,或者也可以设置一个渐变的背景。但是你知道可以通过使用 element() 函数,从而将一个

设置为背景图片吗?现在, element() 函数只有在Firefox中得到了支持:

可能性是无止境的, 这里 是MDN上的一个例子。

有关于CSS的 element() 函数的相关介绍可以点击这里。

6.通过 calc() 创建更好的网格

流体网格虽然很棒但是仍然存在很严重的问题。比如,在顶部和底部的间距大小几乎不可能与在左边和右边的间距大小相同。另外,若使用的网格系统不一样,标记就会非常混乱。虽然弹性布局不是最终的解决方案,但是通过与 calc() (可以在CSS文件中作为一个属性值)相结合,我们能够创建一个更好的网格。在 这里 ,George Martsoukos列举了很多例子,比如拥有完美间距的画廊网格。通过使用CSS预编译语言,比如Sass, 组建一个创造性的网格系统 可以非常简单且易于维护。同时浏览器对 calc() 的支持几乎完美,因此 calc() 绝对是你应该掌握的一个功能。

有关于CSS的 calc() 函数相关的介绍可以点击这里。

7. 通过 calc() 对齐 position:fixed 元素

calc() 的另一个作用是用来对齐 position:fixed 的元素。比如,你有一个内容封装器,它左右都有流动的间距,你希望在这个内容封装器内精确对齐 position 为 fixed 的元素,但是这种情况下要计算出 left 和 right 属性的具体赋值就很困难。通过 calc() ,你可以结合相对和绝对的值来精确定位你的元素:

.wrapper {    max-width: 1060px;    margin: 0 auto;
}.floating-bubble {    position: fixed;    right: calc(50% – 530px); /* 50% – half your wrapper width */}

比如:

有关于这方面的详细介绍可以阅读 @brnnbrn 写的《 Aligning position:fixed Elements with CSS calc 》一文。

8.使用 cubic-bezier() 实现动画

为了使一个网站或者APP的用户界面更具有吸引力,你可使用一些动画,但是可以选择的过渡效果的速度曲线是相当有限的,比如, linear 或者 ease-in-out 。而标准的速度曲线连弹力运动的效果都实现不了。通过使用 cubic-bezier() 函数,你可以精确实现你想要的动画效果。

有两种方法使用 cubic-bezier() ——了解 背后的机制 后自己创建,或者是使用 cubic-bezier 生成器 。

说实话,我使用的是后者。

有关于 cubic-bezier() 详细的介绍可以点击这里。

总结

更加聪明的使用CSS函数不仅仅可以解决上面的问题比如创建一个更好的网格,它还可以给你更多的创作自由。随着浏览器支持越来越好,你可以使用CSS函数比如 calc() 来修改和提升一下你之前的CSS代码。

本文根据 @Anselm Urban 的 《8 Clever Tricks with CSS Functions》 所译,整个译文带有我们自己的理解与思想,如果译得不好或有不对之处还请同行朋友指点。如需转载此译文,需注明英文出处: https://www.sitepoint.com/8-clever-tricks-with-css-functions 。

以上就是8个css函数小技巧,觉得不错的小伙伴们赶紧收藏起来吧。

相关推荐:

   

以上就是几个好用的css函数小技巧的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3121723.html

(0)
上一篇 2025年3月29日 17:55:47
下一篇 2025年3月29日 17:55:57

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 用css实现css动画的暂停与播放功能教程

    css是一种定义样式结构如字体、颜色、位置等的语言,被用于描述网页上的信息格式化和现实的方式。css样式可以直接存储于html网页或者单独的样式单文件。无论哪一种方式,样式单包含将样式应用到指定类型的元素的规则。本节内容我们就和大家分享一下…

    编程技术 2025年3月29日
    100
  • css布局需要注意的几点

    一个网页的布局,对于用户体验以及百度的排名的影响是很重大的,就算你网站的内容再好,只要布局很差,那也是没用,所以当我们从设计那边拿到的图片后不是能随便的乱加到自己的网页上,只有对图片进行分析后,才能很好的css布局。 布局在分析中占很大部分…

    编程技术 2025年3月29日
    100
  • css3实现阴影效果实例

    css3是css技术的升级版本,css3语言开发是朝着模块化发展的。以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为一些小的模块,更多新的模块也被加入进来。这些模块包括: 盒子模型、列表模块、超链接方式 、语言模块 、背景和…

    编程技术 2025年3月29日
    100
  • 用DIV和CSS作下拉菜单

    今天给大家带来的是无论什么网站都有可能用到的万能的符合WEB标准的CSS下拉导航菜单布局及css下拉菜单模板!快点保存一下吧! 登录后复制 div+css          CSS     产品一     产品一     产品一     产…

    编程技术 2025年3月29日
    100
  • 怎样用CSS只对表格table的标签设置边框

    很多朋友都很苦恼表格样式怎么设置,今天就给大家详细讲解一下表格样式怎么设置。先说一种方法,只对table设置边框。之后给大家带来设置表格其他元素的方法,请持续关注 只对table标签设置border(边框)样式,将让此表格最外层table一…

    编程技术 2025年3月29日
    100
  • 为什么有时候DIV CSS加载失败

    造成加载失败的原因一般只有三种,有css加载失败,有if造成失败,还有另类css加载失败,今天给大家详细的说明一下,也给大家提供解决方法,需要的朋友可以保存笔记了。 1、真正CSS加载失败 一、有时网页能完整打开网页布局完整,有时网页像没有…

    编程技术 2025年3月29日
    100
  • 几种纯css制作的小功能实例

    css为html标记语言提供了一种样式描述,定义了其中元素的显示方式。css在web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。现如今在css的基础上又新出了css3,在前端的工作中css还是很重要的,下面…

    编程技术 2025年3月29日
    100
  • CSS怎么加粗文字

    css的加粗文字总共有俩种方法,一种是用html加粗标签,一种是用css加粗,今天给大家介绍俩种不同的加粗方法,以及俩种方法的区别 CSS 加粗样式单词为 font-weight 登录后复制 使用语法: div{font-weight:bo…

    编程技术 2025年3月29日
    100
  • CSS怎么设置table边框样式

    今天和大家说一下css如何设置table表格边框样式,对table设置css样式边框分为4种情况,以下分别详细讲解这四种情况需要怎么处理。 1、只对table设置边框 2、对td设置边框 3、对table和td技巧性设置表格边框 4、对ta…

    编程技术 2025年3月29日
    100
  • CSS的margin有什么作用

    首先我们要知道margin是什么意思,margin 属性是css用于在一个声明中设置所有 margin 属性的简写属性,是用于控制每一块元素之间距离的属性。他们是透明不可见的。 margin属性包含了margin left :距左元素块距离…

    编程技术 2025年3月29日
    100

发表回复

登录后才能评论