CSS圆角实现——基本的圆角框

来源:设计经验分享网
添加时间:2024年02月

纯CSS实现圆角框是一件大家都说烂了的事件,我也写过两篇总结文章,为什么还会有这篇文章呢,事情是这样的。在我们的以前的项目中,实现圆角框往往是用背景图片来实现的,但是,当这些项目发布上线后,在维护过程中,有时需要添加一些新的需求,因为以前的项目中大量采用了圆角图片,并且这些图片全部采用了CSSsprites方式合并的图,为了不增加更多的额外工作,并且也不想用JS来添加更多的http请求,所以需要一些简单的CSS方案来解决这个问题。而我的个人爱好,也喜欢采用无图片的方式来处理这些效果。总觉得CSS能完成的工作,为什么不让它来实现呢?

实现原理:

纯CSS方式实现圆角框的原理在网络上已经有很多人详细解说了,下面这个示意图是我将其中的一个圆角进行放大后的效果。

图一

从上面效果图中我们可以看到其实这种圆角框是靠一个个容器堆砌而成的,每一个容器的宽度不同,这个宽度是由margin外边距来实现的,如:margin:05px;就是左右两侧的外边距5像素,从上到下有5条线,其外边距分别为5px,3px,2px,1px,依次递减。因此根据这个原理我们可以实现简单的html结构和样式。

1、Html结构层:


<divclass=''sharpcolor1''>
<bclass=''b1''></b><bclass=''b2''></b><bclass=''b3''></b><bclass=''b4''></b>
<divclass=''content''>文字内容</div>
</div>
<bclass=''b5''></b><bclass=''b6''></b><bclass=''b7''></b><bclass=''b8''></b>
</div>

b1~b4构成上面的左右两个圆角结构体,而b5~b8则构建了下面左右两个圆角结构体。而content则是内容主体,将这些全部放在一个大的容器中,并给它的一个类名sharp,用来设置通用的样式。再给它叠加了一个color1类名,这个类名用来区别不同的颜色方案,因为可能会有不同颜色的圆角框。

2、CSS样式:


.b1,.b2,.b3,.b4,.b5,.b6,.b7,.b8{height:1px;font-size:1px;overflow:hidden;display:block;}
.b1,.b8{margin:05px;}
.b2,.b7{margin:03px;border-right:2pxsolid;border-left:2pxsolid;}
.b3,.b6{margin:02px;border-right:1pxsolid;border-left:1pxsolid;}
.b4,.b5{margin:01px;border-right:1pxsolid;border-left:1pxsolid;height:2px;}

将每个b标签都设置为块状结构,并定义其高度为1像素,超出部分溢出隐藏。从上面样式中我们已经看到margin值的设置,是从大到小减少的。而b1和b8的设置是一样,已经将它们合并在一起了,同样的原理,b2和b7、b3和b6、b4和b5都是一样的设置。这是因为上面两个圆和下面的两个圆是一样,只是顺序是相对的,所以将它合并设置在一起。有利于减少CSS样式代码的字符大小。后面三句和第二句有点不同的地方是多设置了左右边框的样式,但是在这儿并没有设置边框的颜色,这是为什么呢,因为这个边框颜色是我们需要适时变化,所以将它们分离出来,在下面的代码中单独定义。

接下我们设置内容区的样式:


.content{border-right:1pxsolid;border-left:1pxsolid;overflow:hidden;}

也是只设置左右边框线,但是不设置颜色值,它和上面八个b标签一起构成圆角框的外边框轮廓。

往往在一个页面中存在多个圆角框,而每个圆角框有可能其边框颜色各不相同,有没有可能针对不同的设计制作不同的换肤方案呢,答案是有的。在我的这个应用中,可以换不同的皮肤颜色,并且设置颜色方案也并不是一件很难的事情。下面看看我是如何将它们应用到不同的颜色的。

在上面的样式设计中,我已经给颜色方案留下了可以扩展的空间。我将所有的涉及到边框色的类名全部集中在一起,用群选择符给它们设置一个边框的颜色就可以了。如下所示:


