说到选项卡,随便在网上搜搜就能找到一大堆,而且都很靓,效果也很不错。但是,这些选项卡也有很多都用到了专用的 js 库,抑或是难以修改。最近几天在给人做网页,用一个 table 基于基本的 CSS 样式定义以及基本的 js 函数定义,实现了垂直选项卡的效果,写下来与大家分享,如有不当之处,欢迎指正。
1. 样式的定义
/**
* 说明:用于装载垂直选项卡的表格样式定义
*/
.menuTable {
width: 100%;
text-align:center;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
}
/**
* 说明:垂直选项卡菜单项样式定义
*/
.menuTable td {
height: 40px;
color:#27056a;
font-size: 12px;
font-weight:bold;
border-top: 0px;
border-left: 0px;
border-right: 0px;
border-bottom: 1px solid #64B8E4;
background-image:url(../image/bg-tabset-table.jpg);
background-repeat:repeat-x;
cursor: pointer;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
}
/**
* 说明:鼠标移至选项卡上时的样式定义
*/
.menuTable td.hover {
border-top: 1px solid #64B8E4;
border-bottom:1px solid #64B8E4;
color:#147AB8;
background:none;
}
2. 选项卡定义
<table width="800" height="300" border="1" bordercolor="#64B8E4" style="border-collapse: collapse">
<tr>
<td width="120" valign="top">
<table class="menuTable" cellspacing="0">
<tr>
<td id="td1" onmouseover="displayAndHide('', 1, 3)" class="hover">
A
</td>
</tr>
<tr>
<td id="td2" onmouseover="displayAndHide('', 2, 3)">
B
</td>
</tr>
<tr>
<td id="td3" onmouseover="displayAndHide('', 3, 3)">
C
</td>
</tr>
</table>
</td>
<td width="680">
<table width="100%" height="100%">
<tr valign="top">
<td valign="top">
<div id="div1" style="height:295px">
Content A
</div>
<div id="div2" style="display: none;">Content B</div>
<div id="div3" style="display: none;">Content C</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
3. JS 函数定义
/**
* @param menuName - 选项卡菜单的部分名称
* @param index - 当前选项卡的索引号
* @param count - 选项卡的数目
*/
function displayAndHide(menuName, index, count) {
for(var i = 1; i <= count; i++) {
var div = document.getElementById("div" + menuName + i);
var cell = document.getElementById("td" + menuName + i);
div.style.display = (i == index) ? "" : "none";
cell.className = (i == index) ? "hover" : "";
}
}
4. 效果预览
5. Demo 下载
附件 demo,欢迎下载。
-------------------------------------------------
Stay Hungry, Stay Foolish!
Afa
July 9th, 2010
-------------------------------------------------
分享到:
相关推荐
"采用Table CSS实现的TabPane选项卡"是一个利用CSS样式表来构建Tab Pane功能的例子。在这个项目中,我们将深入探讨如何使用纯CSS来创建这种效果,以及为何选择使用表格布局(Table CSS)。 首先,让我们理解什么是...
本教程将详细介绍如何利用MFC自绘控件来实现竖排的TAB sheet控件,并且在每个选项卡上添加图标。 首先,我们需要创建一个继承自CPropertySheet的类,例如命名为`CMyPropertySheet`。`CPropertySheet`是MFC中用于...
从文件名来看,我们可以推测这些插件涵盖了多种选项卡实现技术: 1. **通用的Tab选项卡,内容渐显.html**:这可能是一个通用的选项卡解决方案,可以适应不同的页面布局,并且可能具备内容渐显效果,即在切换标签时...
我们需要利用`/deep/`或`>>>`(Vue 2.x中的深度选择器)来穿透组件的样式隔离层,然后设置`height: 100% !important;`来确保固定列的高度与表格主体保持一致。 总之,处理ElementUI的`el_table`固定列问题,特别是...
3. 在 **Position** 选项卡中,选择 **AutosizeHeight** 选项。 4. 在 **Edit** 选项卡中,选择 **AutoHorzScroll** 选项。 5. 完成设置后点击 **OK** 按钮。 6. 对于 **DetailBand**(即 Detail 层级),打开其属性...
其次,表格布局(TableLayout)适用于需要展示数据网格的情况,如设置选项卡或展示表单。它由表格行(TableRow)组成,每一行可以包含多个列。表格布局允许开发者精确控制单元格的宽度和高度,但相比其他布局方式,...
这允许我们在一个单元格内展示更复杂的数据结构,比如一个多级分类的目录或者横向滑动的选项卡。 首先,我们要理解如何创建一个基本的tableView。在iOS中,UITableView是负责显示一系列可滚动行的控件。我们通常会...
8. **选项卡(TabFolder)**:`TabFolder`组件可以将多个页面(TabItem)组织成一个选项卡式界面,用户可以通过点击不同的标签切换内容,非常适合展示和管理多个相关但相互独立的信息板块。 9. **高级组件应用**:...
21. 公式错误检查:出现#错误时,使用F9或"公式"选项卡中的"错误检查"功能,可快速定位和修正问题。 22. 使用COUNTIF和COUNTIFS:统计满足特定条件的单元格数量,COUNTIFS可同时应用多个条件。 23. 快速合并单元格...
- 在"查看"选项卡的高级设置中,勾选"显示所有文件和文件夹",这样可以显示隐藏的文件和文件夹。 - 进入Windows 2000的系统目录,找到名为"SYSDM.CPL"的文件,先备份此文件。 - 使用文本编辑软件(如记事本)打开该...
在这个模板中,我们可以看到一个简单的水平导航条,它利用了`.navbar`类和`.nav`类来定义整体导航结构。`.navbar`提供了导航的基本容器,而`.nav`则定义了导航链接的样式。通过添加`.active`类到当前选中的链接,...
在分析内存数据时,还可以利用Excel的其他高级功能,如PivotTable(透视表)和VLOOKUP(垂直查找)函数,对数据进行汇总和交叉分析。透视表可以帮助我们快速总结大量数据,而VLOOKUP可以方便地在不同工作表或数据...
9. 【布局】选项卡中的4个Spry构件包括Spry菜单栏、Spry可折叠面板、Spry选择列表和Spry折叠式框架。这些是Dreamweaver内置的JavaScript库,用于增强网页的交互性。 10. Spry菜单栏是一组可导航的菜单按钮,当访问...
7. **UI Tabs & Accordions (ui_tabs_accordions.html)**:这个部分包含选项卡和手风琴(折叠面板)组件,它们可以有效组织和展示大量信息,提高界面的可读性。 8. **Form Wizard (form_wizard.html)**:表单向导是...
然后,隐藏表格边框:右键点击表格,选择“表格属性”或“Table Properties”,在“边框和底纹”选项卡中,取消选中所有边框。 为了添加个人信息,如班级和姓名,可以使用文本框。点击“插入”->“文本框”或“Text...
7. **快速修改单元格式次序**:在“开始”选项卡的“数字”组中,可以快速更改数字格式、对齐方式等。 8. **彻底清除单元格内容**:右键单击单元格,选择“清除内容”,可删除数据但保留格式;选择“删除单元格”则...
- **垂直盒子布局(vbox)**:垂直排列组件。 #### 5. 添加与配置组件 - **添加组件**:通过拖放方式添加各种组件至设计区。 - **定位组件**:在设计区内精确调整组件的位置。 - **配置组件**:设置组件属性以满足...
这种布局模式充分利用了CSS3中的Flexbox(弹性盒模型)特性,使得开发者可以轻松应对各种复杂的网页布局需求,无论是在响应式设计还是在创建动态界面时都有出色的表现。 首先,我们需要理解什么是盒模型。在HTML和...