Как удалить лишние пробелы, которые создает в IE предварительно созданный код javascript Dreamweaver

Я использовал предустановленные фрагменты кода JavaScript Dreamweaver, чтобы создать несколько ролловеров для панели навигации @ http://www.skyboxlabs.com.

Забавно - панель навигации отлично выглядит (без дополнительных пробелов) во всех браузерах... кроме Internet Explorer.

Код javascript, похоже, добавляет в IE лишние пробелы. Я попытался отключить Javascript, и проблема исчезла, поэтому я знаю, что это как-то связано с предустановленным кодом Dreamweaver.

Я использовал сайт ниже, чтобы проверить его в разных браузерах. Очень полезно. Вы можете видеть, как версия IE9 отображает пустое пространство под элементами TD, которые содержат javascript.

http://netrenderer.com/index.php

Очевидно, ценю любые советы о том, как я могу удалить это лишнее пустое пространство в IE9 — это может помочь объяснить проблемы с javascript Dreamweaver и то, как он влияет на макет.

Заранее спасибо всем, кто зашел так далеко со мной :)

Ниже приведен код для 1) таблицы панели навигации в HTML, 2) внешнего файла Javascript и 3) CSS.

Рассматриваемая панель навигации находится под основным изображением заголовка и имеет четыре кнопки: «о», «вакансии», «руководство» и «местоположение».

// HTML-документ

</head>

<!-- HEADER IMAGE AND NAVIGATION BAR -->
<body onload="MM_preloadImages('images/nav_mouseover_LEADERSHIP.gif','images/nav_mouseover_JOBS.gif','images/nav_mouseover_LOCATION.gif')">
<div id = "bgtop">
<table width="960" border="0" align="center">
        <tr>
            <td><img src="images/header_ABOUT.jpg" width="960" height="240" alt="about" /></td>
        </tr>
        </table>
        </div>

         <div id = "greyBackground">  
  <table class = "buttons" width="960" border="0" align="center">          
        <tr>
        <td width = 160 >

          </td>

          <td width = 80><img src="images/nav_selected_ABOUT.gif" width="80" height="25" alt="about" /></td>
              <td width = 160>
          <a href="leadership.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('leadership','','images/nav_mouseover_LEADERSHIP.gif',1)"><img src="images/nav_static_LEADERSHIP.gif" alt="leadership" name="leadership" width="160" height="25" border="0" id="leadership" /></a></td>
                <td width = 80>
                <a href="jobs.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Jobs','','images/nav_mouseover_JOBS.gif',1)"><img src="images/nav_static_JOBS.gif" alt="Jobs" name="Jobs" width="80" height="25" border="0" id="Jobs" /></a></td>
                <td width = 80>
                <img src="images/nav_static_JOBS_bumper_right.gif" width="160" height="25" /></td>

                <td width = 160>
            <a href="location.php" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('location','','images/nav_mouseover_LOCATION.gif',1)"><img src="images/nav_static_LOCATION.gif" alt="location" name="location" width="160" height="25" border="0" id="location" /></a></td>
            <td>
            <img src="images/nav_static_LOCATION_bumper_right.gif" width="160" height="25" /></td>
        </tr>
    </table>

// Документ JavaScript

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr;
   for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) 
   x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document;
  if(d.images){ 
    if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
     for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){
             d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
             }
        }
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;
    if(!d) d=document;
     if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments;
   document.MM_sr=new Array;
    for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x;
    if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];
    }
}

// CSS-документ

body {
    margin: 0px;
}

html, table, tr, td
 {
    padding: 0;
    border: 0;
    font-family: Tahoma, Geneva, sans-serif;
    font-size: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    vertical-align: baseline;
    margin-top: 0px;    
}

footer, header, hgroup, menu, nav, section 
{
    display: block;
}

ol, ul {
    list-style: disc;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    background-color: #fff;
}
#footer
{
    color:#9D0000;
}
#footerTitle
{
    color: #9D0000 ;
    font-weight: bold;
}

.buttons 
{
 padding: 0; border-collapse: collapse; border: 0;
}
.buttons img {
    display: block;
}
.title
{
font-weight:bold;
}

/* BACKGROUNDS */

#bgtop{
    background-image: url(images/gridBackground.gif);
}

#greyBackground{
background-image: url(images/greyBackground.gif);
background-repeat:repeat-y;     
/*  background-color: bfbfbf; */
}
#foot
{
background-image: url(images/footerGradient.gif);   
}

.img{  
display:block;  
}  

person dmacneil    schedule 05.03.2012    source источник


Ответы (1)


Internet Explorer может автоматически добавлять некоторые поля, поскольку ваша разметка недействительно. Исправьте проблемы, перечисленные в ссылке, и посмотрите, улучшится ли поведение IE. Если нет, то подумайте о явном объявлении нулевых полей и отступов для элементов ячеек таблицы и тегов img.

person JCL1178    schedule 07.04.2012