2014-12-13 44 views
0

我正在使用HTML_EXTRA_STYLESHEET選項來覆蓋默認的css規則。我可以輕鬆覆蓋一些規則,如span.mlabel。選擇項目.SREntry不能由於某種原因被覆蓋。在Firebug中,這就像我的新規則從來沒有存在過。無法覆蓋Doxygen中的搜索框css規則

CSS規則,我使用:

.SREntry { 
     font-size: 10pt; 
    } 

    span.mlabel { 
     font-size: 11pt; 
    } 

    .SelectItem { 
     font-size: 10pt; 
    } 

.SREntry負責格式化搜索框結果。它在search.css中定義,,似乎沒有規則可以被覆蓋。

,這是爲什麼我可以覆蓋doxygen.css定義的規則,而不是在search.css

[編輯] Link生成文檔。它使用具有上述規則的自定義css文件Custom.css

+0

嘗試使用!重要 – 2014-12-13 13:00:34

+0

你試過a.SelectItem嗎? – albert 2014-12-13 13:34:20

+0

@Sleek我試過_!重要_但沒有效果。 – metroidsnes 2014-12-15 14:17:54

回答

0

如果你看看更接近於通過在運行時search.js生成的html你會發現 <iframe id="MSearchResults">塊包含HTML文檔的另一部分與 自己的<head>部分。

這就是爲什麼你不能重寫這種風格。

<!-- 

HTML header for doxygen 1.8.7 

--> 

<!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" style="cursor: auto ! important;"> 

    <head> 
     ... removed some html here ... 
     <script src="search/search.js" type="text/javascript"></script> 
     <link type="text/css" rel="stylesheet" href="search/search.css"></link> 
     <link type="text/css" rel="stylesheet" href="custom.css"></link> 
    </head> 
    <body> 
     <div id="top"></div> 
     <div id="MSearchSelectWindow" onkeydown="return searchBox.OnSearchSelectKey(event)" onmouseout="return searchBox.OnSearchSelectHide()" onmouseover="return searchBox.OnSearchSelectShow()"></div> 
     <!-- 

     iframe showing the search results (closed by defa… 

     --> 
     <div id="MSearchResultsWindow" style="display: block; top: 182px; left: 236px;"> 
      <iframe id="MSearchResults" frameborder="0" name="MSearchResults" src="javascript:void(0)"> 
       #document 
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
        <html> 
         <head> 
          <title></title> 
          <meta content="text/xhtml;charset=UTF-8" http-equiv="Content-Type"></meta> 
          <meta content="Doxygen 1.8.7" name="generator"></meta> 
          <link href="search.css" type="text/css" rel="stylesheet"></link> 
          <script src="all_1.js" type="text/javascript"></script> 
          <script src="search.js" type="text/javascript"></script> 
         </head> 
         <body class="SRPage"> 

         ... and so on... 

您可與修改search.css不知何故,或使用 這種代碼在自定義的js文件與MutationObserver的setInterval基礎的解決方案解決這個問題。注意路徑中的../,你需要上一級才能找到正確的CSS。

var cssLink = "../custom.css" 

var searchDocument = document.getElementById("MSearchResults") 
        .contentWindow.document; 

var head = searchDocument.getElementsByTagName("head")[0]; 

var customStyle = searchDocument.createElement("link"); 
customStyle.setAttribute("href", cssLink); 
customStyle.setAttribute("type", "text/css"); 
customStyle.setAttribute("rel", "stylesheet"); 

head.appendChild(customStyle);