.color1.b2,.color1.b3,.color1.b4,.color1.b5,.color1.b6,
.color1.b7,.color1.content{}{border-color:#96C2F1;}
.color1.b1,.color1.b8{background:#96C2F1;}

注意:需要将这两句的颜色值设置为一样的,第二句中虽说是设置的background背景色,但它同样是上下边框线的颜色,这一点一定要记住。因为b1和b8并没有设置border,但它的高度值为1px,所以用它的背景色就达到了模拟上下边框的颜色了。
现在已经将一个圆角框描述出来了,但是有一个问题要注意,就是内容区的背景色,因为这儿是存载文字主体的地方。所以还需要加入下面这句话,也是群集选择符来设置圆角内的所有背景色。


.color1.b2,.color1.b3,.color1.b4,.color1.b5,
.color1.b6,.color1.b7,.color1.content{background:#EFF7FF;}

这儿除了b1和b8外,其它的标签都包含进来了,并且包括content容器,将它们的背景色全部设置一个颜色,这样除了线框外的所有地方都成为一种颜色了。在这儿我也用到包含选择符,给它们都加了一个color1,这是颜色方案1的类名,依照这个原理可以设置不同的换肤方案。

好了,我们将上面的所有代码集中起来,就完成一个纯CSS圆角框的实例模型,在源码中,我设置了六套颜色方案,其它的颜色方案就看你的了。

下面是源码演示后的截图:

图二

为了演示效果,本模型的宽度值全部采用百分比实现的,你可以随意伸缩宽度,看看它能否适应弹性的变化。

本模型在以下浏览器中完美通过:

IE5.5、IE6、IE7、IE8、FF3、TT、Maxthon2.1.5、Opera9.6、Safari4.0、Chrome2.0。

 

平面设计相关资讯推荐阅读:


移动网页建设要注意哪些细节三思而后行!论网页建设导航栏的重要性分享SEO新手如何快速建站关于手机网页建设应做的内容和标准网页建设如何选择图片网购提高更改生产商产品系列网络专供商品涌进网购服务平台被百度所讨厌的网页类型是这样的网页细节优化不能不做的事情深圳网页建设八大要点详解网页建设:创意与用户习惯网页建设公司如何来确定网页的主题如何制作网页这种基本常识要了解如何自查网页制作的好与不好深圳网页建设分享如何提高网页的访问速度网页建设的重要性都有哪些拥有自己特色的网页,找深圳网页建设公司如果不建设网页对企业来说会有什么损失汇总网页开发全过程中普遍的问题和答案深圳网页建设制作中电子商务类型网页的结构都有哪些如何保证网页迁移服务器的稳定深圳网页建设教您选择核实的建站工具网页建设都有哪些重点看看此文就知软件定制开发差别大了解清楚再决定!做网页的用户们如何准备网页建设资料如何避免创作枯竭自媒体该这样做!微信营销|微信营销有哪些优势及特点EDU.CN网络域名注册办法,EDU域名需要怎么申请网页改版需要注意什么情况美容APP软件定制开发解决方案介绍如何写好一篇稿质量的软文企业软件定制开发有哪些优势做软件定制开发有哪些地方必须注意微信精准营销的技巧有哪些定制软件哪个好聊聊关于企业网页建设的一些事警惕!做网页制作这些问题必须注意!网页设计制作公司给您谈谈seo与百度竞价交互干货!消灭网页「空状态界面」的常用方法外贸网页建设需符合外国用户的习惯网页制作公司应该要如何加强网页的质量呢为什么网页建设前期一定要做好详细的策划方案SEO看重的不能只是外链企业网页要怎样做好网络推广一个成功的设计要注意哪些细节网页主色调对网页建设效果影响有多大深圳网页建设解析SEO优化更新内容的目的是什么关键词设置是网页建设中的关键事情高端企业网页建设需要注意的地方网页制作策划中非常容易忽视的难题网页建设工作中不容出错的环节网页排名下降了,我们该如何处理关于深圳的低价网页建设企业seo网页优化需要的技能定制软件哪便宜哪靠谱深圳网页建设公司怎么逐层保存网页历史性能数据网页建设要如何赢的用户的第一印象专业网页建设需要具备的四个要素为什么域名被停止解析新闻类网页建设的要求为什么做软件定制项目很难赚钱如何避免蜘蛛陷阱
网站备案号:豫ICP备2024041165号