Target a specific css class with the same name as another css class in the same application?

时间:2016-08-31 18:49:34

标签: html css asp.net

In the Master page of my webform app I reference a .css file which contains a .tooltip class. All the pages in my web app use this master page. Now, in one particular page I am using a JQuery function that I got from a sample app, and this JQuery function uses a .tooltip class from a .css that came with the sample (which is different from the .tooltip class in the Master page of my web app). How can I use the .tooltip css class that came with the JQuery sample on this one page and ignore the .tooltip class from the Master page? I cannot modify the .tooltip class name from the JQuery sample, and it would be prohibitively time consuming to rename the .tooltip class from the Master page. What is the workaround for this?

Here is the css

style type="text/css">
    body
    {
        font-size: 10pt;
        font-family: Arial;
    }
    body
    {
        font-family: Arial;
        font-size: 10pt;
    }
    table
    {
        border: 1px solid #ccc;
    }
    table th
    {
        background-color: #F7F7F7;
        color: #333;
        font-weight: bold;
    }
    table th, table td
    {
        padding: 5px;
        border-color: #ccc;
    }
    .tooltip
    {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 3;
        display: none;
        background-color: #2840B8;
        color: White;
        padding: 5px;
        font-size: 10pt;
        font-family: Arial;
    }
    table td
    {
        cursor: pointer;
    }

    .hiddencol
      {
        display: none;
      }
</style>

4 个答案:

答案 0 :(得分:0)

由于您使用的是ASP.net,我假设您可以在Master页面/模板中添加几行代码。

在您的母版页/模板上,在链接到CSS文件的部分中,添加条件(if语句)以检查需要特殊CSS文件的特定页面的名称。

对于特定页面,添加指向附加CSS文件的链接,使其显示在标准CSS文件之后。

最底层CSS文件中的.tooltip规则将覆盖早期CSS文件中的规则,这可能会解决问题。

然后,如果tooptip出现在其他类和选择器的规则中,那么只需要注意,那么你可能必须确保早期CSS文件中的所有规则都在最底层的CSS中被覆盖文件。

答案 1 :(得分:0)

根据您用于生成这些HTML网页的内容,您可以排除该页面的ActiveSheet.Paste Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) 。要做到这一点:

  • 从主CSS中取出If Cells(Rows.Count, 1) <> "" Then ActiveSheet.Paste Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) Else MsgBox("Sheet " & ws.Name & " is full, row cannot be copied") End If 并将其放入自己的文件中。
  • 仅在您想要的页面中包含新的.tooltip CSS文件。

答案 2 :(得分:0)

一个解决方案可能是在除了这个特定页面之外的所有页面中向正文添加一个类,然后更改&#34; .tooltip&#34;的定义。 to&#34; .body-class .tooltip&#34;

这样,如果不存在body类,则工具提示规则不会影响任何内容。

答案 3 :(得分:0)

谢谢大家的回复。像往常一样,该应用程序处于“重新设计”模式,令人费解(巨大,......)。原始的css集成在一起,每个页面都必须看起来很相似(gov)。有没有办法我可以为这个JQuery函数定义css并使用它就像在div id =“someID”class =“something”......

然后我把JQuery放在这里?

该页面实际上是一个用户控件 - 包含在使用Master页面的.aspx页面中。 div也是如此...&gt;想法是一种我可以从主页面绕过.tooltip的方法吗? (.tooltip css包含在Master页面中引用的.css文件中。)