jquery-ui - jQuery UI 选项卡对齐并共享带有标题的栏

标签 jquery-ui

我想使用 jQuery UI 选项卡,但我需要选项卡右对齐……这很“简单”,因为我可以修改选项卡容器类并扩展它。

但问题是我想在左侧添加一个“标题”,如以下屏幕截图所示: http://cl.ly/400D0E3z0f272h1B3x3R

我怎样才能以干净的方式做到这一点?

(一种肮脏的方法可能是在 tabs 标签前添加/追加一个 div,动态添加 DOM...我正在寻找一种更干净的方法:)

提前谢谢

最佳答案

首先,动态向 dom 添加元素没有什么脏的:-)

其次,您可以简单地在标记中添加一个元素,例如 <h3> (让我们从语义上讲(假设您之前有过其他标题)):

<div id="tabs">
    <h3 class="ui-tab-title">My Title</h3>
    <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
        <li><a href="#tabs-3">Aenean lacinia</a></li>
    </ul>
    <div id="tabs-1">
    ...
</div>

并用 css 定位它:

/* float tab buttons to right */
.ui-tabs .ui-tabs-nav li { float: right !important; }

/* position:relative on container will make the title position:absolute relative to the container */
#tabs { position: relative; }

/* absolute position the title */
.ui-tab-title { position: absolute; left: 20px; top: 15px; }

这是一个jsfiddle来说明一下


编辑:

正如您所指出的,向右浮动 <li>颠倒它们的顺序。

您可以反转标记本身中列表项的顺序,但这会扰乱整个逻辑。

这是一段 css,用于右对齐选项卡按钮,同时保持标记和视觉顺序不变:

/* align right the <ul> container */
.ui-tabs .ui-tabs-nav { height: 2.35em; text-align: right; }

/* jquery ui css floats-left the <li> so un-float them */
.ui-tabs .ui-tabs-nav li { display: inline-block; float: none; }

我相应地改变了 fiddle 。

关于jquery-ui - jQuery UI 选项卡对齐并共享带有标题的栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8323579/

相关文章:

javascript - 根据复选框状态更改 jQuery UI 下拉菜单的背景颜色

javascript - 如何使用 Draggable 和 Selectable JQuery 将一个或多个项目拖动到一个元素

jquery - 如何将鼠标悬停在 jQuery UI 工具提示上而不丢失下面的 onHover 菜单

jquery - 删除 JQuery UI 选项卡中的填充

jquery - Google CDN for JS - 直接路径在哪里?

javascript - 仅突出显示悬停或放置到的可放置项

javascript - Qunit 失败并出现 TypeError : $ is not a function

jquery - 检测 jQueryUI 下的选项卡被选中

java - Jquery Load 函数不引用母版页脚本文件

javascript - 如何使用 JQuery 增加或减少 jquery slider 值?