border-radius我相信对于老一辈的前端们有着特殊的感情,在经历了没有圆角的蛮荒时代,到如今 CSS3 遍地开花,我们还是很幸福的。然而即使到了三星大脸流行时代,border-radius在移动端的表现依旧差强人意,主要有两点问题:

Android 2.3 自带浏览器不支持 %

通常我们实现一个正圆只需要border-radius: 50%即可,大致代码如下:

.foo {width: 100px;height: 100px;border-radius: 50%;border: 1px solid blue;
}

然而 Android 2.3 是不支持百分比的,要兼容我们只能使用一个较大值,比如border-radius: 999px;

Android 及 Safari 低版本 img 圆角问题

当 img 元素有border 时设置border-radius 会导致圆角变形,需要在img 外面嵌套一个元素并设置border 和border-radius。Demo

Android 4.2.x 背景色溢出及不支持 border-radius 缩写

测试发现,在 Android 4.2.x 系统自带浏览器中,同时设置border-radius和背景色的时候,背景色会溢出到圆角以外部分,需要是使用background-clip: padding-box;来修复,但是如果border-color为半透明时,背景直角部分依然会露出来

Android 4.2.x 不支持border-radius缩写

这个 BUG 在小米上测试并未发现,国外有人反映三星 Galaxy S4 中自带浏览器不支持。解决方案就是使用border-radius的四个扩写属性,缩写属性放到最后。以上两个问题影响到 Android 4.2.x 内核的系统以及在其基础上定制的系统的自带浏览器,比如:红米,小米3,阿里云OS 等,安卓版 Chrome 不受影响。
完整代码应该是这样的:

.foo {width: 100px;height: 100px;border: 5px solid blue;border-top-left-radius: 999px; /* 左上角 */border-top-right-radius: 999px; /* 右上角 */border-bottom-right-radius: 999px; /* 右下角 */border-bottom-left-radius: 999px; /* 左下角 */border-radius: 999px;background-color: #ccc;background-clip: padding-box;
}

其他问题

  • IE9 中fieldset元素不支持border-radius。
  • IE9 中带有背景渐变(gradient)的时候背景溢出。

感谢幽默的一丝分享:

原文链接:https://github.com/yisibl/blog/issues/2

border-radius 移动之伤相关推荐

  1. 如何使用CSS3 Border Radius属性

    With CSS3, you can give any element "rounded corners" by using the border-radius property. ...

  2. Tailwind Border

    边框半径(border radius) border-redius属性用于为元素设置圆角边框,可使用border-*-radius设置四个方位的圆角.圆角的设置是通过使用半径实现的,当使用一个半径时可 ...

  3. bootstrap怎么用_不用自己写css,不用bootstrap,写样式有tailwindcss就足够了

    很多前端开发者不喜欢写css, 因为对一些属性不熟悉调试起来很费劲.还有一些开发者会选择使用一些css库,比如bootstrap, 但是bootstrap是高度定制的,写出来的风格可能并不符合设计稿. ...

  4. DropZone(文件上传插件)

    1. html文件 dropzone的原理是模拟表单来上传文件,html中的元素有多重形式. 可以建立一个form表单: 1 2 3 <form id="dropz" act ...

  5. 推荐13个CSS3快速开发工具

    有了下面这些工具,你可以快速方便地掌握css3 并利用它构建页面效果: 1. CSS3 Pie 2. CSS3 Builder 3. CSS3 Drop shadow generator 4. Cas ...

  6. 深入理解浏览器解析和执行过程

    在我们公司的业务场景中,有很大一部分用户是使用老款安卓机浏览页面,这些老款安卓机性能较差,如果优化不足,页面的卡顿现象会更加明显,此时页面性能优化的重要性就凸显出现.优化页面的性能,需要对浏览器的渲染 ...

  7. 在线生成 CSS3 的工具

    1) CSS Creator – Layout Design 2) CSS Menu Maker 3) CSS3 Please 4) CSS3 Generator 5) CSS Border Radi ...

  8. 推荐10个很棒的 CSS3 开发工具

    CSS3 是对 CSS 规范的一个很大的改善和增强,它使得 Web 开发人员可以很容易的在网站中加入时尚的效果.尽管如此,有几个工具可以在你使用 CSS3 制作网站的时候起到很好的帮助作用.在这篇文章 ...

  9. 24款非常实用的CSS3工具终极收藏

    对于Web设计和开发人员来说,CSS是非常重要的一部分,随着越来越多的浏览器对CSS3的支持及不断完善,设计师和开发者们有了更多的选择.如今,用纯CSS就可以实现各种各样很酷的效果,甚至是动画.今天这 ...

  10. 【收藏】13个CSS3快速必备开发工具

    有了下面这些工具,你可以快速方便地掌握css3 并利用它构建页面效果: 1. CSS3 Pie 2. CSS3 Builder 3. CSS3 Drop shadow generator 4. Cas ...

最新文章

  1. 坚持教学与科研相结合
  2. linux下FTP命令详解
  3. UA MATH564 概率论IV 次序统计量例题1
  4. 释疑の语法LOCAL
  5. 笔试训练1 知识点整理
  6. npm login 登录失败,报E500 Internal Server Error - PUT https://registry.npm.taobao.org/-/user/org.couchdb
  7. 解决webstorm out of memory内存不足问题
  8. skype国际版android,Skype国际版
  9. matlab中生成瑞利信道的两种方法
  10. 信签纸有虚线怎么写_红底虚线信签纸模板
  11. 互联网的发展简史—web
  12. “十一“出行防诈骗攻略来了!看完再出去浪
  13. DSPE-PEG12-Mal,C72H135N2O23P长臂亲水性小分子PEG试剂
  14. 双屏、3屏拼接——A卡、N卡——Windows、Linux
  15. 计算机国培培训总结,国培培训总结范文(精选5篇)
  16. JDK1.8之前造成HashMap死链问题
  17. Matlab:常见涡旋光束仿真
  18. 资料搜集-JAVA系统的梳理知识
  19. 【技巧】arcgis制图设置经纬网同时置于最底层
  20. 光敏,红外,人体红外检测模块的模拟输出(ADC)实验——入门

热门文章

  1. 常见的C++应用领域有哪些?
  2. C++的基础知识有哪些?
  3. 开课吧Java课程之详解文件输出流FileInputStream
  4. MySQL8.0.14 - 新特性 - InnoDB Parallel Read简述 1
  5. 18.1 集群介绍 18.2 keepalived介绍 18.3/18.4/18.5 用keepalived配置高可用集群
  6. perl中的q,qq,qw,qr,qx
  7. 从 JavaScript 到 TypeScript 6 - Vue 引入 TypeScript
  8. MyEclipse破解文件+破解说明
  9. Android NDK学习记录(一)
  10. 清华大学MBA在职班第一学年第二学期课表