看到一种css实现圆角的方法

实现圆角,最常用的是使用背景图border-radius属性。

圆角背景图

background: url(./bg.png);
  • 优点:兼容各浏览器
  • 缺点:适应性不好,无法拉伸;需要请求图片资源。

border-radius

border-radius: 5px;
  • 优点:可拉伸,简单方便,CSS实现
  • 缺点:只兼容现代浏览器

看到的方法

这个方法就略奇葩,但确实出现在了我们的产品中。大致思路是使用不同宽度的1px直线达到渐变的效果。
具体来说:使用几个<b>标签,用margin控制宽度,从上到下依次变长,造成一种圆角的感觉。

所以这个圆角其实只是模拟的圆角,并不是很圆,但应该也瞒混的过去...

个人感觉

  • 优点:兼容各浏览器,可拉伸,CSS实现
  • 缺点:代码太复杂;圆角其实并不是特别圆...

HTML代码:

<div class="box line">
    <b class="line line1"></b>
    <b class="line line2"></b>
    <b class="line line3"></b>
    <b class="line line4"></b>
    <div class="box-content"></div>
    <b class="line line4"></b>
    <b class="line line3"></b>
    <b class="line line2"></b>
    <b class="line line1"></b>
</div>

CSS代码:

.box{
    width:200px;
    height:62px;
    margin:20px;
}
.box .line{
    display:block;
    height:1px;
    overflow: hidden;
    background: #09f;
}
.box .line1{ margin:0 5px; }
.box .line2{ margin:0 3px; }
.box .line3{ margin:0 2px; }
.box .line4{ margin:0 1px; }
.box .box-content{
    width:200px;
    height:52px;
    background: #09f;
}

总结

运用一些想象力,CSS可以实现很多好玩的东西。不过对于圆角,个人还是喜欢border-radius的实现,因为简单,代码简洁,低版本浏览器退化到直角,也是非常好看的,有时候甚至觉得直角比圆角还好看。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,703评论 1 92
  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 13,304评论 0 8
  • 1、属性选择器:id选择器 # 通过id 来选择类名选择器 . 通过类名来选择属性选择器 ...
    Yuann阅读 5,608评论 0 7
  • 一朵名为水盈的假花阅读 1,013评论 0 0
  • 嗯,某天听到有人聊前任,悲愤而充满着恨意,说:“真恨他,希望他永远都结不了婚”。两个愤愤的女人,各自诉说着前任的种...
    女子爱红妆阅读 2,166评论 0 0

友情链接更多精彩内容