`
zhangjunji111
  • 浏览: 46533 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个用CSS实现隔行变色的技术

阅读更多

以前在做页面显示列表时候,要做一组数据隔行变色,当时不知道,竟然用来了好多java脚本判断,写了许多像下面的例子。

<table>

<%int c =0;%>

//循环取列表

<%
       if (c % 2 == 0) 
       {
        className = "一种颜色";
       } else 
       {
           className = "另外一种颜色";
       }
       c++;
      %>
      <tr lcass="className">
       <td></td>

     </tr>

//循环结束

</table>

 

某一天才发现有如下的方法,可以直接在css中写:

.Pop_TR{
 background-color:expression(this.rowIndex%2==0 ? "一种颜色":"另一种颜色");
 cursor:hand;
}

 这样,想展示上面的样式,只需要这样写:

<table>
//循环取列表
      <tr lcass="Pop_TR">
       <td></td>

     </tr>

//循环结束
</table>

 

这样一来,的确减少了不少代码,jsp中也不需要写那些丑陋的java脚本了。css技术,还真要下一番功夫去研究。

 

分享到:
评论
17 楼 lixin3811 2010-02-04  
针对楼主认为网速慢而需要在Java生成html页面时即生成对应class字符串,其实大可不必;如果页面未加载完,渲染也就未开始,隔行变色的效果也不会出现。
16 楼 hesy_007 2010-02-04  
不建议在css中使用表达式!!
15 楼 supercrsky 2010-02-04  
expression
这个在复杂页面,ie6下很容易崩溃的
14 楼 hlylove 2010-02-04  
这种我都在后台处理好
13 楼 liupesnap 2010-02-04  
css的expression 就只有在页面中图片超出指定尺寸控制时用过 感觉不是很灵活
12 楼 刃之舞 2010-02-03  
wucc1986 写道
bluemeteor 写道
JQuery的话也很简单

1.
通过定义俩个class来实现
$("tr:even").addClass("even-row");
$("tr:odd").addClass("odd-row");

2.
或者一行代码
$("tr").each(function(i){this.style.backgroundColor['#ccc','#fff'][i%2]})    


这样做也不好的,这个是需要页面onload之后,才会去加样式。如果网速慢的话,开始页面是没样式的。。卡了一会才加上样式。之前用这种方式实现,后面还是改成java判断添加class。


我就搞不懂了,都什么年代了,还有人喜欢在jsp里加上恶心的不协调的java代码,不知道有el表达式这个东西的吗?不知道使用框架扩展标签或者自定义标签的吗?
11 楼 wucc1986 2010-02-02  
bluemeteor 写道
JQuery的话也很简单

1.
通过定义俩个class来实现
$("tr:even").addClass("even-row");
$("tr:odd").addClass("odd-row");

2.
或者一行代码
$("tr").each(function(i){this.style.backgroundColor['#ccc','#fff'][i%2]})    


这样做也不好的,这个是需要页面onload之后,才会去加样式。如果网速慢的话,开始页面是没样式的。。卡了一会才加上样式。之前用这种方式实现,后面还是改成java判断添加class。
10 楼 amonlei 2010-02-02  
楼主第一段代码好恶
9 楼 刃之舞 2010-02-02  
做个table奇偶行区别显示的css类就好了,这东西不复杂的

<tbody>
				<s:iterator id="ip" status="status" value="ipUseList">
					<tr class="<s:property value="#status.odd?'odd':'even'"/>">
						<td><s:property value="#ip.subnet"/></td>
						<td><s:property value="#ip.netmask"/></td>
						<td><s:property value="#ip.city_name"/></td>
						<td><s:property value="#ip.country"/></td>
						<td><s:property value="#ip.subnetcomment"/></td>
					</tr>
				</s:iterator>
			</tbody>		

8 楼 gwwnha 2010-02-02  
背景图repeat-x repeat-y
7 楼 gwwnha 2010-02-02  
不需要用jquery,用1张背景图就搞定。
6 楼 pekkle 2010-02-02  
用jquery就不好了
5 楼 cheng888qi 2010-02-02  
xyztony1985 写道
首先是IE Only;
其次是效率很低。

结论是最好不用。

正解!
4 楼 bluemeteor 2010-01-31  
JQuery的话也很简单

1.
通过定义俩个class来实现
$("tr:even").addClass("even-row");
$("tr:odd").addClass("odd-row");

2.
或者一行代码
$("tr").each(function(i){this.style.backgroundColor['#ccc','#fff'][i%2]})    
3 楼 鹤惊昆仑 2010-01-31  
expression会死人的,如果页面很复杂。还不如前面的切换2个class的简单方法可靠。

在高级浏览器中可以考虑使用css selector(流行的js库基本都实现了一套):
tr:nth-child(2n+1) /* 奇数行 */
tr:nth-child(odd)  /* 奇数行 */

tr:nth-child(2n+0) /* 偶数行 */
tr:nth-child(even) /* 偶数行 */
2 楼 xyztony1985 2010-01-31  
首先是IE Only;
其次是效率很低。

结论是最好不用。
1 楼 02221021 2010-01-30  
firefox咋办?

相关推荐

    《精通CSS+DIV网页样式与布局》光盘源码

     14.5 XML实现隔行变色的表格   第15章 CSS与Ajax的综合应用   15.1 Ajax概述   15.2 Ajax入门  15.3 Ajax实例:能够自由拖动布局区域的网页  第4部分 综合案例篇  第16章 我的博客   16.1 分析...

    精通CSS+DIV网页样式与布局

     14.5 XML实现隔行变色的表格   第15章 CSS与Ajax的综合应用   15.1 Ajax概述   15.2 Ajax入门  15.3 Ajax实例:能够自由拖动布局区域的网页  第4部分 综合案例篇  第16章 我的博客   16.1 分析...

    精通CSS.DIV.网页样式与布局 源码

     14.5 XML实现隔行变色的表格   第15章 CSS与Ajax的综合应用   15.1 Ajax概述   15.2 Ajax入门  15.3 Ajax实例:能够自由拖动布局区域的网页  第4部分 综合案例篇  第16章 我的博客   ...

    精通CSS+DIV网页样式与布局Part1

     14.5 XML实现隔行变色的表格   第15章 CSS与Ajax的综合应用   15.1 Ajax概述   15.2 Ajax入门  15.3 Ajax实例:能够自由拖动布局区域的网页  第4部分 综合案例篇  第16章 我的博客   16.1 分析...

    精通CSS.DIV网页样式与布局视频01

     14.5 XML实现隔行变色的表格   第15章 CSS与Ajax的综合应用   15.1 Ajax概述   15.2 Ajax入门  15.3 Ajax实例:能够自由拖动布局区域的网页  第4部分 综合案例篇  第16章 我的博客   16.1 分析...

    精通CSS+DIV网页样式与布局视频教材

    14.5 XML实现隔行变色的表格 第15章 CSS与Ajax的综合应用 15.1 Ajax概述 15.1.1 什么是Ajax 15.1.2 Ajax的关键元素 15.1.3 CSS的重要地位 15.2 Ajax入门 15.2.1 创建XMLHttpRequest对象 ...

    JAVAWeb全课程笔记( html版)

    CSS总结 JavaScript总结 DOM总结 tomcat服务器 servlet基础 Request&Response编程 Cookie&Session XML语言 JSP技术入门 EL表达式语言 JSTL标签库: JSP标准标签库 MVC程序架构思想&案例 [总结]Path路径问题 [总结]...

    精通JavaScript+jQuery Part1

     14.5 XML实现隔行变色的表格   第15章 CSS与Ajax的综合应用   15.1 Ajax概述   15.2 Ajax入门  15.3 Ajax实例:能够自由拖动布局区域的网页  第4部分 综合案例篇  第16章 我的博客   16.1 分析...

    jQuery权威指南-源代码

    《jQuery权威指南》除了理论知识丰富而全面外,它还有一个最大的特点就是注重实战,每个知识点都有一个完整的案例,包括需求分析、代码实现和结果展示三个部分,而且还包含两个综合性的案例,它的实践性之强是目前...

    javascript网页特效实例大全(13-19)

    实例326 表格隔行变色 521 13.3 鼠标及滚动条样式 522 实例327 显示自定义鼠标形状 522 实例328 动画光标 524 实例329 制作彩色滚动条 525 13.4 文字及列表样式 527 实例330 应用删除线样式标记商品...

    JavaScript网页特效范例宝典源码

    实例075 只有一个复选框时控制复选框的全选或反选 119 2.5 密码域 120 实例076 让您的密码域更安全 120 实例077 不提交表单自动检测密码域是否相同 121 2.6 表单应用 122 实例078 通过JavaScript控制表单的提交与...

Global site tag (gtag.js) - Google Analytics