用于标签页和同一页面上的进度条的JQuery UI不同的CSS

时间:2009-11-11 15:37:39

标签: jquery css jquery-ui

我正在尝试将JQueryUI进度条添加到已经在其上设置了JQueryUI选项卡的页面。选项卡窗格和选项卡的外观已通过CSS设置。其中一个CSS值 .ui-widget-header 也用于进度条。

如何让进度条使用与此已定义的CSS样式不同的定义来使标签正确显示?

具体来说,我认为我需要在.ui-widget-header样式中修改border属性。看起来我可以用CSS做一些特定于ID的标签,但我不知道如何实现这一点。

以下是显示问题的示例HTML文件。我希望标签的样式与当前的样式相同,但希望进度条的样式不同(全边框,实心进度表)。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/base/jquery-ui.css" type="text/css" />
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js"></script>
    <title>Test</title>
  </head>
  <body>
<script type="text/javascript" language="javascript">
<!--
//Tabs
$(function(){
    $('#tabs').tabs();
    $("#progressbar").progressbar({ value: 0 });
    setTimeout(updateProgress, 500);
});

function updateProgress() {
  var progress;
  progress = $("#progressbar")
    .progressbar("option","value");
  if (progress < 100) {
      $("#progressbar")
        .progressbar("option", "value", progress + 1);
      setTimeout(updateProgress, 500);
  }
}
// -->
</script>
<style type="text/css">
.ui-widget { font-family: Arial, sans-serif; font-size: 1.1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Arial, sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #ffffff; background: #ffffff}
.ui-widget-content a { color: #333333; }
.ui-widget-header { border: 1px solid #FFFFFF; border-bottom:solid 1px #056B2E; background:none; font-weight:normal;}
 </style>
  <div id="bodycontent">
    <!-- Tabs -->
    <div id="tabs">
      <ul>
        <li><a href="#tabs-1">test 1</a></li>
        <li><a href="#tabs-2">test 2</a></li>
      </ul>
      <div id="tabs-1">
        Test 1 Content
      </div>
      <div id="tabs-2">
        Test 2 Content
      </div>
    </div>
    <br/>
    <br/>
    <div id="progressbar"></div>
  </div>
  </body>
</html>

2 个答案:

答案 0 :(得分:1)

您可以通过简单地将 >引用到UI样式后覆盖UI样式。进度条的类是

ui-progressbar-value ui-widget-header ui-corner-left

在你的样式表中,你可以输入:

ui-progressbar-value ui-widget-header {border:1px solid #000000}

这应该超越UI风格。

答案 1 :(得分:0)

我能够通过使用ID选择器添加这些CSS条目来覆盖我的进度条ID中的那些值,从而获得所需的行为:

div#progressbar.ui-widget-content { border: 1px solid #000000; background:none; font-weight:normal;}
div#progressbar .ui-widget-header { border: 1px solid #000000; background:none; font-weight:normal;}
div#progressbar .ui-progressbar-value {background:#008B3A;}