第二章、透明圆角化背景图片
在上面的案例中,我只给出最为原始的圆角框模型,它还是存在一些不足之处。比如不能将图片应用到圆角框内。而在本例中,我会在上面的基础上作出一些创新。就是将背景图片也圆角化,好像目前在网络上还没有这样的功能应用,我只见过用js方式来实现的,可以参看我的《超圆滑圆角框的半完美解决方案》一文中后面几种JS方案。但是纯CSS方式的实现可是我独家所创,如有雷同,只能说英雄所见略同。呵呵!
还是先看看最终的效果图,让大家有一个大概的印象。
像这种小面积布局在网页设计中应用得很普遍,但目前网络流行的作法都是采用图片的方式来实现的,将图片按上中下切成三块内容,然后使用三个同级的DIV或SPAN容器各自填充一张图,但是这种方法有一个最大的毛病:不能自动适应宽度的变化,一般做法都是采用固定宽度的方式,这是由于图片的宽度决定的。
当然对于一些比较有经验的人员来说,可以采用九宫格布局(可参看我的另一篇文章《九宫格基本布局》)方式或者滑动门方式来做到自适应宽度的变化,九宫格一般都需要用到八张图片,而滑动门虽然只用一张图片,但为了适应宽度的变化,这张图片一般都做得很大。
而我现在独创的这种方法可以完全做到适应不同的宽度需要,并且全部兼容所有的浏览器,而所需要的仅仅是一张很小的水平平辅的背景图片而已。
废话少说,言归正传。
基本原理:
我们都知道图片是方方正正的,不可能做出圆角效果,那么我们如何来做外圆透明的图片呢?其实道理说明了也就是一件很简单的事情,你看过下面的放大示意图后可能就会“哦”地一声,原来不过如此……
是的,看到这个效果图你会一目了然,可是要想到这个方法,我却浪费了不少脑细胞。呵呵!
实现这种方法原理很简单:在每个b标签中各加载一次同样的图片,并结合背景定位background-position方式来达到效果。我们知道,同一张图片加载多少次对于性能的影响并不大,因为这张图片已经被电脑缓存到本地,和用css sprites合并图片一样的道理。
但是需要注意的是:每个b标签加载图片的定位是不一样的。
背景图片定位原理:
b1标签位于第一位,它主要用来描绘上边框线,所以它不需要加载背景图片。
b2标签位于第二位,它是第一个需要加载背景图片的,但是不需要图片负偏移,所以直接居左居顶定位就可以了。
.b2{background-position:left top;}
b3标签位于第三位,它需要加载背景图片,让它的背景图片向上负偏移b2的高度值就可以,也就是1px。
.b3{background-position:left -1px;}
b4位于第四位,所以它向上负偏移b2+b3高度值的和,为2px。
.b4{background-position:left -2px;}
H3标签位于第五位,所以它的背景图片需要向上负偏移b2+b3+b4高度值的各,也就是4px;
h3{background-position:left -4px;}
这样,b2、b3、b4、h3的图片叠加起来和原始图片上下渐变的效果完全重合,如同一张图片,这样就达到模拟圆角图片的效果。
怎么样,原理够简单明了吧!
原理清楚后,要实现起来也就是一件水到渠成的事!
HTML结构层:
如同我们在第一章中模型所见,保持结构不变。
CSS样式层:(只写关键代码)
将上面的几句代码进行合并,如下所示:
.sharp b.b2{background-position:left top;}
.sharp b.b3{background-position:left -1px;}
.sharp b.b4{background-position:left -2px;}
.sharp .content h3{background-position:left -4px;}
和第一章中同样的道理,我们肯定要在各个不同的块框中有不同的背景图片的变化,也就是说,我们也要实现不同的换肤方案,当一个页面要多次调用同一个圆角框时,也可以让它们有些丰富的变化。实现不同的风格。OK,没问题,你只需要简单的将下面的样式中的背景图片的路径改变一下就可以了。
.color1 .b2,.color1 .b3,.color1 .b4,.color1 h3{background:url(images/bg1.gif) repeat-x;}
你可以实现不同的颜色方案,就看你的设计师给你多少张不同图片了。
一种风格的定制也是一件简单的事情:
*颜色方案一,绿色风格----------------------------------------*/
/*边框色*/
.color1 .b2,.color1 .b3,.color1 .b4,.color1 .b5,.color1 .b6,.color1 .b7,.color1 .content{border-color:#A0C044;}
.color1 .b1,.color1 .b8{background:#A0C044;}
.color1 h3{border-bottom:1px #679800 solid;}
/*图片路径*/
.color1 .b2,.color1 .b3,.color1 .b4,.color1 h3{background:url(images/bg1.gif) repeat-x;}
/*文字内容背景色*/
.color1 .b5,.color1 .b6,.color1 .b7{background:#FFF;}
你只需要复制上面的代码,简单修改一下边框色,背景色,图片路径就变成你想要的风格了,是不是很简单呢?然后在你想应用样式的容器上定义这个color1类名即可。
在我的演示模型中,我定义了9种风格的变化,看看有没有适合你需要,直接复制就可以使用了,祝您用得开心!
为了演示效果,本模型的宽度值全部采用百分比实现的,你可以随意伸缩宽度,看看它能否适应弹性的变化。
【本文转载】转载连接:http://www.cnblogs.com/binyong/archive/2009/12/01/1614195.html
技术需要交流,分享,沟通 感谢无私的人。。让我站在巨人肩膀上
分享到:
相关推荐
在Android开发中,有时我们需要为应用的界面增添一些个性化的元素,比如圆角图片背景。在本教程中,我们将深入探讨如何自定义一个`RelativeLayout`,使其具备圆角图片背景的功能。这涉及到自定义属性、设置圆角以及...
标题中的"TP5TP6图片处理为透明圆角图片.rar"指的是使用ThinkPHP5和ThinkPHP6框架进行图片处理,生成具有透明圆角效果的图片。这个压缩包可能包含了一个或多个示例代码、类库或者自定义扩展,用于帮助开发者实现这个...
在Java编程中,处理图像是一项常见的任务,包括调整图片大小、改变颜色效果以及添加特殊样式,如圆角和透明效果。本篇文章将深入探讨如何在Java中实现这些功能,特别是针对PNG格式的图片,因为PNG格式支持透明度,但...
在IT行业中,透明圆角化是一种常见的UI设计需求,它可以使界面看起来更加现代和美观。在许多编程语言和框架中,都有实现这一效果的方法。这篇博客"透明圆角化使用模板(半原创)"可能探讨了如何在特定环境中创建具有...
在Android开发中,创建具有抗锯齿效果的透明背景圆角图像是一项常见的需求,这通常涉及到自定义View或者使用特定的图像处理库。本篇将深入探讨如何实现这一功能。 首先,我们需要理解抗锯齿(Anti-Aliasing)技术。...
在Android开发中,为图片或背景添加圆角效果是一种常见的需求,这可以提升应用的界面美观性和用户体验。本文将深入探讨如何实现图片和背景的半圆角及全圆角效果,并提供源码分析。 首先,要理解Android中实现圆角...
本压缩包文件“安卓头像制作图片圆角剪裁相关-Android创建抗锯齿透明背景圆角图像.zip”包含了一些资源和源码,可以帮助开发者实现这一功能。下面我们将详细探讨如何在Android中创建这样的图像。 首先,我们可以从...
这篇博客“【转载】CSS圆角化图片(三)”可能深入探讨了如何利用CSS3的新特性来创建具有圆角的图片。虽然没有提供具体的描述,但从标题来看,我们可以推测它可能是系列教程的第三部分,可能涵盖了更高级或进阶的...
"CSS应用---透明圆角"这一主题聚焦于如何利用CSS实现元素的圆角以及透明效果。在现代Web开发中,这种效果广泛应用在按钮、卡片、图片框等各种界面元素上,为用户界面提供更加美观和友好的视觉体验。 首先,我们需要...
java正方形图片转换圆角图片_去除黑边 圆角外透明,实测可以运行,需要改变一下目录路径即可
在Android开发中,图片圆角化是一个常见的需求,主要用于提高应用界面的美观度和用户体验。在本主题中,我们将深入探讨如何实现Android图片的圆角化处理,主要涉及`ImageView`的自定义以及相关的编程技术。 首先,...
在Android开发中,创建具有抗锯齿效果、透明背景以及圆角的图像是一项常见的需求,尤其是在设计用户界面时。这通常涉及到自定义视图、图形绘制以及位图操作。以下是一些关键知识点: 1. **抗锯齿技术**:抗锯齿是...
CSS圆角效果是CSS3中的一项重要特性,它允许我们无需借助背景图片就能实现元素边角的圆润化处理,从而为网页界面带来更加美观和现代感的视觉体验。本篇文章将深入探讨如何利用CSS来创建无背景图片的圆角效果。 首先...
本篇文章将重点讲解如何在易语言中实现“圆角化窗口”的技术细节,以及涉及到的相关API函数。 圆角化窗口是一种视觉效果,它通过改变窗口的边角形状,使得窗口看起来更加美观,符合现代UI设计的趋势。在易语言中,...
在Android应用开发中,创建具有抗锯齿效果和透明背景的圆角图像是一项常见的需求,尤其是在设计用户界面时。此项目源码提供了一个实例,帮助开发者理解和实现这一功能。下面我们将详细探讨相关知识点。 首先,我们...
运用css技术就能显示出圆角的效果,避免用图片在ie6中显示边边角角的问题,与图片透明不足的效果交替。
通常,这个文件会包含一个函数,接受图片路径、圆角半径等参数,然后返回处理后的圆角图片资源或保存为新的图片文件。 3. **Imagick扩展** GD库虽然功能强大,但在某些情况下可能无法满足复杂的图像处理需求。此时...
在此过程中,可以通过设置不同的颜色或者图片来达到背景的多样化效果,以区分不同的列表项。 此外,为了优化性能,避免因频繁创建新视图导致的性能问题,可以使用convertView复用机制。在`getView()`中检查传入的...
在本模块中,Gdip的纹理画刷特性被用来绘制具有自定义圆角的图片框,这意味着开发者可以根据需求设置不同的圆角半径,创造出多样化的界面元素。 圆角图片框在现代UI设计中十分常见,它们能提供更柔和、更友好的视觉...