所谓的CSS高级技巧...其实是一些对基本技巧的创意组合, 任何手段和技巧都是解决问题的方法. 只要学会这种思考问题的方法, 你也能拥有属于自己的CSS秘籍.

CSS2 还没有办法创造出曲线边框, 明显的, 仅仅方框是没办法满足我们设计师的. 所以CSS圆角技术到现在还是那么的火.

1. 固定宽度的纯色圆角矩形

在众多圆角技术中, 固定宽度的圆角矩形应该是最容易实现的, 只需要2个图片以及一段简单的html代码.

html代码如下:

标题

内容

图片大致如下:

top.gif bottom.gif

CSS代码大致如下:

.wrapper{width:181px;background:#8cc355 url(../images/bottom.gif) no-repeat left bottom;}

.wrapper h1{padding:10px 20px 0 20px;background:url(../images/top.gif) no-repeat left top;}

.wrapper p{padding:0 20px 10px 20px;}

Tips:

wrapper中的宽度(width)是图片的真实宽度, 背景中的背景色是与纯色图片相同的颜色.

h1和p中相应设置了内补丁,为了内容不重叠或碰到外框.

图片需要有背景色, 即除了圆角矩形纯色部分的颜色以外的区域需要有和当前容器( div class="wrapper" )所在的父级容器相同的背景色.

这种方法适用于宽度固定, 高度自适应的纯色圆角矩形.

2. 固定宽度的非纯色圆角矩形

这个方法是上一个方法的延伸, 这次我们不在容器上定义背景色, 而是定义重复的背景图片.

html代码如下:

标题

内容

图片大致如下:

top.gif bottom.gif tile.gif

CSS代码大致如下:

.wrapper{width:183px;background:url(../images/tile.gif) repeat-y center;}

.wrapper h1{padding:20px 20px 0 20px;background:url(../images/top.gif) no-repeat left top;}

.wrapper p{padding:0 20px 20px 20px;background:url(../images/bottom.gif) no-repeat left bottom;}

Tips:

特性与第一个方法类似;

不能适用于非垂直改变的背景图像.

PS. 固定高度的圆角矩形也可以类似的完成,不赘述了

3. 滑动门技术(Sliding Doors)

前面的两种圆角矩形都是固定宽度的,只能在垂直方向上自适应增长(或水平方向上), 如果需要同时在垂直方向与水平方向上自适应增长尺寸的话, 很显然前两种方法不适用. 这时我们就可以采用所谓的滑动门技术.

原理:

Top-Left.gif 与 Bottom-Left.gif 都是大图像, Top-Right.gif 和 Bottom-Right.gif 都是小图像, 小图像在大图像上根据尺寸进行自动滑动以适应内容.

该方法用到2组4个图片: 1组Top图片构成顶部圆角, 1组Bottom图片构成底部圆角以及主体. 注意容器的最大高度和宽度不能超过图片的最大高度和宽度.

图片的结构位置:

html代码大致如下:

标题

内容

CSS代码大致如下:

.wrapper{width:20em;background:#ccc url(../images/bottom-left.gif) no-repeat left bottom;}

.box-outer{background:url(../images/bottom-right.gif) no-repeat right bottom;}

.box-inner{background:url(../images/top-left.gif) no-repeat left top;}

.wrapper h1{padding:2%;background:url(../images/top-right.gif) no-repeat right top;}

.wrapper p{padding:2%;}

Tips:

该方法很好的解决了容器扩展的问题, 但是要注意容器的最大尺寸不要超过背景图片所能构成的最大尺寸;

该方法需要2组额外的没有任何语义的标签, 在结构上并不理想, 我们可以用JavaScript和DOM动态添加额外元素来避免这个问题, JavaScript不作讨论.

滑动门适用范围很广, 以至于随处可见.

4. 山顶角(MountainTop)

Web大师Dan Cederholm的发明, 和他在Web Standard Solutions中的变色龙小图标有异曲同工之妙.

如果用 3.滑动门 的技术创建多种颜色的圆角矩形, 那是不是要建立多组不同颜色的图片呢? 那是不是会很麻烦呀? 幸运的是Dan为我们带来了山顶角. 他建立的不是多种颜色的图片组, 而是一组圆角的蒙板. 用蒙板盖住背景色, 生成圆角矩形, 这种逆向思维令人敬佩.

圆角蒙板

基本的HTML代码和CSS代码与上例相同, 也需要4个不同的圆角蒙板. 代码不做重复.

Tips:

可以使用.png来创建圆滑的透明蒙板, 但介于IE6和以下版本不支持png-24的透明效果, 需要用到Hacks, 所以不太推荐. 所以对于gif图片的蒙板, 对于小弧度的圆角矩形效果较好, 大弧度的圆角矩形可能会出现锯齿. 同样的需要添加额外的非语义标签, 语义化狂热者们可以用JavaScript来完成这个工作.

5. CSS Sprites 圆角

CSS Sprites并不是专门制作圆角矩形的, 但是它提供了一种制作圆角矩形的方案.

结构构成图

实际用到的圆角小图

只单单用background的position来指定圆角图片背景定位, 但是会多出很多额外标签, 这里不做推荐.

下一篇CSS教程文章:CSS高级技巧:CSS Sprites.

html中正方形圆角框,CSS高级技巧:圆角矩形相关推荐

  1. 7种CSS圆角框解决方案

    7种CSS圆角框解决方案时间: 2009-03-11 / 分类: 前端开发 / 浏览次数: 14,913 次 / 7个评论 发表评论 本文探讨的是前端设计种最常用的页面圆角框效果的7种不同方法实现解决 ...

  2. android--圆角框--dialog(圆角框)

    android圆角框–透明背景圆角框 <?xml version="1.0" encoding="utf-8"?> <shape xmlns: ...

  3. [JS,CSS] - CSS圆角框组件

    来源:http://www.cnblogs.com/binyong/archive/2009/12/11/1621484.html 下载地址:http://files.cnblogs.com/biny ...

  4. 纯CSS实现圆角矩形框

    为什么80%的码农都做不了架构师?>>>    实现原理: 纯CSS方式实现圆角框的原理在网络上已经有很多人详细解说了,下面这个示意图是我将其中的一个圆角进行放大后的效果. 图一 从 ...

  5. 用CSS制作圆角框的方法一,二

    CSS产生之初,只能制作直角边框,虽然可以制作圆角的CSS3已经问世,但还不普及.曲线设计在网页中的广泛应用,使圆角成为了时髦的CSS技术之一.创建圆角的方法有很多种,每种要根据实际情况应用.下面我 ...

  6. php制作公司五章,圆形印章和椭圆形印章,正方形印章,圆角正方形印章,圆角框

    都是写死的,代码重复太多.没有搜到椭圆的文字均匀分布的,数学也不好,有哪位大神能算一下.圆角框就是重叠套起来的,度娘没找到php直接画圆角框的,太麻烦了,不过还好做出来了,有更方便的求推荐. func ...

  7. php input框圆角样式,CSS如何实现边框圆角

    CSS实现边框圆角需要用到CSS中的border-radius属性,下面我们就来看看CSS实现圆角边框的详细内容. 我们下来看一个没有圆角的边框实现代码 这是一个框架 效果如下: 接下来我们就来具体看 ...

  8. html 文本框css设置边框圆角

    html 文本框css设置边框圆角如下图: css代码如下:input{border:1px solid black;width:295px;height:40px;border-radius:25p ...

  9. html中table四角圆弧,利用作图软件(FireWorks)或CSS制作圆角表格(表格四角为圆润)。...

    利用作图软件(FireWorks)或CSS制作圆角表格(表格四角为圆润). 更多相关问题 物理爆炸包括液化石油气罐因承受不了罐里面的压力而发生的爆炸.() 富含氧和氢元素的化合物是可燃物.() 润滑油 ...

最新文章

  1. ip_vs实现分析(7)
  2. java处理XSS过滤的方法
  3. 浅谈 UNIX、Linux、ios、android 他们之间的关系
  4. php界面设置编码格式,php设置编码格式的方法
  5. 1、vue 笔记之 组件
  6. IOS精品源码,仿探探UIButton封装iOS提示弹框迅速引导页自定义导航栏
  7. (转)shiro权限框架详解03-shiro介绍
  8. 升级到android studio 4.1后检测不到flutter、Dart插件
  9. 微波遥感SNAP(四)——检测地表沉降(2)相位解缠与地理编码
  10. 十八、Oracle学习笔记:PLSQL操作(含游标的操作)
  11. 某高校校园网的规划与设计(课程设计)
  12. 【DIY小记】Win10编程字体主题设置全攻略
  13. 中国知网论文free下载的方法
  14. win7计算机怎么初始化,win7怎么初始化电脑 win7初始化电脑步骤
  15. 苹果电脑mysql安装流程_mac系统下安装mysql步骤
  16. 在配置kile5 的时候出现core.o的错误如何解决
  17. Python 动态加载并下载梨视频短视频
  18. 大数据给物流带来了什么?
  19. 小学生长度、面积、时间、质量单位换算总结
  20. 恒大健康5亿收购电动汽车驱动系统研发商e-Traction

热门文章

  1. 人工智能技术对专利制度的挑战与应对
  2. 图文翻译-免费图文翻译-批量图文翻译软件
  3. android 高仿网易新闻,Android高仿网易新闻客户端
  4. 激光雷达+imu_论IMU / GNSS在方程式赛车上的关键作用
  5. 用MATLAB画多边形并写入DXF文件
  6. C++语言的一些高级特性
  7. 保险业务与系统——LOMA 290 保险公司运营——第九讲——渠道管理
  8. 12.12 极值问题
  9. 李宏毅教授Imitation Learning课程笔记总结
  10. 灵动微MM32 eMiniBoard介绍