jquery UI标签宽度100%

时间:2012-02-10 03:01:04

标签: jquery jquery-ui jquery-mobile

enter image description here我需要在我的应用程序中仅使用2个选项卡。所以我希望它们覆盖100%的宽度。目前它对齐左侧的两个表格,并在右侧留下所有类型的空白区域。我能做什么才能让我的两个标签覆盖100%的区域。 我正在使用jquery-ui-1.8.17.custom.css

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
    <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
        <link type="text/css" href="css/ui-lightness/jquery-ui-1.8.17.custom.css" rel="stylesheet" />   
        <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
        <script type="text/javascript" src="js/jquery-ui-1.8.17.custom.min.js"></script>
        <script type="text/javascript">

            $(function(){


                // Tabs
                $('#tabs').tabs();


            });
        </script>

    </head>
    <body>

    <div data-role="page">

    <div data-role="header">
        <h1>My Title</h1>
    </div><!-- /header -->

    <div data-role="content">   
            <div id="tabs">
            <ul>
                <li><a href="#tabs-1">First</a></li>
                <li><a href="#tabs-2">Second</a></li>

            </ul>
            <div id="tabs-1">Lorem ipsum dolor sit amet, 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.</div>
            <div id="tabs-2">Phasellus mattis tincidunt nibh. Cras orci urna, blandit id, pretium vel, aliquet ornare, felis. Maecenas scelerisque sem non nisl. Fusce sed lorem in enim dictum bibendum.</div>
                </div>

    </div><!-- /content -->

</div><!-- /page -->
        <!-- Tabs -->




    </body>
</html>

2 个答案:

答案 0 :(得分:14)

通过CSS设置:

.ui-tabs .ui-tabs-nav li {
    width:50%;
}

请注意,由于填充,边距和边框,您可能需要将其减少到50%以下。

更新:如果您希望将文本置于标签中心,则需要进行两次CSS更改(保持上述50%的更改)。

.ui-tabs .ui-tabs-nav li {
    width:50%;
    text-align: center;
}
.ui-tabs .ui-tabs-nav li a {
    display: inline-block;
    float: none;
    padding: 5px;
    text-decoration: none;
    width: 100%;
}

请注意,您可以根据需要调整填充。

答案 1 :(得分:1)

使用Flexbox,它更灵活,更轻松:

.ui-tabs .ui-tabs-nav {
    display: flex;
}

.ui-tabs .ui-tabs-nav li {
    flex: 1;
    display: flex;
    /* If placed in a small width sidebar or something like that disabling nowrap will fix the overflow issue */
    white-space: normal;
}

.ui-tabs .ui-tabs-nav li a {
    flex: 1;
    /* If you want to align tab titles center */
    text-align: center;
}

When the default jquery-ui tab is put on normal or larger width place

When it's put a on smaller width place