当网站页面的整体布局设计好后,接下来有很多细节的实现是很让人头疼的。其中之一就是圆角矩形的实现。

在网上看了很多圆角矩形的实现方法,基本有两种,一种是用纯css实现,不需要背景图片;另一种是用背景图像实现。但是,不管是哪一种,都有一个共同的缺点:需要使用很多代码来嵌套,而这些代码对搜索引擎来说毫无意义。

在《css cookbook》一书中介绍了一种实现圆角矩形十分简洁的方法,那就是用Nifty Corners Cube

先看一个简单的例子:http://www.sz137.com/sz137/demo1.html

查看源码发现实现圆角矩形的代码:

<script type="text/javascript" src="niftycube.js"></script>
<script type="text/javascript">
window.onload=function()
{
Nifty("div#box","big");
}

如此简单!当页面圆角矩形很多的时候这种简洁就更显而易见了。

下面具体介绍Nifty Corners Cube的使用:

Nifty Corners Cube(以下简称Nifty)是基于GNU GPL licence的自由软件,整个程序代码不过10KB,包括一个JS文件和一个CSS文件。使用Nifty不需要背景图片,它会自动根据你的背景颜色匹配出圆角。使用Nifty会用到两组参数:第一组是CSS选择符(CSS Selector),用来指定哪些单元(elements)需要改成圆角矩形;第二组是Nifty提供的内部参数,用来定义圆角样式,方位等。

第一组参数可以是:

这里需要注意的是,若你的导航栏使用div标签,CSS选择符是#head .navigation时,参数的写法应该是div.navigation。

第二组参数:

下面看一些例子:

1.同时作用于两个层:
示例:http://www.sz137.com/sz137/demo2.html
实现代码:

JavaScript code

 

?

1
Nifty("div#content,div#nav");

2.与背景图片完美结合:
示例:http://www.sz137.com/sz137/demo3.html
实现代码:

JavaScript code

 

?

1
Nifty("div#box","transparent");

3.圆角导航栏:
示例1:http://www.sz137.com/sz137/demo4_1.html
实现代码:[code]Nifty("ul#nav a","small transparent top");[/code]

示例2:http://www.sz137.com/sz137/demo4_2.html
实现代码:

JavaScript code

 

?

1
Nifty("ul#nav a","top");

4.圆角按钮:
示例:http://www.sz137.com/sz137/demo5.html
实现代码:

JavaScript code

 

?

1
Nifty("ul#nav a","small transparent top");

5.右上角不要圆角,固定高度:
示例:http://www.sz137.com/sz137/demo6.html
实现代码:

JavaScript code

 

?

1
Nifty("div#about li","tl bottom big fixed-height");

6.same-height属性:
示例:http://www.sz137.com/sz137/demo7.html
实现代码:

JavaScript code

 

?

1
Nifty("div#content,div#nav","same-height");

不用css样式表和背景图片实现圆角矩形,超简洁!的更多相关文章

  1. CSS样式中,background-image 背景图片居中显示并且在不同屏幕分辨率下始终居中

    body {   margin-top:0px; margin-right:0px;   margin-bottom:0px;   margin-left:0px;   background-colo ...

  2. WEB入门 四 CSS样式表深入

    学习内容 Ø        CSS选择器深入学习 Ø        CSS继承 Ø        CSS文本效果 Ø        CSS图片效果 能力目标 Ø        掌握CSS选择器的组合声 ...

  3. tp3.2替换模板中如果需要替换的图片在css样式表中怎么办?

    因为标签中的 style 定义的样式可直接覆盖 css样式表中定义的样式,所以可以在要替换的标签中用 style 直接定义样式,具体代码如下: <div class="aboutbg& ...

  4. CSS样式----图文详解:css样式表和选择器

    主要内容 CSS概述 CSS和HTML结合的三种方式:行内样式表.内嵌样式表.外部样式表 CSS四种基本选择器:标签选择器.类选择器.ID选择器.通用选择器 CSS三种扩展选择器:组合选择器.后代选择 ...

  5. CSS样式表的写作规范

    推荐大家使用的CSS书写规范.顺序 写了这么久的CSS,但自己都没有按照良好的CSS书写规范来写CSS代码,东写一段西写一段,命名也是想到什么写什么,过一段时间自己都不知道写的是那一块内容, 这样会影 ...

  6. CSS样式----css样式表和选择器(图文详解)

    本文最初于2015-10-03发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 本文主要内容 CSS概述 CSS和HTML结合的三种方式:行内样 ...

  7. 深度理解CSS样式表,内有彩蛋....

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 2016年10月27日--css样式表

    CSS样式表 样式表分类 1.内联样式表 和html联合显示,控制精确,但是可重用性差,冗余多. !doctype html> <html> <head> <met ...

  9. 在网页中插入CSS样式表的几种方法

    1. 链入外部样式表 链入外部样式表是把样式表保存为一个样式表文件,然后在页面中用<link>标记链接到这个样式表文件,这个<link>标记必须放到页面的<head> ...

随机推荐

  1. Android应用程序组件Content Provider在应用程序之间共享数据的原理分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6967204 在Android系统中,不同的应用 ...

  2. 《JavaScript 闯关记》之正则表达式

    由于本课程的核心是 JavaScript,所以本文着重讲解了「正则表达式」在 JavaScript 中的用法,并未深入「正则表达式」的具体细节.如果您尚不了解「正则表达式」,强烈推荐您先学习 正则表达 ...

  3. Android_xml背景色的值

    点击(此处)折叠或打开 <?xml version="1.0" encoding="utf-8" ?> <resources> < ...

  4. hdu2309ICPC Score Totalizer Software

    Problem Description The International Clown and Pierrot Competition (ICPC), is one of the most disti ...

  5. 菜鸟的jQuery源码学习笔记(一)

    整个jQuery是一个自调用的匿名函数: (function(global, factory) { if (typeof module === "object" && ...

  6. Android 从AndroidManifest获取meta-data

    语法如下: <meta-data android:name="string" android:resource="resource specification&qu ...

  7. MYSQL 数据类型的 3 个注意

    注意 1. bit(Length) 这种数据类型中,最大长度只可以是64.就是说 bit(2)      对 bit(64)      对 bit(65)      错 bit(100)    错 注 ...

  8. android的edittext输入长度

    http://blog.csdn.net/uyu2yiyi/article/details/6329738 http://flysnow.iteye.com/blog/828415/ http://s ...

  9. Zigbee、WiFi和433MHz无线技术各有特点

    Zigbee.WiFi和433MHz无线技术都属于近距离无线通讯技术,并且都使用ISM免执照频段,但它们各具特点.   ZigBee的特点是低功耗.高可靠性.强抗干扰性,布网容易,通过无线中继器可以非 ...

  10. try/catch异常捕捉

    StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); System.out.println(sw. ...