设为首页
优惠IDC
收藏本站
六狼博客
六狼论坛
开启辅助访问
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
只需一步,快速开始
快捷导航
门户
首页
BBS
云计算
大数据
手机
移动开发android,ios,windows phone,windows mobile
编程
编程技术java,php,python,delphi,ruby,c,c++
前端
WEB前端htmlcss,javascript,jquery,html5
数据库
数据库开发Access,mysql,oracle,sql server,MongoDB
系统
操作系统windows,linux,unix,os,RedHat,tomcat
架构
项目管理
软件设计,架构设计,面向对象,设计模式,项目管理
企业
服务
运维实战
神马
搜索
搜索
热搜:
php
java
python
ruby
hadoop
sphinx
solr
ios
android
windows
centos
本版
帖子
用户
六狼论坛
»
首页
›
WEB前端
›
Html/Css
›
如何用css实现圆角_CSS实现圆角解决方案(转) ...
返回列表
查看:
152
|
回复:
0
如何用css实现圆角_CSS实现圆角解决方案(转)
[复制链接]
wintershan
wintershan
当前离线
积分
233
窥视卡
雷达卡
升级
11%
当前用户组为
举人
当前积分为
233
, 升到下一级还需要 267 点。
73
主题
73
主题
73
主题
举人
举人, 积分 233, 距离下一级还需 267 积分
举人, 积分 233, 距离下一级还需 267 积分
积分
233
发消息
楼主
|
发表于 2013-2-7 23:31:25
|
显示全部楼层
|
阅读模式
导言:
本文探讨的是圆角框的终极解决方案,其核心关键词是“圆滑、完美、兼容、重用性、语义”,这些技术都是收集目前网络上最流行的做法。纵观种种方法,各有其优势,请针对不同的环境分别使用。
圆角框,因为其样式比直角框漂亮,所以成为设计师心中偏爱的设计元素。现在的
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)
收录理由:平滑无锯齿
图五
特点:
<ol>不用任何图形。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2008-2020
六狼论坛
(http://it.6wolf.com) 版权所有 All Rights Reserved.
Powered by
Discuz!
X3.4
京ICP备14020293号-2
本网站内容均收集于互联网,如有问题请联系
QQ:389897944
予以删除
快速回复
返回顶部
返回列表