用CSS做酷炫的边界半径功能。

如何使用很少使用的功能创建非常酷的效果?TL/DR:当您使用CSS中指定边框半径的8个值时,可以创建外观有机的形状。在今年的前端会议上,苏黎世的Rachel Andrew谈到了如何打开CSS网格布局的力量。在她演讲的最后,她提到了一个在我脑海中挥之不去的旧CSS属性:

图像是通过使用支持良好的边界半径设置成圆的,不要忘记旧的CSS仍然存在并且非常有用,你不需要为每个效果都使用一些花哨的东西。

——雷切尔·安德鲁

在听到这个演讲后不久,你肯定可以创造出更多的圆圈,并开始深入挖掘使用边界半径可以做什么。

掌握这个特性、单值

让我们从基础开始,希望这不会让你厌烦,您可能熟悉CSS,也知道边界半径。它已经存在多年了,主要用于像这样的单值:border-radius:1em,它可能是2010年CSS3最受讨论/喜爱的特性之一,当时css3please.com是你最好的朋友。

当你只使用一个值时,所有的角都会被这个值所包围:

用CSS做酷炫的边界半径功能(图1)

正如您可以在上面的例子中看到的,在固定长度值如px、rem或em旁边,您还可以使用百分比。通常是通过设置边界半径为50%来创建一个圆。百分比值基于给定元素的宽度和高度。所以当你在一个矩形上使用它时,你将不再有对称的角。这里有一个例子,展示了边框半径:110px和边框半径:30%应用于矩形之间的区别。

用CSS做酷炫的边界半径功能(图2)

注意右边的角不是对称的,记住这一点。我们稍后会回来讨论这个问题。

四个不同的值

当您使用多个值时,您将开始为每个角设置值,从左上角开始,然后顺时针移动。同样,您也可以使用百分比,还可以将百分比与固定长度值混合。

用CSS做酷炫的边界半径功能(图3)

由斜杠分隔的8个值

我想你们大多数人已经做了我上面解释的所有事情,现在我们进入令人兴奋的部分。如果使用斜杠分隔值并指定最多8个值,会发生什么情况?让我们看看,说明书是怎么说的:

如果在斜杠之前和之后给出值,那么斜杠之前的值设置水平半径,斜杠之后的值设置垂直半径。如果没有斜杠,则值设置为相等的半径。

——W3C

因此,斜杠前面的值表示水平距离,而斜杠后面的值表示垂直长度。但这意味着什么呢?还记得矩形的百分比吗?垂直距离和水平距离以及不对称圆角的绝对值不同,这正是使用斜杠语法时得到的结果。

因此,当你比较边界半径:4em 8em和边界半径:4em / 8em时,结果是完全不同的。

用CSS做酷炫的边界半径功能(图4)

左边对称的角是圆的四分之一,而右边不对称的角是省略的一部分。

老实说,你得到的形状有点奇怪。但是要记住你用边界半径创建的圆圈:50%。你会得到一个圆,因为定义一边的两个值加起来等于100%(50% + 50% = 100%),并且没有留下直线,这让你想起了原来的正方形。如果您将相同的逻辑应用到完整的8个值边界半径语法中,您可以创建一个看起来有点像plectrum或有机单元格的形状:

用CSS做酷炫的边界半径功能(图5)

用CSS做酷炫的边界半径功能(图6)

最后是四个重叠的椭圆组成了最终的形状。简单的哈!

别慌,我们为你做了一个视觉发生器

花了一些时间来适应这种语法,不知何故,这并不那么直观。为了让事情变得简单一点,我们构建了一个小工具,帮助您创建自己的有机形状。

现在您已经知道了总共的8个值,您可能会感到有点难过,因为我们的border-radius工具没有给您单独设置每个值的选项…

如果你年纪够大,你可能还记得1984年《捉鬼敢死队》电影中的一句话:

"不要过河。"-"为什么?"-"那太糟糕了。"

这里也有类似的情况:如果你在一边交叉把手,形状就会发生变化。但你自己看看,毕竟,它不会以完全的质子逆转或什么的结束,但不要说,我没有警告你。

非常感谢simurai,早在2010年,他就发明了一些CSS3棒棒糖纽扣。尽管它们看起来有点过时,但它是我唯一遇到和学习过斜杠语法的地方。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/218829.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚重蔚管理团队
上一篇 2023年2月15日 11:37
下一篇 2023年2月15日 11:37

相关推荐

  • 我来教你css怎么实现横向滚动条。

    在CSS中,可以通过设置元素的overflow-x属性为scroll来实现横向滚动条。 在网页设计中,滚动条是一种常见的交互元素,它可以帮助用户浏览长页面或需要查看更多内容的区域,滚动条可以分为垂直滚动条和水平滚动条两…

    2024年7月15日
    00
  • 小编分享css图片轮播怎么做。

    在网页设计中,图片轮播是一种常见的展示方式,它可以有效地吸引用户的注意力,提高用户的浏览体验,下面我将详细介绍如何使用CSS制作图片轮播。 我们需要创建一个HTML结构来放置我们的图片,这个结构通常包括一个…

    2024年7月2日
    00
  • css设置宽度,html标签怎么使用CSS设置宽度。

    在网页设计中,CSS(层叠样式表)是一种用于描述HTML元素在屏幕上如何显示的语言,通过使用CSS,我们可以控制HTML元素的布局、颜色、字体等属性,设置宽度是CSS中一个非常常见的操作,本文将详细介绍如何使用CSS为H…

    2024年6月28日
    01
  • 为什么要学习CSS+DIV技术?

    首先要问人为什么要学习,为什么要有一技之长?答:时代不断变化各行各业日新月异不学习就会很快落后,活到老学到老,人要有一技之长,技为安身立命之根本。 学习CSS+DIV技术,可以让你认识互联网,认识我们每天接…

    2015年12月1日
    0282
  • 分享html如何使2个盒子重叠。

    在HTML中,要使两个盒子重叠,我们可以使用CSS的定位属性,这涉及到对元素的绝对定位或相对定位,以及可能的zindex属性来控制堆叠顺序,以下是详细步骤和代码示例: (图片来源网络,侵删) 步骤1:创建HTML结构 我…

    2024年6月25日
    06
  • css实现多列布局的实践

    今天给大家安利的是一个多列布局的实践 :Columns ,特别简单,用到的属性是 column-count,column-width,column-gap 为什么会用到 Columns 场景是因为只想在手机上显示两栏,每一个.item都是从后台动态获取 然后…

    2018年2月27日 css自学教程
    0355
  • 分享php页面怎么添加图片和文字。

    在PHP页面中,可以使用HTML标签添加图片和文字。首先需要使用 在HTML中,<img>标签用于插入图像,其基本语法如下: <img src="图片地址" alt="图片描述" /> src属性用于指定图片的…

    2024年7月21日
    01
  • 教你css中的margin属性有什么用。

    CSS中的margin属性主要用于定义元素周围的空间,也就是元素之间的空白区域。这个空间是透明不可见的,并且能够清除周围(外边框)的元素区域。Margin属性可以单独改变元素的上、下、左、右边距,也可以一次改变所有…

    2024年7月15日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息