`
zhangjunji111
  • 浏览: 48007 次
  • 性别: 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咋办?

相关推荐

    jQuery动态生成隔行变色的table

    这样,偶数行将被赋予一个浅灰色背景,实现隔行变色效果。 3. **JSON数据**: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。我们可以定义一个...

    表格隔行变色

    例如,你可以使用`&lt;c:forEach&gt;`标签遍历数据库查询结果,并在循环中根据行索引判断是否为偶数,以此来插入不同的CSS类,实现隔行变色: ```jsp ${yourDataList}" var="item" varStatus="status"&gt; ${status....

    网页里面表格隔行变色代码

    在本案例中,"网页里面表格隔行变色代码" 描述了一种实现表格隔行变色的方法,包括奇偶数行的变色以及点击变色的效果。 首先,我们来了解如何实现基础的表格隔行变色。在HTML中,`&lt;table&gt;`元素用于创建表格,`&lt;tr&gt;`...

    CSS2+JS实现table隔行变色

    总结起来,结合CSS2和JavaScript可以轻松地为表格实现隔行变色的效果。在CSS中,我们利用`:nth-child()`伪类选择器或者自定义类来定义行的样式;在JavaScript中,我们通过DOM操作动态地添加或移除这些样式类,确保...

    表单数据验证_表格隔行变色效果_复选框的操作_好友列表_省市菜单联动效果

    这通常通过CSS实现,使用`nth-child`选择器来选择偶数行或奇数行并设置不同的背景颜色。例如: ```css tr:nth-child(even) { background-color: #f2f2f2; } ``` 这样,表格的每一行将交替显示不同的背景色,使得...

    表格隔行变色,jquerys

    总结,使用jQuery实现表格隔行变色是一种常见的网页美化技术,它提高了数据展示的清晰度,使用户更容易阅读和理解表格内容。通过选择器选择表格行,应用CSS样式,再结合响应式设计和兼容性处理,可以创建出既美观又...

    实用的隔行变色,支持3种颜色.rar

    在CSS中,我们可以使用`:nth-child()`选择器来实现隔行变色。例如,为偶数行设置一种颜色,为奇数行设置另一种颜色: ```css tr:nth-child(even) {background-color: #f2f2f2;} tr:nth-child(odd) {background-...

    隔行变色和鼠标滑过变色

    #### 一、使用`expression`实现隔行变色 `expression`是Internet Explorer特有的一种脚本表达式属性,它可以动态地改变元素的CSS样式。例如,在HTML文档中可以这样设置表格的背景色: ```html &lt;style type="text/...

    css+js隔行换色

    以上就是使用CSS和JavaScript实现隔行换色的方法。这种技术在显示大量数据时能提高可读性,同时通过JavaScript增强动态适应性,确保在各种场景下都能保持良好的用户体验。在实际项目中,根据具体需求和浏览器兼容性...

    JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】

    从给定的文件信息中,我们可以提炼出以下知识点: ### JavaScript表格隔行变色 ...通过上述知识点,我们可以系统地理解如何使用JavaScript和JQuery实现表格隔行变色和Tab标签页特效,以及这些技术在前端开发中的应用。

    隔行颜色不同、隔行颜色不同

    虽然这个效果可以通过纯CSS实现,但有时候我们可能需要在某些特定事件(如页面加载、滚动或用户交互)后动态改变颜色。这时,jQuery可以帮助我们。例如,我们可以在页面加载完成后改变行的颜色: ```javascript $...

    jquery 15天学习笔记 02 table表格 隔行变色的问题

    以下是一个基本的jQuery实现隔行变色的代码示例: ```javascript $(document).ready(function() { $("table tbody tr:nth-child(even)").css("background-color", "#F2F2F2"); $("table tbody tr:nth-child(odd)...

    可编辑的表格,实现隔行换色等效果

    "可编辑的表格,实现隔行换色等效果"是一个典型的功能实现,通常用于数据展示,使表格更加易读,提升视觉效果。这个功能的实现通常涉及到HTML、CSS和JavaScript技术,特别是jQuery库的运用。 首先,HTML是网页的...

    js实现表格隔行变色

    这里提到的"js实现表格隔行变色"就是一种通过JavaScript来动态改变HTML表格行背景色的技术。在给出的代码示例中,我们看到一个简单的实现方式。 首先,`window.onload`事件是JavaScript中的一个常见事件,它表示当...

    纯JS代码实现隔行变色鼠标移入高亮

    总结来说,通过纯JavaScript实现隔行变色以及鼠标移入高亮显示的交互效果是一个简单直接的过程,主要依赖于HTML、CSS和JavaScript的基本知识。在实现上述效果时,重点在于掌握JavaScript对于DOM元素的访问和操作,...

    jquery table鼠标滑过隔行变色表格样式代码

    2. **CSS 样式**:隔行变色通常是通过 CSS 来实现的。可以使用 `nth-child(odd)` 和 `nth-child(even)` 选择器来选中表格的奇数行和偶数行,并分别设置不同的背景颜色。例如: ```css tr:nth-child(odd) { ...

    比较有用的效果,LI列表输出,隔行同色

    实现隔行变色的效果,我们主要依赖于CSS,尤其是选择器和背景颜色属性。一种常见方法是使用CSS的`:nth-child`伪类选择器,它可以根据元素在父元素中的位置来应用样式。例如,我们可以为偶数位置的`&lt;li&gt;`元素设置不同...

    Asp.net GridView隔行变色和光棒效果2种方法实现

    然后,使用jQuery选择器和事件处理函数来实现隔行变色和光棒效果: ```javascript $(document).ready(function(){ $(".gridview tr:odd").addClass("odd"); $(".gridview tr:even").addClass("even"); $("....

    CSS结合JavaScript 实现Li隔行换色 代码

    在网页设计与开发过程中,为了提高用户体验以及美观性,开发者经常需要对列表项进行样式处理,如实现列表项的隔行变色功能。这种功能不仅能够使页面更加整洁,还能帮助用户更快速地定位信息。本文将通过分析一份具体...

    表格隔行换色 鼠标移过变色

    这同样可以通过CSS实现,添加`:hover`伪类: ```css tr:hover { background-color: #ccc; /* 或者其他颜色 */ } ``` 当鼠标悬停在表格行上时,该行的背景色会变为指定的颜色。在JavaScript中,也可以通过...

Global site tag (gtag.js) - Google Analytics