手风琴是一种 UI 模式,您可以在其中点击标题(在标题的垂直堆栈中),并在其下方显示内容面板。通常,当新的面板打开时,所有其他打开的面板都会关闭。它们是一种巧妙且引人入胜的机制,可以将大量信息打包到较小的空间中。

来自 jQuery UI 的基本手风琴
查看手风琴的一种方法是将其视为表格的折叠单列。我最近为客户网站构建了一个页面,他们提供的信息确实很有意义,可以作为表格呈现。但信息量太大,无法一次查看所有内容。我认为这在视觉上会让人不知所措。我还认为,访问此页面的用户很可能立即知道他们需要什么,因此让他们点击一次获取信息似乎是相当合理的。所以,一个手风琴表格!
我在构建的这个表格中另一个需要考虑的是,列数足够多,以至于每个单独的列(如果它们在可用空间中宽度相等)的宽度并不大,可能只有 150px。其中一些单元格包含几段文本。一个 150px 宽且包含几段文本的单元格会显得非常高。因此,网格手风琴诞生了!
网格手风琴的工作原理与大多数其他手风琴相同。一次只打开一个单元格。关键是当前打开单元格的列会扩展到合理的阅读宽度。
您可以在本文末尾查看和下载示例。接下来我将介绍一些重要的部分。
HTML:经典的定义列表用法
手风琴是定义列表的完美语义示例。快速回顾一下它们
<dl>
<dt>Title</dt>
<dd>Information about that title here</dd>
<dt>Another Title</dt>
<dd>Information about that other title here</dd>
</dl>
我们的网格手风琴将由浮动到水平行中的 div 组成。每个 div 包含列的标题和图像,最重要的是定义列表本身。其中一个 div 的示例
<div class="info-col">
<h2>Batman</h2>
<a class="image batman" href="http://jprart.deviantart.com/">View Image</a>
<dl>
<dt>Super Power</dt>
<dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd>
<dt>Costume</dt>
<dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd>
<dt>Morality</dt>
<dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd>
<dt>Sidekicks</dt>
<dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd>
<dt>Vehicles</dt>
<dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd>
<dt>Weaknesses</dt>
<dd>Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</dd>
</dl>
</div>
CSS:努力保持可访问性
大多数 CSS 只是简单的设置,这里不值得介绍(完整 CSS 文件在此)。
值得介绍的一个方面是可访问性。我们需要默认“隐藏”表格的所有信息面板。我们可以做到这一点的一种方法是设置dd元素在 CSS 中显示为:none;但这会带来严重的可访问性问题,因为许多屏幕阅读器会遵守此 CSS 并完全删除这些信息。
相反,我们可以通过将单元格踢出浏览器窗口来“隐藏”它们。
dd { position: absolute; top: -9999px; left: -9999px; }
这是一种经典的技术。事实上,使用这样的实用程序类名看到这些确切的 CSS 属性和值非常常见
.screen-reader-text { position: absolute; top: -9999px; left: -9999px; }
但我们还有另一个问题。我们将使用一些 jQuery 动画来向上和向下滑动信息单元格。因此,我们不能让它们对普通用户来说被踢出页面。当 JavaScript 首次运行时,我们将移动单元格并让 JavaScript 隐藏它们。
关于 slideDown jQuery 函数的一点是,当它已经知道元素在关闭或隐藏之前最初的高度时,它才能最好地工作,因此它可以平滑地将其自身动画回该初始高度。如果我们在 CSS 中使用了 display: none;,则此函数将不知道这些单元格应该有多高。相反,将它们踢出页面意味着将计算初始高度,使动画尽可能平滑。我们只需要确保单元格设置为其“完整”宽度,以便在单元格可见时计算该宽度下的高度。
dd { width: 299px; position: absolute; left: -9999px; top: -9999px; }
因此,在这一点上,我们拥有一个可访问的信息页面,屏幕阅读器应该能够获取所有必要的信息,并且普通用户拥有一个运行流畅的系统。但是,尚未完全解决的一个问题是 JavaScript 关闭的情况。在这种情况下,信息单元格仍然由 CSS 隐藏。就我个人而言,我更关心可访问性,而不是关心那些关闭 JavaScript 并拿着火把浏览的人。但是,如果您是,可以随意 1) 放入一个 <noscript> 消息或 2) 删除 CSS 隐藏并让内容闪烁一下,然后再由 JavaScript 隐藏单元格。
CSS:CSS3 的乐趣
CSS3 伪类选择器 :nth-of-type 在定义列表中特别有用。因为 dt 和 dd 元素交替出现,并且实际上可以重复或以任何顺序出现,所以 :nth-child 将是一种难以维护的方法。让我们使用 :nth-of-type 为表格的单元格着色
dt:nth-of-type(1) { background: #b44835; }
dd:nth-of-type(1) { background: #b44835; }
dt:nth-of-type(2) { background: #ff7d3e; }
dd:nth-of-type(2) { background: #ff7d3e; }
dt:nth-of-type(3) { background: #ffb03b; }
dd:nth-of-type(3) { background: #ffb03b; }
dt:nth-of-type(4) { background: #c2a25c; }
dd:nth-of-type(4) { background: #c2a25c; }
dt:nth-of-type(5) { background: #4c443c; }
dd:nth-of-type(5) { background: #4c443c; }
dt:nth-of-type(6) { background: #656b60; }
dd:nth-of-type(6) { background: #656b60; }
对于那些吵吵闹闹的 IE 兼容性人群,请继续为单元格添加额外的类名,并使用这些钩子进行着色。
我们将添加的一点风格是突出显示当前列。类名“curCol”将根据需要通过 JavaScript 添加和删除。当前列周围将有一个阴影,这当然是 box-shadow 的完美用法
.curCol { -moz-box-shadow: 0 0 10px rgba(0,0,0,0.2); -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2); z-index: 1; position: relative; }
在我玩这个的时候,我最初尝试使用一些转换来放大当前列的大小。最终我不喜欢这种外观(当缩放时,单像素线看起来很糟糕)。我更喜欢阴影,但我发现阴影的右边缘被下一列切断了。这是因为下一列在垂直堆叠顺序方面略微位于当前列之上。因此,curCol 类具有 z-index 和相对定位,以确保它位于其他元素之上。
偶然地,我还发现 transform 属性也解决了这个问题。例如,设置 -moz-transform: scale(1);(将某个东西缩放至 100%,或者基本上,对未缩放的元素不做任何操作)也通过使阴影可见而起作用。换句话说:在元素上使用转换会影响它们的垂直堆叠顺序。我只是不确定这一切到底是如何工作的。
jQuery JavaScript
同样,我不会介绍每一行代码(您可以查看完整的文件在这里)。不过,以下是逻辑结构
- 当点击 <dt> 时…
- 如果它是当前活动的单元格,则不执行任何操作
- 否则…
- 关闭所有打开的单元格
- 缩小旧标题
- 放大新标题
- 打开新单元格
- 标记当前列
- 确保当前列展开,其他列收缩
一些有趣的事情…
我通常会使用 .live() 函数来处理对 dt 元素的点击。但是,在 jQuery 中处理此问题的最新时尚方法是使用 .delegate()
$("#page-wrap").delegate("dt", "click", function() {
// do stuff
}
live 需要监视整个文档的点击,而 delegate 将监视范围限制在 page-wrap,这更有效率。
我向 Doug Neiner 展示了这一点,他还建议点击每一列中的照片只会打开该列。然后如果再次点击,它们实际上会跳转到艺术家的网站(每个图像的 href 链接到的网站)。这里的技巧是在点击非当前列的图像时阻止默认操作(跳转到链接)。相反,将点击重定向到该列中的第一个标题(这将打开它)。我们可以再次使用 delegate
$("#page-wrap").delegate("a.image","click", function(e) {
if ( !$(this).parent().hasClass("curCol") ) {
e.preventDefault();
$(this).next().find('dt:first').click();
}
});
演示和下载
在我找到一个好的许可系统之前… 提醒一下,此网站上的任何可下载示例,您可以随意使用。最好是在大型企业项目中使用并赚取大量现金。或者,向您的朋友展示它并告诉他们您做到了,这样他们就会认为您很棒。
非常酷 – 我经常遇到的一个问题是用户希望在单个表格中显示所有数据。这将有所帮助!
啊,谢谢。这太有趣了,是的!它很酷。
“最好是在大型企业项目中使用它,然后赚大钱。或者,向你的朋友展示它,并告诉他们是你做的,这样他们就会认为你很厉害。”
说真的,这太搞笑了。不过这个脚本真是太棒了,你总是能带来一些新的东西,我相信这种手风琴会到处涌现。哦,还有你在网格手风琴中突出显示部分使用的 CSS3 阴影也很不错。
是的,这是一个很棒的脚本,顺便说一句,我发现你揭开了面纱;)
哈哈,哇,你确实做到了。
很棒,从通常的手风琴中想出了一个好主意,真是个好方法。
很整洁 - 另一个很棒的 jQuery 效果 Chris。例子也很不错,CSS3 的使用也很巧妙!继续努力。
这真的很流畅,非常适合用于网站地图。
好吧,对于 IE7 和 8,你可以在 CSS 中实现它,但仍然不那么优雅。例如代码
dt:first-child + dd + dt + dd + dt
将选择第三个单元格:)。它看起来可以简化
:first-child + * + * + * + *(我没有测试它,所以我不确定它是否有效)。
我认为它比更改标记好得多。
在 IE8 中快速尝试了一下,似乎工作正常。不错。
对于 ie 修复,你上面使用的实际代码是什么?我尝试了你在上面提供的修复,但无法使其正常显示 - 如果你能显示完整的解决方案,那就太好了 - 谢谢!
它最终变得相当长,但它有效。
dt:first-child { background: #b44835; }
dt:first-child + * { background: #b44835; }
dt:first-child + * + * { background: #ff7d3e; }
dt:first-child + * + * + * { background: #ff7d3e; }
dt:first-child + * + * + * + * { background: #ffb03b; }
dt:first-child + * + * + * + * + * { background: #ffb03b; }
dt:first-child + * + * + * + * + * + * { background: #c2a25c; }
dt:first-child + * + * + * + * + * + * + * { background: #c2a25c; }
dt:first-child + * + * + * + * + * + * + * + * { background: #4c443c; }
dt:first-child + * + * + * + * + * + * + * + * + * { background: #4c443c; }
dt:first-child + * + * + * + * + * + * + * + * + * + * { background: #656b60; }
dt:first-child + * + * + * + * + * + * + * + * + * + * + * { background: #656b60; }
我认为这很方便,但如果你想在 Safari Mac 4.0.4 上打印内容,那么……你注定要失败(就像医生一样)!确保所有内容都以某种形式显示,这样你的客户就不会来问为什么打印机打印出空白页面。不过,Firefox 3.6 Mac 似乎可以正确处理这个问题。
再次感谢 Chris 提供此演示!
我真的很喜欢这个 - 非常流畅。在 XP 上的 Firefox 和 Chrome 上,动画有点卡顿,但我认为这并不重要。
干得好!而且 HTML 语义也很不错 :)
哇……太令人印象深刻了。这篇文章中有很多有用的技巧,现在我明白为什么我之前很多次尝试 slideDown 东西都完全失败了(我在 CSS 中隐藏了元素)。我今天肯定学到了很多有用的 jQuery 函数:D(我甚至不知道其中一些函数的存在)
非常感谢!
这看起来很棒,我已经想到了一些我可以使用它的东西。
还有..
“…最好是在大型企业项目中使用它,然后赚大钱。或者,向你的朋友展示它,并告诉他们……”
你太棒了。太棒了!
我还没有阅读脚本,但那个效果看起来很棒。不确定我会用它做什么,但我一定会用它!
很棒的脚本,谢谢。
有没有办法让手风琴中的两个单独的 div 同时保持打开状态?在这个例子中,如果我想同时查看英雄的超能力和服装,而无需关闭其中任何一个?
感谢 Chris 再次提供精彩的见解。
当然还有你的分享。这将为新的网站“itsassimpleasthat.com”提供很好的素材。
再次感谢你,以及你对你书籍的持续更新。
哇哦,这个主意很酷!非常感谢你发布这些不错的文章!
让我想起了 cssnewbie 上这篇两年前的帖子
http://www.cssnewbie.com/css-only-accordion
这太棒了。你太棒了。
一如既往地棒,特别是简洁的标记和流畅的动画。
谢谢分享
为什么如果我添加这样的链接
<a href=”http://google.fr/” rel=”nofollow”>google.fr</a>
它在任何浏览器中都不起作用:ff、ie、opera……
您可能需要更新示例代码,使其查找所有链接“a”,改为更具体的“.main-image”。或者只需删除该代码段。
太棒了!也很及时,我将*尝试*将其改编为家谱类型的表格……嗯。
顺便问一下,查克·诺里斯在这个列表中在哪里?
哇!
我觉得我欠你钱,伙计。你做的事情绝对出色,我无法想象你一定有多忙!
我绝对想用它来显示我自己的网站上的一些信息。你的解释令人难以置信。
请不要很快死去,因为你正在单枪匹马地把我拉进一个网页设计职业,这将拯救我免受平庸的困扰。你救了我的命。
太酷了……上周你发推文的时候我就看到了。我打算试一试,看看是否可以调整它,让“单元格”具有悬停状态,以指示它们是可点击的,也许可以让非活动列变灰,这样聚焦的列就会更加突出。
这将是我练习 jQuery/CSS 调整技能的一个好方法。 :)
很棒的技巧,
这就是为什么 Chris 我是你的粉丝。
这太酷了。以前从未见过,我认为对于大量数据来说,这是一个很棒的解决方案!
非常酷。。。。。。。。。
没有 javascript 的情况下,它无法正常工作。如何使用 JS 而不是 CSS 来定位 DD?这样,如果没有 JS,所有数据都会显示出来。
太棒了!谢谢
最酷的酷……超紧凑
数据展示。
如上面的海报所建议,
最好突出显示链接,
即:优势/助手/……等等,
当用户将鼠标悬停在每个链接上时,
以建议链接是可点击的)。
很棒,Chris!
SFdude
Chris,这真是太棒了!你是个男人!
我确实需要提升我的水平,学习 jquery/javascript。
hohoho…太棒了
哇,太棒了
看起来很棒。非常有用的东西,谢谢!
这看起来很棒而且非常有用。我已经看到了一些在我的公司网站上使用它的好方法。
我担心的是,如果没有 JavaScript,信息将不可见。我知道只有很少一部分人会在没有 JavaScript 的情况下浏览,而且这些人应该习惯于网络上出现一些乱七八糟的东西。但当你做公司网站时,这确实很困难,因为你在某种程度上必须迎合访问者中最基础的需求。
这是一个非常有创意的概念,感谢分享!
非常酷!感谢分享。
这在 IE8 中似乎无法正常工作。我在 IE7 中可以使其工作,但在 IE8 中无法动画化列过渡。即使是在线演示也是如此。
无法工作
Windows 7 64位
IE8
正在工作
Windows 7 64位
IE8 在 IE7 兼容模式下
Firefox 3.6
Chrome
Safari
这可能是我在 css-tricks 上见过的最酷的演示;但是它在 IE8 中似乎出现了问题。它看起来像是 IE 正在尝试动画化,但它无法处理所有正在进行的处理。
但我不能怪 Chris IE 出问题,就像我说的,它非常酷。绝对值得为真正的客户网站进行尝试!
哇,克里斯,这可能是我迄今为止最喜欢的效果,我喜欢这个东西。可能性是无限的。
哇,这太棒了。
嘿,也许这个许可证适合你的需求?
http://sam.zoy.org/wtfpl/COPYING
;)
附注:出色的网格。我可能会在某个地方使用它。
这太棒了!
哇,这太棒了!
很棒的教程!不过我有一个问题:有没有办法让网格在点击外部或一段时间后自动关闭?
再次感谢你的出色工作;)
我同意——这是一个绝妙的解决方案,正是我想要用来显示简短的唱片目录的东西! :)
抱歉,我这里有一个非常愚蠢的问题——一直在尝试在 WordPress 中使用它,但似乎无法消除“不是函数”的消息,尽管尝试了
jQuery(document).ready(function($){
的各种变体。任何帮助将不胜感激!对于多次发布表示歉意。只是想说,一旦我链接到 jQuery 的 Google API 版本——1.4.2——就像这篇文章中提到的那样,问题就解决了。
WordPress 附带的当前版本是 1.3.2,据我了解,.delegate 仅在 1.4.2 中成为一项功能。
正确。Delgate 是全新的。此外,WP 附带的 jQuery 版本通常会自动处于 noConflict 模式,因此使用如下方法
var $j = $.noConflict();
然后在任何使用 $ 的地方使用 $j 都是可行的。我几乎总是从 Google 直接加载最新版本的 jQuery,并且不处理所有这些。
我最担心的是你混合了 DC 和 Marvel。
那真是不错
谢谢克里斯!
我使用 target 伪类在没有 JavaScript 的情况下做了完全相同的事情,并想出了一个在 IE6+ 中有效的解决方案——http://www.thecssninja.com/css/accordian-effect-using-css。
谢谢克里斯。这真是太棒了。继续加油!
那真是太酷了。我一开始不确定它将如何工作,但它非常实用。干得好!
极度赞叹,而且没有“rel”属性!我喜欢它!
当我晚上闭上眼睛时,我梦想着拥有你那高超的技能。感谢分享。
非常感谢克里斯!
对于所有这些代码方面,你是一位很棒的老师……
确实非常棒的作品,一个很棒的想法,非常有用!
绝对精彩..!
对于小型简历网站来说,这是一个很棒的方式..!
我同意……我无法抗拒用它来做我自己的的诱惑:)
并且添加 Michał Czernow 的 hack 使其在 IE7+ 中像魅力一样工作。
精彩的文章……和极好的工具!
干得好!
威尔
你可以在 WordPress 页面中做到这一点吗?
这能在 WordPress 中使用?!
当然,WordPress 并不介意你在前端做什么。但是,我不太明白如何在 WordPress 的 jQuery/no conflict 等中使脚本方面的工作?:)
来自本人回复!非常感谢!
我真的很喜欢这个演示,它很酷。我只想添加一两件事。
1:悬停效果
2:真正的 A 标签,以便在 :focus 时触发动画(是的,我有时确实会使用 Tab 键 ;-)
很酷的效果克里斯!非常方便,但并不适合所有人。
有一件事。如果禁用 JavaScript 时可以看到所有内容,那就太好了。
你希望网站对每个人都可用。
非常好的观点,我错过了,因为在没有 JavaScript 的情况下你无法看到任何内容。也许可以将框设置为一开始的完整视图,然后在就绪时将其更改为较小的状态?
我在文章中稍微介绍了一下可访问性。内容对屏幕阅读器是可访问的。但对于“关闭 JavaScript 的 CSS”的人来说,它是损坏的。如果你想修复它,你只需删除 CSS 中的 position absolute 启动页面内容,以及硬编码的宽度。对于关闭 JavaScript 的人来说,它看起来会很奇怪,而打开 JavaScript 的人则会在内容隐藏之前看到一个奇怪的闪动。如果你对这些问题无所谓,那就去做吧。
非常酷,我一直在寻找类似的东西。高度和宽度变化的手风琴对我来说一直很棘手。我仍然没有找到使其作为切换工作的方法。但这非常接近。
非常感谢.. 我已经找了很久了,终于找到了我想要的东西。
这太棒了……要是我有个项目能用上就好了 :)
超级教程.. 我要在我的主题上试试
非常棒的效果,在“比较这些产品”中会非常酷。不过我还有一个疑问,如果有人禁用了 Javascript,它会如何降级?
克里斯先生,感谢您提供这个精彩的教程,我来自尼日利亚,一直是您博客的忠实读者,我想提出一个特别请求,我恳求您,看在上帝的份上,能否制作一个此教程的屏幕录制视频,因为我真的需要它。再次感谢,并祝您一切顺利。
一个很棒的菜单,可以将网站地图提升到一个新的水平。印象深刻!!!
我爱你,哥们,你的作品真是太棒了,令人惊叹!
如此无私的人,拥有如此强大的动力。很难不渴望成为一个拥有如此天赋的人。
喜欢它!你真是太慷慨了,允许人们下载你的示例!
我试着玩了一下,注意到在黑色背景下,一些白色边框不见了。
见图… http://ftpwtf.au.com/lines.gif
我试过一些方法,但似乎无法找回它们!
谁能对此事提供一些线索?
此致敬礼!
啊!这太棒了。克里斯,你真厉害!
太棒了,克里斯!!
我被你的作品惊呆了!!.. .
(法国人,法语评论)
喜欢它,哥们。
简直太棒了。可以看到12种用途。
啊!必须马上找到客户使用案例!太棒了,谢谢!
而且难以置信的是,它在 IE6 中的动画效果比 IE8 好 :) 哦,天啊,IE9 的炒作最好能实现自身。
看起来很酷,克里斯。等不及要尝试了。感谢分享。
我尝试的第一件事是用方向键导航。我认为这将是下一步。
以及之前关于使用 CSS 而不用 Javascript 的评论,我赞同 +1,我不希望内容只能在启用 Javascript 的情况下才能访问。
我并不是完全批评,我真的很喜欢这个概念!
嗨,克里斯
再次感谢您的精彩作品。是否可以创建/复制/复制下面这个整个块,以便您可以拥有一个全新的类别,例如超级英雄动物?;-)
谢谢
乔纳森
我如何才能以不同的颜色来设置每列的样式???
这个效果绝对令人惊叹!!!我从印刷转向网络的一个原因。你无法在印刷中实现这种神奇的效果。
我现在真的很想找借口来实现它!
太酷了!
非常棒的效果。谢谢克里斯。
我发现的唯一问题是,它似乎在添加到网站中时(实际上,当我刚刚测试演示时)破坏了滚动条功能。不确定这是不是故意的,但我绞尽脑汁也想不出如何找回这个功能。
我大部分尝试都集中在“clear: both”上,但我可能完全走错了方向。有什么建议吗?
我刚发完邮件,就意识到了我犯了一个低级错误,没有检查 html 和 body 是否已设置为 height: 100% 和 overflow: hidden。
这真的很酷。我找了很久基于 css/jquery 的手风琴,但现有的解决方案都不适合我。
感谢分享,克里斯!我将在我的实际项目中使用它,这是一个拥有多个产品组的商店,用来解释他们正在销售什么。
非常感谢!
Oliver
这很有趣……我从来没有这样的需求,但如果我遇到了,我会记得回来这里……
非常感谢,我的朋友!
创建整个网页的绝佳工具。
致以美好的问候
thom
太棒了!这个菜单可以在数百万种情况下使用!
感谢您,并致以来自德国的问候
Flo
优秀的演示。通过添加完整的键盘支持(例如,向上和向下箭头)来提升它。
很棒的教程 :) 这可能是一种向小型企业展示员工的有趣方式。
我会保留此作为参考。
首先,我想感谢您提供这个很棒的教程和想法!从我第一次阅读它开始,我就无法将其从脑海中抹去。所以今天我正在尝试它。
第二,是否有“Michał Czernow”针对 IE 的解决方案的示例?我仍然没有理解那个修复程序。我是否应该删除 CSS3 并只使用旧的 CSS?
第三,当我添加额外的选项卡并在每个选项卡中包含超出屏幕显示范围的信息时,我没有获得滚动条或滚动到页面底部的功能。我的页脚会下移,但选项卡展开的内容会停在浏览器窗口的大小处。有什么想法可以解决这个问题吗?我更希望滚动整个网页,而不是为展开的选项卡添加滚动条溢出。此外,在较小的屏幕上,浏览器也不会显示侧边滚动条。因此,屏幕右侧的内容会被切掉。
谢谢,Mike
解决了第三个问题,就在我发布之后,哈哈。我从 body 中删除了 overflow hidden,然后我不得不更改并添加一些额外的 css 以在滚动时保持黑色背景。
Mike
不错,使用了 jquery。
很棒的界面!这可能比我想象的要容易:如何让第一个 info-col 在页面加载时展开?谢谢
选择您要开始的选项卡并将
更改为
Mike
好的,如果那样不起作用,请将 dt 更改为 dt id="starter"
哇,克里斯!这真的太棒了!感谢与我们分享!
关于如何实现 ie 修复的任何消息吗?不是类,而是评论中提到的解决方案?
太棒了,太棒了
哇,很酷的效果!谢谢克里斯,这真是一个很棒的效果。
在 FireFx 中非常好,但在 IE8 中存在闪烁效果。可能是点击事件的处理方式。
你好,
我在 http://jasondaydesign.com 使用这个。
我遇到一个问题。如果我添加一个缩略图,并将图像浮动到左侧或右侧,并且文本很少,则下面的 dt 元素间距不正确。当它的 dt 是活动元素时,缩略图最终会浮动到其他元素之上。
关于如何克服的建议?(我已经尝试过 div、类等)
非常棒的教程,兄弟,解释得很好,我按照它做了,效果很好。
非常感谢。
独特的视角。
非常感谢,这将非常有用!
很棒的 jQuery 使用方法,谢谢 Chris。如果许可证仍然有效,我将在未来将其用于一个我正在转换为 EXE 的 Web 应用程序中。
干杯
miike
你好,
有没有办法在第二次点击标题时关闭已打开的单元格?因此能够在不点击其他单元格的情况下切换单元格的打开和关闭。
谢谢
Matt
嘿,干得好!哇!但是一个问题:我插入了链接(用它作为站点地图),但它们不起作用。我该怎么做才能使它们工作?我使用常规的 <a href… 插入链接。
请,请,请你能给我一个解决方法吗?
干杯,ALI。
好的,不用了,我的一个好朋友帮我解决了(onClick…)。真可惜它在 IE8 上不起作用(有没有针对它的修复程序?)。
尽管如此:超级棒的作品,这正是我想要的。
再次感谢,并对重复发帖表示歉意。
ALI。
感谢你提供这个手风琴!
真的很酷!
我已将其用于一个网站
http://www.loudnproud.it
但是我的“dt” CSS 背景规则在 IE7 和 IE8 中不起作用。
在 Firefox 中,斜线背景显示正确,但所有 CSS 背景属性(如颜色和图像)在 IE 中均未读取。
我该如何解决这个问题?
你好!
我遇到了问题。我喜欢这个脚本,但也许你知道…
如何在第一个位置更改其他组的颜色?
dt:nth-of-type(2) { background: #ff7d3e; }
dd:nth-of-type(2) { background: #ff7d3e; }
就像这样……
dt1:nth-of-type(2) { background: #ff7d3e; }
dt2:nth-of-type(2) { background: #00000; }
我不知道如何更改 nth-of-type…感谢你的帮助 Reachelmax
如何在同一页面中多次使用它???