- 浏览: 191361 次
- 性别:
- 来自: 北京
最新评论
-
hncdcsm1:
非常给力,找了很久了,谢谢分享
99款高质量免费(X)HTML/CSS模板(转自blog.bingo929.com不错) -
yuying:
谢谢诶!
非常不错的CSS表单显示效果
导言:
本文探讨的是圆角框的终极解决方案,其核心关键词是“圆滑、完美、兼容、重用性、语义”,这些技术都是收集目前网络上最流行的做法。纵观种种方法,各有其优势,请针对不同的环境分别使用。
圆角框,因为其样式比直角框漂亮,所以成为设计师心中偏爱的设计元素。现在的web标准
下大量的网页、博客都采用圆角框设计,成为一道亮丽的风景线。
然而,就是这个圆角,却成为了网页前端人员心中永远抹之不去的阴影,对它,可以说是又痛又爱。爱的是它的漂亮,痛的是要让它兼容通行于各种不同的浏览器却成为一个永远的神话。
让我们来回顾一下目前网络流行的都有哪些解决方案。
第一种:无图片纯css 圆角框
收录理由:兼容性强,不用图形
图一
特点:
- 不用任何图形,使用很多个div容器模拟出圆角效果。
- 兼容性:通杀所有浏览器
缺点:
- 构造这个圆角需要加入太多的无语义的标签,结构比较冗余。
- 重用性不强:如果一个页面有多个圆角,并且要实现不同的半径大小,则其灵活性不够。
- 边框颜色虽然可以调节,但会对页面中的结构产生致命的影响,适用于色彩单一并且一个页面中圆角应用不多的页面。
- 不容易实现圆弧内有渐变色的图形背景。
- 圆角框不够圆滑,有锯齿现象,适合于背景色和当前色色差不大并且圆弧较小的网页。
实现原理:
用很多1像素高的div容器,利用背景色和边框色来模拟出圆角框的轮廓线。
实例演示: http://www.cssplay.co.uk/boxes/snazzy.html
第二种:无图片纯css圆角框,用特殊字符(&bull)
收录理由:圆滑,不用图形
图二
特点:
- 不用任何图形,使用特殊字符•(圆点)模拟出圆角。
- 兼容性:通杀所有浏览器
- 圆角平滑
缺点:
- 构造这个圆角一样需要加入无语义的标签,结构冗余,同第一种一样。
- 重用性不强:如果一个页面有多个圆角,并且要实现不同的半径大小,需要调整四个角图片的定位,并且字符大小对其有影响,灵活性不够。
- 颜色虽可调节,但要求里面的背景色和字符的颜色相同,不能做成边框线条。适用于色彩单一并且一个页面中圆角不是太多的页面。
- 一样不容易实现圆弧内有渐变色的图形背景。
实现原理:
用特殊字符(&bull),利用定位,截取四分之一圆模拟出圆角框的一个角图片。
实例演示:http://www.cssplay.co.uk/boxes/curves.html
第三种:图片圆角框
收录理由:兼容性强,可以表现很复杂的圆角效果。
图三
特点:
- 使用四个圆角图形(或一个圆图片)。
- 兼容性:通杀所有浏览器。
- 这是最常用的圆角框做法。
- 因为采用图片来表现,所以其圆角是超级平滑,无任何锯齿现象。
- 表现丰富,适用于各种对图片表现要求较高的圆角框。
缺点:
- 构造这个圆角也需要加入四个标签来装四张角图片,结构也有冗余。
- 重用性不强:如果一个页面有多个圆角,并且要实现不同的半径大小,则要重新制作一套圆角图片。
- 如果对结构的冗余没有特别的需求,这就是超级圆滑圆角框的解决方案了。
实现原理:
利用九宫格原理,在一个容器的四个角加入绝对定位(或相对定位)的四张圆角图片。
实例演示:http://www.cssplay.co.uk/boxes/three_cornered.html
第四种:利用VML绘制圆角(ie only)
收录理由:无图片,平滑,可加阴影边框
图四
特点:
- 不用任何图形。
- 兼容性:只能在IE中使用
- 圆角半径随意调整
- 重用性强:多个圆角任意调用。
- 圆角颜色随意设置。
- 结构无冗余。
- 圆角平滑无锯齿。
缺点:
- 除了兼容性 有问题外,其它方面的表现都不错。
- 不能在圆弧中表现丰富的有渐变的图片,因为圆弧外框是透明的。
实现原理:使用IE专用的VML来画出圆角。
<v:roundrect
id="roundbox"
class="circle"
strokecolor="red"
strokeweight="2px"
arcsize="0.08">
</ v:roundrect >
注意加入引用空间:
<html xmlns:v xmlns="http://www.w3.org/1999/xhtml">
这是兼容的用法,
xmlns:v一不能少,否则。。。
样式表中加入这一句话:
v":*{behavior:url(#default#VML);display:inline-block;}
Arcsize为半径
Strokeweight为边框线宽度
Strokecolor为边框线的颜色
实例演示:(请在IE系列浏览器下查看本实例)
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:v xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>VML画平滑圆角框</title>
<style>
v\:*{behavior:url(#default#VML);display:inline-block;}
body{ background-color:#99FFFF;font-size:12px;}
.circle{
height:130px;
width:300px;
padding-top:8px;
margin:0px auto;
z-index:2;
margin-left:340px;
}
h1{border-bottom:2px red solid;font-size:12px;margin:4px;text-indent:1em;height:20px;}
div{font-size:12px;padding:10px;}
</style>
</head>
<body>
<v:roundrect id="roundbox" class="circle" strokecolor="red" strokeweight="2px" arcsize="0.08">
<h1>VML画平滑圆角</h1>
<div class="t1">
使用IE专用的VML来画平滑圆角框,还可以画出阴影效果。就其图形表现来说,是非常完美的。
</div>
<v:shadow on="t" color="#777" opacity="52428f" offset="1.5pt,1.5pt"/>
</v:roundrect>
</body>
</html>
第五种:利用私有属性绘制圆角(FF3 only)
收录理由:平滑无锯齿
图五
特点:
-
不用任何图形。
-
兼容性:只能在FF3中使用,其它浏览器不受支持。
-
圆角半径随意调整
-
重用性强:多个圆角任意调用,只需要样式表设置就可以。
-
圆角颜色随意设置。
-
结构无冗余。
-
圆角平滑无锯齿。
缺点:
-
除了兼容性 有问题外,其它方面的表现都不错,这种方式应该是最完美的方式,可惜目前只有FF3能支持这个属性,以后CSS3后会支持这个属性,不过这不知道要等到多少年以后。
-
同第五种圆角一样,在处理圆弧内的图片背景时显得有些有心无力。
实现原理:
使用FF3专用的私有属性来画出圆角。
只用两种属性就能体现圆滑的圆角框
-moz-border-radius:10px;/*圆角半径*/
Border:5px red solid;/*边框大小*/
实例演示:(请在FF3浏览器下观看,其它浏览器不支持)
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FF3下的圆角框</title>
<style type="text/css">
body{background:#CCCCCC;}
.round{
-moz-border-radius:20px;/*半径*/
border:4px solid #333;/*边框宽度*/
margin:50px auto;width:30%;height:150px;font-size:12px;
}
h1{border-bottom:4px #333 solid;font-size:12px;width:100%;padding:5px 0;text-indent:1em;}
.context{font-size:12px;padding:10px;}
</style>
</head>
<body>
<div class="round">
<h1>FF3私有属性画的圆角框</h1>
<div class="context">
<p>FF3下的圆角框两个属性就可以解决:</p>
<p>-moz-border-radius:半径</p>
<p>border:边框 </p>
</div>
</div>
</body>
</html>
第六种:无图片脚本圆角框(js半完美解决方案)
这种方案目前应该是比较完美的方案了。
图六
特点:
-
不用任何图形。
-
兼容性:通杀所有浏览器
-
圆角半径随意调整
-
重用性强:多个圆角任意调用。
-
颜色随意设置,并且可以使用复杂的图片做为背景,表现丰富。
-
结构无冗余,只需要在容器上定义一个class或ID就可以将这个div变成圆角。
-
圆角平滑。
缺点:
-
客户端禁用JS时就无圆角,不过在目前情势下,这种情况应该不会成为太大的问题。
实例演示:http://www.curvycorners.net/examples.php (有三个演示例子)
结语:
目前的css 因 为不能为一个容器中定义多张背景图片,造成了为了这种圆角效果而加入冗余标签。听说CSS3会引入这一属性,可能到哪时,就是圆角框统一的时候了。另外也 听说在CSS3中有意向加入像FF3私有属性(-moz-border-radius)的方法,这也可以完美地解决这个问题。但在目前的情势下,可能也只 有用上面的这些方法来过渡了,强烈期待CSS3的到来。
总而言之:要实现绝对的完美圆角框在目前的形势下基本上是不可能的,所以取名为“半完美解决方案”。
发表评论
-
如何解决ps导出jpg或png文件过大的问题
2019-07-08 09:48 2537最近做图,忽觉存储文件过程中MAC奇慢无比,竟然发现存储出来 ... -
在线loading图标生成网站
2014-07-15 11:39 1190分享几个优秀的在线loading图标生成网站,方便实现。htt ... -
备忘录
2014-04-17 16:52 697text-shadow:0 1px 1px rgba(25 ... -
好设计的20条金律
2014-01-27 16:46 538可以打破规则,但不 ... -
转:5个设计师应该去的优质设计分享平台 [复制链接]
2012-08-28 16:16 778http://dribbble.com/ http://dr ... -
转一个关于英文自动断行问题的贴子
2011-04-08 20:18 2171转自:http://maymei.ycool.com/post ... -
22个实用的在线配色网站
2010-11-22 09:21 1471如果感觉对色彩的把握还不是很到位,如果你的设计的时候色彩的感觉 ... -
ie6png透明
2010-11-08 22:19 816var arVersion = navigator.appVe ... -
div层遮盖flash(兼容浏览器)
2010-10-26 22:34 996div层遮盖flash(兼容浏览器) 转自:htt ... -
(转)75个最佳Web设计资源,强烈推荐!
2010-10-03 21:14 858本文地址:http://www.woiweb.net/top- ... -
CSS实现自动等比例缩略图的方法
2010-10-02 15:30 1713完美解决自动缩略图的代码,以实现对原图的等比例收缩。 代码 ... -
针对Google Chrome谷歌浏览器的CSS hack
2010-09-14 13:26 3057所幸Google Chrome用的是与Safari一样的 ... -
解决不同浏览器窗口大小是否显示某DIV问题
2010-09-12 22:57 1008解决不同浏览器窗口大小是否显示某DIV问题: <SCR ... -
图片在DIV中居中
2010-05-07 17:20 1869图片在DIV中永远居中 <div id=&quo ... -
设定网页最小最大宽度和高度(兼容IE6)
2010-03-30 21:38 3021/* 最小寬度 */ .min_width{min-widt ... -
您需要了解的DIVCSS网页布局的8条面试题目
2010-01-26 10:03 839CSSer与其他IT职位一样,在找工作的时候,都会面临着面试官 ... -
转来的总结CSS规范
2010-01-25 15:33 933最近领导让整理个CSS规范做个内部培训,搜了搜资料,觉得这篇文 ... -
网页设计的3D元素运用25例
2010-01-12 22:23 714Yoast ... -
5种在设计中应用光线和阴影的简单技法 [转]
2010-01-12 22:14 683凡是你目光所及——光线和阴影无处不在。你看到的任何东西都反射回 ... -
第一次当站长
2009-04-14 09:07 912在玩开心网成瘾的过程里,我萌发了自己也倒腾一个SNS社区的想法 ...
相关推荐
css_圆角矩形 css_圆角矩形 css_圆角矩形
用CSS实现圆角框框.txt用CSS实现圆角框框.txt用CSS实现圆角框框.txt用CSS实现圆角框框.txt
div css圆角代码各种圆角表格_圆角边框css圆角
div+css实现圆角导航菜单的效果。
商务企业网站CSS模板56_商务 企业 蓝色 导航 圆角_html网站模板_网页源码移动端前端_H5模板_自适应响应式.rar
商务企业网站CSS模板57_商务 企业 蓝色 黑色 圆角_html网站模板_网页源码移动端前端_H5模板_自适应响应式.rar
css 圆角实现例子,无图实现CSS圆角
纯css实现div圆角,代码简单易懂,没有js那么麻烦,缺点是效果有点小缺憾
老外用css实现圆角边框,纯css,简单易懂,看了就明白
DIV+CSS实现圆角DIV+CSS实现圆角DIV+CSS实现圆角
用div+css实现边框圆角,其实实现div圆角,有三种方法,也可以用圆角片来实现,还有一种技术,现在浏览器还不是很支持。
采用纯css实现圆角矩形的方法。付源码及代码讲解。
为HTML网页做圆角。汇集css 无图片圆角,CSS圆角区块容器,div + CSS 圆角矩,WEB2.0 圆形边框 div 使用 css 做法。
css圆角css圆角css圆角css圆角css圆角css圆角css圆角css圆角css圆角css圆角
css实现圆角效果,写的很详细 很不错
使用css就可以方便实现圆角制作效果,易用易学
DIV+CSS实现圆角,无需图片,兼容性好。
用CSS实现的矩形圆角,虽然CSS能实现圆角矩形,但是还是建议大家用图片
用js实现css3效果的圆角方法,代码简洁方便,效果很不错,跟大家分享一下!!
有的资料介绍了css3实现圆角,但ie就是不支持,现在,不用任何图片,用纯css打造圆角,兼容任何浏览器。