资讯专栏INFORMATION COLUMN

一个关于border-radius值设置的问题记录

ssshooter / 510人阅读

摘要:按理说应该有明显的弧度了啊,全设置成看看呢对啊,这是应该有的弧度,为什么改成左边写成就变样了呢,难道跟有关带着疑问,我看了看百度。

问题记录

今天本打算要完成一个类似于进度条的小组件, 原型是这样的(这里长200px, 高28px)

我一看, 很简单嘛, 抛开那个数字1样式不谈, 整体父级样式就是一个左边半圆形, 右边带有弧度的div啊。
这个用css的border-radius就可以搞定了啊。 左边是圆角, 圆角50px啊, 右边是小圆角, 以往的div都是8px弧度的。 根据border-radius中角的顺序(以顺时针的方向解析,上左,上右,下右,下左), 设置border-radius: 50px 8px 8px 50px;就好了啊。 满心欢喜写好样式, 打开浏览器。

傻了, 不对啊, 我原以为是这样的

实际上, 浏览器中是这样的

不对了啊, 右边的角度设置了啊, 怎么看起来跟没设置一样呢, 我把8改成了10px在试了下, 还是差不多跟没设置一样的。

8px按理说应该有明显的弧度了啊, 全设置成8px看看呢

对啊, 这是8px应该有的弧度, 为什么改成左边写成50px就变样了呢, 难道跟50px有关?带着疑问, 我看了看百度。

百度说, 其实border-radius的完整写法(w3c)是 

border-radius: 1-4 length|% / 1-4 length|%;

平时我们写的border-radius : 50px,其实完整的写法应该是:

border-radius : 50px 50px 50px 50px / 50px 50px 50px 50px;

“/”前的四个数值表示圆角的水平半径,后面四个值表示圆角的垂直半径

每个顺序一一对应 (水平半径:左上 右上 右下 左下)/(垂直半径:左上 右上 右下 左下),

什么是水平半径和垂直半径呢?

根据水平半径跟垂直半径的比值, 可以调整角的弧度, 两者半径相同, 就是个圆角。 这就是问什么我平时设置的角都是圆角的原因, 因为我没有写完整过

例如 border-radius:10px 20px 30px 40px/40px 30px 20px 10px

就是这样的样子

再来回头看我们之前的问题

我们忽略了高度28px了啊. 这样算来, 我们要设置右边是个半圆形, 只要水平跟垂直半径都是14px不就好了吗

border-radius: 14px 8px 8px 14px / 14px 8px 8px 14px;

这样,父级样式不就对了吗。

之前右边设置的8px圆角看起来没有效果, 可能跟50px比起来, 被等比例压缩了吧, 因为左边本来就高28px, 塞了个半径50px进去, 我算算(14 * 8 / 50 = 2.24), 就等于设置成了

border-radius: 14px 2.24px 2.24px 14px / 14px 2.24px 2.24px 14px;

以后写样式要当心了啊, 小问题也不小啊。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/114706.html

相关文章

  • 前端入门-day2(常见css问题及解答)

    摘要:写在前面今天是入门前端的小伙伴们应该已经看了一些的基础和的基础了,是不是遇到了很多关于的问题呢。因为很少有太复杂的问题,所以直接写一篇关于的常见问题及解答啦和的区别简单来说不会再占据空间,就跟不存在一样。 showImg(https://segmentfault.com/img/remote/1460000016762552); 写在前面 今天是入门前端的day2, 小伙伴们应该已经看...

    tuantuan 评论0 收藏0
  • [探索]在开发中尽量提高代码复用性

    摘要:提高代码的复用性,应该是不同场景,不同解决方案的。不建议强制提高代码复用性,如果提高代码复用性会大大的降低代码的可读性,维护性,可能会得不偿失。 ctrl+c 和 ctrl+v 给我们带来了很多的便利,但是也使我们变得懒惰,不愿思考。 1.前言 相信很多人和我一样,在开发项目的时候,因为项目赶,或者一时没想到等原因。频繁使用 ctrl+c 和 ctrl+v ,导致代码很多都是重复的。这...

    Cheriselalala 评论0 收藏0
  • [探索]在开发中尽量提高代码复用性

    摘要:提高代码的复用性,应该是不同场景,不同解决方案的。不建议强制提高代码复用性,如果提高代码复用性会大大的降低代码的可读性,维护性,可能会得不偿失。 ctrl+c 和 ctrl+v 给我们带来了很多的便利,但是也使我们变得懒惰,不愿思考。 1.前言 相信很多人和我一样,在开发项目的时候,因为项目赶,或者一时没想到等原因。频繁使用 ctrl+c 和 ctrl+v ,导致代码很多都是重复的。这...

    Keagan 评论0 收藏0
  • [探索]在开发中尽量提高代码复用性

    摘要:提高代码的复用性,应该是不同场景,不同解决方案的。不建议强制提高代码复用性,如果提高代码复用性会大大的降低代码的可读性,维护性,可能会得不偿失。 ctrl+c 和 ctrl+v 给我们带来了很多的便利,但是也使我们变得懒惰,不愿思考。 1.前言 相信很多人和我一样,在开发项目的时候,因为项目赶,或者一时没想到等原因。频繁使用 ctrl+c 和 ctrl+v ,导致代码很多都是重复的。这...

    wind3110991 评论0 收藏0
  • PostCSS自学笔记(二)【番外篇一】

    摘要:通过配置规则和单位使用或来解决。其他关于我个人的一系列学习介绍及总结有兴趣可以参阅自学笔记一安装使用篇自学笔记二插件篇自学笔记二番外篇一自学笔记二番外篇二 利用PostCSS解决移动端REM适配问题 上一期有提到结合postcss-px2rem插件来处理移动端适配的方案,以及相关的避坑方法,之后总觉得这个解决方案问题太多,也就诞生了另一套方案运用postcss-pxtorem插件来进行...

    Harpsichord1207 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<