Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do I get rid of the gap left by an relative positioned div in Firefox?
    primarykey
    data
    text
    <p>My basic idea is to just a div for highlighting lines.</p> <p>For IE it works great. However, in FF I am having a problem. Is there a standards way people use to do that same function?</p> <p>I have to switch the highlight div to relative to make the positioning work in FF, but then there is an extra gap before the first line when a line is highlighted. </p> <p>I am hoping some CSS/JavaScript expert has a workaround. Also, if there is some normal standards way to do let me know. I will use that.</p> <p>Here is a code sample:</p> <pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> &lt;html> &lt;head> &lt;script type="text/javascript" language="JavaScript"> function firstChildC(startNode) { var nextNode = startNode.firstChild; while(nextNode.nodeType != 1) //loop until it is an actual tag, not white space nextNode = nextNode.nextSibling; return nextNode; } var bFirefox = false; if (navigator.userAgent.indexOf("Firefox") != -1) bFirefox = true; function highlightPosition(event) { //gets the td that holds the pre tag, which holds the data var preTag; if(bFirefox) preTag = event.target; else preTag = event.srcElement; var containerOfPreTag = preTag.parentNode; var lineCountTD = firstChildC(containerOfPreTag.parentNode); var numLines = parseInt(lineCountTD.innerHTML); var lineHeight = preTag.offsetHeight/numLines; //find line to highlight var currentLine; if(bFirefox) currentLine = parseInt(event.layerY / lineHeight); else currentLine = parseInt(event.offsetY / lineHeight); //highlight line var highlighterDiv = firstChildC(containerOfPreTag); highlightLine(highlighterDiv,0,containerOfPreTag.offsetWidth, (lineHeight*currentLine), lineHeight); return 0; } function highlightLine(highlighterDiv, left, width, top, height) { highlighterDiv.style.display = "block"; if(bFirefox) highlighterDiv.style.position = "relative"; highlighterDiv.style.left = left+"px"; highlighterDiv.style.width = width+"px"; highlighterDiv.style.top = top+"px"; highlighterDiv.style.height = height+"px"; } &lt;/script> &lt;/head> &lt;body id="page_body"> &lt;div id="section_content" style="overflow:auto; width:100%;"> &lt;table border="0" cellpadding="0" cellspacing="0" width="100%" style="line-height:1.1em"> &lt;tr> &lt;td style="display:none;"> 22 &lt;/td> &lt;td style="width: 0px; vertical-align: top;"> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;div style='text-align: center; display:block;height: 1.1em; width: 1.1em'> &lt;img style='height: 0.8em; width: 0.8em'/> &lt;/div> &lt;/td> &lt;td style="font-size:100%;position:relative;"> &lt;div style="height: 1.1em; background-color: #f7fa81; position: absolute; z-index:-1"> &lt;/div> &lt;PRE style="margin: 0px; border: 1px solid #ff0000" onmousemove="highlightPosition(event);">THIS IS PAGE 01. LINE 01. THIS IS PAGE 01. LINE 02. THIS IS PAGE 01. LINE 03. THIS IS PAGE 01. LINE 04. THIS IS PAGE 01. LINE 05. THIS IS PAGE 01. LINE 06. THIS IS PAGE 01. LINE 07. THIS IS PAGE 01. LINE 08. THIS IS PAGE 01. LINE 09. THIS IS PAGE 01. LINE 10. THIS IS PAGE 01. LINE 11. THIS IS PAGE 01. LINE 12. THIS IS PAGE 01. LINE 13. THIS IS PAGE 01. LINE 14. THIS IS PAGE 01. LINE 15. THIS IS PAGE 01. LINE 16. THIS IS PAGE 01. LINE 17. THIS IS PAGE 01. LINE 18. THIS IS PAGE 01. LINE 19. THIS IS PAGE 01. LINE 20. THIS IS PAGE 01. LINE 21. THIS IS PAGE 01. LINE 22.&lt;/PRE> &lt;/td> &lt;/tr> &lt;/table> &lt;/div> &lt;/body> &lt;/html> </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload