css纯代码实现圆边框和圆按钮
一、CSS3圆角的优点
传统的圆角生成方案,必须使用多张图片作为背景图案。CSS3的出现,使得我们再也不必浪费时间去制作这些图片了,而且还有其他多个优点:
* 减少维护的工作量。图片文件的生成、更新、编写网页代码,这些工作都不再需要了。
* 提高网页性能。由于不必再发出多余的HTTP请求,网页的载入速度将变快。
* 增加视觉可靠性。某些情况下(网络拥堵、服务器出错、网速过慢等等),背景图片会下载失败,导致视觉效果不佳。CSS3就不会发生这种情况。
二、border-radius属性
CSS3圆角只需设置一个属性:border-radius(含义是"边框半径")。你为这个属性提供一个值,就能同时设置四个圆角的半径。所有合法的CSS度量值都可以使用:em、ex、pt、px、百分比等等。
比如,下面是一个div方框:
现在设置它的圆角半径为15px:
border-radius: 15px;
这条语句同时将每个圆角的"水平半径"(horizontal radius)和"垂直半径"(vertical radius)都设置为15px。
border-radius可以同时设置1到4个值。如果设置1个值,表示4个圆角都使用这个值。如果设置两个值,表示左上角和右下角使用第一个值,右上角和左下角使用第二个值。如果设置三个值,表示左上角使用第一个值,右上角和左下角使用第二个值,右下角使用第三个值。如果设置四个值,则依次对应左上角、右上角、右下角、左下角(顺时针顺序)。
border-radius: 15px 5px;
border-radius: 15px 5px 25px;
border-radius: 15px 5px 25px 0px;
(左下角的半径为0,就变成直角了。)
border-radius还可以用斜杠设置第二组值。这时,第一组值表示水平半径,第二组值表示垂直半径。第二组值也可以同时设置1到4个值,应用规则与第一组值相同。
border-radius: 15px 5px / 3px;
border-radius: 15px 5px 25px / 3px 5px;
border-radius: 15px 5px 25px 5px / 3px 5px 10px 15px;
三、单个圆角的设置
除了同时设置四个圆角以外,还可以单独对每个角进行设置。对应四个角,CSS3提供四个单独的属性:
* border-top-left-radius
* border-top-right-radius
* border-bottom-right-radius
* border-bottom-left-radius
这四个属性都可以同时设置1到2个值。如果设置1个值,表示水平半径与垂直半径相等。如果设置2个值,第一个值表示水平半径,第二个值表示垂直半径。
border-top-left-radius: 15px;
border-top-left-radius: 15px 5px;
四、浏览器支持
IE 9、Opera 10.5、Safari 5、Chrome 4和Firefox 4,都支持上述的border-radius属性。早期版本的Safari和Chrome,支持-webkit-border-radius属性,早期版本的Firefox支持-moz-border-radius属性。
目前来看,为了保证兼容性,只需同时设置-moz-border-radius和border-radius即可。
-moz-border-radius: 15px;
border-radius: 15px;
(注意:border-radius必须放在最后声明,否则可能会失效。)
另外,早期版本Firefox的单个圆角的语句,与标准语法略有不同。
* -moz-border-radius-topleft(标准语法:border-top-left-radius)
* -moz-border-radius-topright(标准语法:border-top-right-radius)
* -moz-border-radius-bottomleft(标准语法:border-bottom-left-radius)
* -moz-border-radius-bottomright(标准语法:border-bottom-right-radius)
五、注意事项
虽然各大浏览器都支持border-radius,但是在某些细节上,实现都不一样。当四个角的颜色、宽度、风格(实线框、虚线框等)、单位都相同时,所有浏览器的渲染结果基本一致;一旦四个角的设置不相同,就会出现很大的差异。比如,下面这段代码在不同的浏览器中,渲染结果就相差很大。
border-color: black;
border-style: solid dashed;
border-width: 1px 2px 3px;
border-top-color: red;
border-radius: 5%;
另外,并非所有浏览器,都支持将圆角半径设为一个百分比值。
这是一个好看的按钮
<style type="text/css">
.css_btn_class {
font-size:14px;
font-family:Arial;
font-weight:normal;
-moz-border-radius:42px;
-webkit-border-radius:42px;
border-radius:42px;
border:1px solid #dcdcdc;
padding:9px 18px;
text-decoration:none;
background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #ededed), color-stop(100%, #dfdfdf) );
background:-moz-linear-gradient( center top, #ededed 5%, #dfdfdf 100% );
background:-ms-linear-gradient( top, #ededed 5%, #dfdfdf 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf');
background-color:#ededed;
color:#777777;
display:inline-block;
text-shadow:1px 1px 0px #ffffff;
-webkit-box-shadow:inset 1px 1px 0px 0px #ffffff;
-moz-box-shadow:inset 1px 1px 0px 0px #ffffff;
box-shadow:inset 1px 1px 0px 0px #ffffff;
}.css_btn_class:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #dfdfdf), color-stop(100%, #ededed) );
background:-moz-linear-gradient( center top, #dfdfdf 5%, #ededed 100% );
background:-ms-linear-gradient( top, #dfdfdf 5%, #ededed 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed');
background-color:#dfdfdf;
}.css_btn_class:active {
position:relative;
top:1px;
}
/* This css button was generated by css-button-generator.com */
</style>
先试看这是一个好看的按钮!
用css写一个好看的圆形框!
<!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>无标题文档</title>
<style type="text/css">
#round {
padding:10px; width:300px; height:50px;
border: 5px solid #dedede;
-moz-border-radius: 15px; /* Gecko browsers */
-webkit-border-radius: 15px; /* Webkit browsers */
border-radius:15px; /* W3C syntax */
</style>
</head>
<body>
<div id="round"></div>
</body>
</html>
国外有个好的按钮网站,有源代码,写好了多种的按钮和圆形框。
http://css-button-generator.com/
css纯代码实现圆边框和圆按钮相关推荐
- java旋转太极图_如何用CSS纯代码画一个旋转的太极图(附代码)
这是一个中国人都非常熟悉的图案--太极图,它分为阴阳两级,会旋转(用到css3 animation动画属性),此图通过css3纯代码实现,它由 若干个小圆组合而成,适合初学css3的人练练手,娱以 致 ...
- 太极图php代码,如何用CSS纯代码画一个旋转的太极图(附代码)
这是一个中国人都非常熟悉的图案--太极图,它分为阴阳两级,会旋转(用到css3 animation动画属性),此图通过css3纯代码实现,它由 若干个小圆组合而成,适合初学css3的人练练手,娱以 致 ...
- 360度旋转怎么写css,纯css3实现的360度翻转按钮
今天要给大家分享的是由css3实现的翻转360动画按钮.之前已为大家分享了好几款css3按钮,大家可以点击链接进去找一找适合自己的.哈哈.下面先为大家上效果图: 不错吧,下面是实现的代码. html代 ...
- CSS绘制形状(三角形、四分之一圆、半圆、圆、梯形、球体、菱形)
CSS绘制形状(三角形.四分之一圆.半圆.圆.梯形.球体.菱形) 三角形 div {width: 0;height: 0;border: 200px solid transparent;border- ...
- html背景边框特效代码,纯JS实现动态边框特效
HtmlCssJs ^-^正常的边框 ^-^更慢的边框 ^-^更快的边框 ^-^图片边框 ^-^更细的边框 附赠的圆形 body { flex-wrap:wrap; flex:1 } .flex { ...
- CSS 实现自适应宽高的正圆
CSS 实现自适应宽高的正圆 利用CSS伪元素增加父元素的高度,使其变成一个正方形 代码 <span class="circle-container"><span ...
- 纯css实现带斜角的边框样式
纯css实现带斜角的边框样式,是边框哦 展示效果 斜角优化前(百度上找到的方法) 斜角优化后(想了个花里胡哨的办法) 直接贴代码 说明下原理 展示效果 斜角优化前(百度上找到的方法) 斜角优化后(想了 ...
- 纯CSS实现漂亮圆角阴影边框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 谷歌浏览器显示oracle,css让table不显示边框的代码在火狐和谷歌浏览器中无效
css让table不显示边框的代码在火狐和谷歌浏览器中无效 发布时间:2013-06-26 17:12:32 作者:佚名 我要评论 在css中已经写好了使table不显示边框的代码,在ie浏览 ...
最新文章
- Flutter专题1-环境搭建
- 祖传人像玩家,如何把AI秀出新高度
- python使用界面-用python制作用户图形界面
- 为什么不推荐使用存储过程
- vlan绑定_图文并茂深入了解VLAN工作原理,不能错过干货
- python读取us7ascii字符集Oracle数据库中文乱码问题的解决方案
- webpack教程——css的加载
- logstash向elasticsearch写入数据,如何指定多个数据template
- clickhouse时间日期函数
- python爬虫实验报告册_Python数据分析过程(新手项目记录——爬虫阶段),一条龙,菜鸟,上...
- www是什么,http是什么,到底什么区别?
- 游戏运行报错Exception EAccessViolation in module
- JAVA自行车类代码_租借自行车RentBikeController
- 首届百度Apollo生态大会为什么选择长沙?
- Unity发布VR项目到Android
- Git 命令使用体验的神器 -- tig
- 蓝牙技术|防丢背包获奖,Find My产品受追捧
- 第四周小组作业:WordCount优化
- 【AI达人创造营第二期】基于PaddleClas的新冠肺炎CT影像的分类
- web端对接语音通话(腾讯云)