css实现简单圆角效果
作者:天驱 来源:Alipay UED 发布时间:2008-11-27 13:11:00
标签:圆角,自适应,css
目前,我们要在网页中使用圆角效果,总是通过切图然后嵌套很多div,用背景来实现圆角效果。对于前端开发工程师来说,圆角的确是一个让人又爱又恨的东西,一方面顾及设计师追求的美观效果,另一方面又不得不增添很多工作投入。无意中看到别人写的一个用纯粹css来实现的圆角效果,研究了一下发现对于那些需求比较简单的圆角效果还是一种很好的方法。总结了一下,可以实现自适应的纯css圆角效果。
首先,我们看一下一般圆角的结构:
从下图可以明显看出圆角和直边的关系,其实把圆角放大之后可以看到圆角是由像素化的直边组成的:
于是就有了css实现圆角的思路,就是通过用1px 的水平线条来堆叠出圆角,其中border和background的颜色填充来实现圆角边框,同时设置不同的左右margin数值(以1px为基数)来实现错位,从而整体上实现了简单的圆角效果。
下面介绍一下代码:
html部分(思路是“头部+内容+底部”):
<div>
<b class="round">
<b class="round1"></b>
<b class="round2"></b>
<b class="round3"></b>
<b class="round4"></b>
<b class="round5"></b>
</b>
<div class="roundContent">
<!-- 显示内容区域 -->
我是内容 <br />
我是内容 <br />
我是内容 <br />
我是内容 <br />
</div>
<b class="round">
<b class="round5"></b>
<b class="round4"></b>
<b class="round3"></b>
<b class="round2"></b>
<b class="round1"></b>
</b>
</div>
通过<B>标签来模组建dom结构,上中下三部分拼合形成一个圆角整体。
css样式部分(主要是border颜色和margin数值):
<style type="text/css">
.round{display:block}
.round *{
display:block;
height:1px;
overflow:hidden;
font-size:.01em;
background:#e7ff94;
}
.round1{
margin:0 4px;
border:1px solid #ff2000;
background:#ff2000;/*头尾边框色*/
}
.round2{
margin:0 3px;
border:1px solid #ff2000;
}
.round3{
margin:0 2px;
border:1px solid #ff2000;}
.round4{
margin:0 1px;
border:1px solid #ff2000;}
.round5{
margin:0 1px;
border:1px solid #ff2000;
}
.round1,.round2,.round3,.round4,.round5{
border-top:none;
border-bottom:none;
}
.roundContent{
border-left:1px solid #ff2000;
border-right:1px solid #ff2000;/*左右边框色*/
background:#e7ff94;
padding:10px;
}
</style>
很容易看出这不是真正的圆角,没有很好的过渡效果,只是一定程度上模拟了圆角的实现原理。对于那些要求效果比较高的圆角和设计比较复杂的圆角来说不是很适用。
具体的效果如下:
demo文件在这里:点击查看


猜你喜欢
- 问题:python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码---可能情况:1.mysql数据库各项没有设置编码,默认为&
- 一:背景以及项目结构介绍第一次将自己做的python爬虫项目打包成exe,搜了很多网上教程,大部分都是打包一个py文件的小demo,这里先给
- 我就废话不多说了,大家还是直接看代码吧!def iou(y_true, y_pred, label: int): "&
- 前言XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻XML文档的
- 为满足用户的视觉追求及产品的背景图片的换肤功能,设计师难免在设计上会用到半透明的效果。因此页面重构师基于视觉及产品的需要,采用了PNG32的
- 用python实现文件夹下的成批文件格式转换我们对于文件转换的需求很大,甚至于对于图片的格式,JPG和PNG格式在肉眼看来都没什么差别,但是
- 最近笔者学会了用FrontPage XP做网页,心理特高兴,非常想把我在制作主页过程中的一些经验和大家交流交流、切磋切磋,我们一起来看看吧。
- 我就废话不多说了,大家还是直接看代码吧!def pro_mgr(): """ 获取当前
- 1、 引言小 * 丝:鱼哥,新年快乐!小鱼:无事不登三宝殿,有啥事,你直说吧…小 * 丝:别说的这么直接,这大过年的&
- 如下所示:#coding=utf-8#布局自定义尺寸from tkinter import *class App:def __init__(
- 请先看看以下演示中的图案文字。这可不是图片效果,而是用CSS滤镜中的Chroma() 语句做成的文本文
- 1、生成数据集(双月数据集)class moon_data_class(object): def __init__
- 前言在mysql中slow query log是一个非常重要的功能,我们可以开启mysql的slow query log功能,这样就可以分析
- 本文以抢购、秒杀为例。介绍如何在高并发状况下确保数据正确。 在高并发请求下容易参数两个问题 1.数据出错,导致产品超卖。 2.频繁操作数据库
- 项目我采用了三层结构,我把LINQ的映射文件放到了DAL这个层中,映射文件自动由VS2008生成,在原来的机器上一直正常,一点问题都没有,当
- function BrowseFolder(){ try{ var Message = "请选择文件夹"; //选择框提
- ajax缓存和编码问题不难解决,下面是解决方法。编码问题默认使用UTF-8,如果一旦发现对象找不到的情况,可能js中输入了中文,同时js的编
- 疑问在调用socket的时候,我们会使用到listen()函数,里面有个参数叫backlog, 例如:socket.listen(5). 那
- make介绍借助Makefile我们在编译过程中不再需要每次手动输入编译的命令和编译的参数,可以极大简化项目编译过程。make是一个构建自动
- 概述从今天开始我们将开启一段自然语言处理 (NLP) 的旅程. 自然语言处理可以让来处理, 理解, 以及运用人类的语言, 实现机器语言和人类