Проблема в хтмл коде

Статус
В этой теме нельзя размещать новые ответы.

[iq]

Профессор
Регистрация
17 Июл 2007
Сообщения
201
Реакции
45
Возникла проблема. Делал когда-то шаблон для дле под определенное разрешение экрана(1024*768).
Сейчас решил сделать центровку сайта. Хотел просто засунуть все тупо в таблицу из одной строки и трех столбцов + малюсенький ява-скрипт.

Но, возникла проблема если я уже в таблцу(в центральный столбец) вставляю предыдущию код, то у меня появляется ошибка в ие - расползается все по экрану.
Решил поюзать дримфьюер. Он показал ошибку - но как ее исправить не понимаю, т.к. все теги правильно, друг за дружкой закрываются.
Прошу помочь.

Вот код, main.tpl
Код:
<!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">
<head>
{headers}
<style type="text/css" media="all">
@import url({THEME}/css/style.css);
</style>
<style type="text/css" media="all">
@import url({THEME}/css/engine.css);
</style>
<script type="text/javascript">
  jsHover = function() {
    var hEls = document.getElementById("nav").getElementsByTagName("LI");
    for (var i=0, len=hEls.length; i<len; i++) {
      hEls[i].onmouseover=function() { this.className+=" jshover"; }
      hEls[i].onmouseout=function() { this.className=this.className.replace(" jshover", ""); }
    }
  }
  if (window.attachEvent && navigator.userAgent.indexOf("Opera")==-1) window.attachEvent("onload", jsHover);
</script>
</head>
<body>
<script language=javascript>
if(screen.width==800 || screen.width==640)
{
  var h="5";
}
else
{
  var h="(screen.width-933)*0.5";
}
</script>

{AJAX}
<table width="100%" border="0" cellspacing="0" cellpadding="0">
	<script language=javascript>document.write("<td width='"+h+"'>")</script>&nbsp;</td>


	<td width="993">
		<table width="993" border="0" cellspacing="0" cellpadding="0">
		  <tr>
			  <td  valign="top" width="292" height="695" background="{THEME}/images/kvadrat.jpg">
				  <div id="layer0">
					  <img src="{THEME}/images/shapka.jpg" width="292" height="201" border="0"/>
					  {login}
					  <div class="img_nad_trans"><img src="{THEME}/images/line12.jpg" height="56" width="271" border="0"/></div>
					  <form method="post" onsubmit="javascript:showBusyLayer()" action=''>
						  <div id="layer1">
							  <div class="search_img"><img src="{THEME}/images/search.jpg" height="36" width="109"border="0"/></div>
							  <div class="search_post">	
											  <input type="hidden" name="do" value="search" />
											  <input type="hidden" name="subaction" value="search" />
											  <input name="story" type="text" class="a_field" style="width:104px" />
											  <input type="image" src="{THEME}/images/search.png" border="0"  alt="Найти на сайте" align="absmiddle">
							  </div>
							  <div class="search2_img"><img src="{THEME}/images/trans.jpg" height="112" width="91" border="0"/></div>
							  <div class="line6">&nbsp;</div>
							  <div class="img_pod_trans"><img src="{THEME}/images/shestirenka2.jpg" height="93" width="188" border="0"/></div>
							  <div class="o_nas"><img src="{THEME}/images/o_nas.jpg" height="31" width="149" border="0" /></div>
						  </div>
					  </form>
					  <div id="layer2">
						<table width="100%" border="0" cellspacing="0" cellpadding="0">
						 <tr><td background="{THEME}/images/img_gradient2.jpg" height="196" class="clients_text" valign="top"></td></tr>
						</table>
					  </div>
				  </div>
			  </td>
			  <td valign="top" width="2" bgcolor="#0055BC" >
				<div class="polosa_shapka"></div>
				<div class="sdvig"></div>
			  </td>
		      <td rowspan="2" valign="top" background="{THEME}/images/11pix.jpg">
				  <table width="100%" border="0" cellspacing="0" cellpadding="0">
				  <tr>
					<td background="{THEME}/images/11pix.jpg">
						<table width="100%" border="0" cellspacing="0" cellpadding="0">
							<tr><td><img src="{THEME}/images/image00.jpg" border="0" width="704" height="160"/></td></tr>
						</table>
						<div id="menu">
							<table width="100%" border="0" cellspacing="0" cellpadding="0" class="menu_link">
							   <tr>
								  <td>
									  <ul id="nav">
									  <li><a href="/">Главная<br />&nbsp;</a></li>
									  <li><a href="/">Конструкторские разработки</a></li>
									  <li><a href="/">Оборудование (продукция)</a>
										<ul>
										  <li><A href="***/2007/11/12/oborudovanie-dlja-pererabotki-ryby-i.html">Оборудование для  переработки рыбы и морепродуктов</A></li>
											  <li><A href="***/2007/11/11/oborudovanie-dlja-pererabotki-mjasa.html">Оборудование для  переработки мяса</a></li>
											  <li><A href="***/2007/11/12/oborudovanie-dlja-pererabotki-ovoshhejj.html">Оборудование для  переработки овощей и фруктов</a></li>
											  <li><A href="***/main/246-zapasnye-chasti-i-komplektujushhie.html">Запасные части и комплектующие</A>
											  <li><A href="***/">Прочее оборудование</A>
										 <ul>
															 <li><A href="***/2007/11/12/oborudovanie-dlja-obrabotki-listovogo.html">Оборудование для  обработки листового металла и изготовления металлопрофиля</a></li>
															 <li><A href="***/2008/02/05/kommercheskoe-predlozhenie-po-linijam.html">Коммерческое предложение по линиям</a></li>
										 </ul></li>
											  <li><A href="***/">Контроль качества</A></li>
										</ul>
									  </li>
									  <li><a href="/">Производство<br />&nbsp;</a>
										 <ul>
										   <li><A href="***/">Технологии и качество</A></li>
										   <li><A href="***/main/299-jetapy-proizvodstva-video.html">Этапы производства (видео)</A></li>
												 </ul>
									  </li>
											 <li><A href="/#">О компании<br />&nbsp;</A>
										 <ul>
										   <li><A href="***/2007/11/13/o-kompanii.html">О нас</A></li>
										   <li><A class="menu" href="***/2007/10/23/informacija-dlja-akcionerov.html">Акционерам</A></li>
												   <li><A href="***">Участие в выставках</A></li>
												   <li><A href="***/2008/01/29/diplomy-nagrady.html">Дипломы, награды</A></li>
												   <li><A href="***">Персонал</A></li>
												   <li><A href="***/main/244-kontakty.html">Контакты</A></li>
										 </ul>
										 </li>
									  </li>
									  </ul>
								  </td>
						       </tr>
							</table>
						</div>		
					</td>
				  </tr>
				  </table>
				  <div id="layer3">
						<p align="right"><a href="***/"><img src="{THEME}/images/United_Kingdom.png" width="28" height="17"  border="0" /></a>&nbsp;&nbsp;<a href="***/"><img src="{THEME}/images/Germany.png"  width="28" height="17"  border="0" /></a>&nbsp;&nbsp;</p>
						<p>{info}{content}</p>
				  </div>
			  </td>
		  </tr>
		  <tr></tr>
		  <tr>
			<td background="{THEME}/images/kvadrat.jpg" >&nbsp;</td>
			<td background="{THEME}/images/kvadrat.jpg">  
				<td valign="top" background="{THEME}/images/11pix.jpg">
					<div id="niz">
						<div class="niz_logo"><img src="{THEME}/images/logo2.jpg" height="53" width="48" border="0" /></div>
						<div class="niz_line">ОАО *** 2007-2008</div>
				   </div>
				</td>
			</td>
		  </tr>
		</table>
	</td>

	<script language=javascript>document.write("<td width='"+h+"'>")</script>&nbsp;</td>
</table>
</body>
</html>

Не пинайте на корявость верстки, укажите ошибку.
 
А какую ошибку Дримвейвер выдает?
 
Он подсвечивает
<td width="993">
и
</td>(вот этот тд)
</tr>
</table>
</td>
<td width="5">&nbsp;</td>
 
Ну так конечно...
У тебя там идет открывающийся тег таблицы и сразу за ним закрывающийся тег td-шки (которая до этого не открывается).

К тому же, tr-ки в первой таблице нет вообще.

А в конце - наоборот, тег <td> два раза закрывается, хотя открыт он был только один раз. Может быть, и еще где-то есть такие огрехи.

Короче говоря, проверь соответствие открывающих и закрывающих тегов по всей таблице.

А еще лучше (и легче) - сделай страницу с нуля в том же Дримвейвере.
 
Точно. Нарушил принцип вложенности HTML тегов. Переверстай заново в Dreamweaver.
матчасть:
<table>
<tr><td></td><td></td></tr>
<tr><td></td><td></td></tr>
</table>
Вынес закрывающий тег за пределы родительского - таблица поплыла.
 
Да тр не важен. Там можно и одну строку так сделать. Верстать заново - нет.
А про очередность закрытия знаю, просто вчера сидел 1-2 часа и не увидел...глаза привыкли уж к коду.
сегодня постараюсь еще.
 
Как вариант, попробуй показать html код какому-нибудь валидатору (Для просмотра ссылки Войди или Зарегистрируйся), возможно он укажет на ошибку.
 
Ну так конечно...
У тебя там идет открывающийся тег таблицы и сразу за ним закрывающийся тег td-шки (которая до этого не открывается).
Где? Если ты про самую главную таблицу и тот тд. То там вообще ява скрипт и все нормально там закрывается(если убрать яваскрипты ошибка все равно остается).
 
у тебя не закрыто:
</td></tr></table></td></table></td></tr></tr></table>

Добавлено через 4 минуты
Если не хочешь переделывать, тогда делай так: сделай в дриме новый файл, и открой свой, из main вырезай таблицы по вложенности, вставляй в новый файл...
и смотри на вставленный код, если появились не закрытые теги - сразу лечи.
А а вообще много на дивах проще сделать.
И внимательней будь ))

Добавлено через 12 минут
Вот, чет должно быть тип этого:
Код:
<!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">
<head>
{headers}
<style type="text/css" media="all">
@import url({THEME}/css/style.css);
</style>
<style type="text/css" media="all">
@import url({THEME}/css/engine.css);
</style>
<script type="text/javascript">
  jsHover = function() {
    var hEls = document.getElementById("nav").getElementsByTagName("LI");
    for (var i=0, len=hEls.length; i<len; i++) {
      hEls[i].onmouseover=function() { this.className+=" jshover"; }
      hEls[i].onmouseout=function() { this.className=this.className.replace(" jshover", ""); }
    }
  }
  if (window.attachEvent && navigator.userAgent.indexOf("Opera")==-1) window.attachEvent("onload", jsHover);
</script>
</head>
<body>
<script language=javascript>
if(screen.width==800 || screen.width==640)
{
  var h="5";
}
else
{
  var h="(screen.width-933)*0.5";
}
</script>

{AJAX}
<table width="100%" border="0" cellspacing="0" cellpadding="0">
	<script language=javascript>document.write("<td width='"+h+"'>")</script>&nbsp;<tr>
	  <td>      
	  </td>


	<tr>
	  <td width="993">&nbsp;<table width="993" border="0" cellspacing="0" cellpadding="0">
		  <tr>
			  <td  valign="top" width="292" height="695" background="{THEME}/images/kvadrat.jpg">
				  <div id="layer0">
					  <img src="{THEME}/images/shapka.jpg" width="292" height="201" border="0"/>
					  {login}
					  <div class="img_nad_trans"><img src="{THEME}/images/line12.jpg" height="56" width="271" border="0"/></div>
				    <form method="post" onsubmit="javascript:showBusyLayer()" action=''>
						  <div id="layer1">
							  <div class="search_img"><img src="{THEME}/images/search.jpg" height="36" width="109"border="0"/></div>
							  <div class="search_post">	
											  <input type="hidden" name="do" value="search" />
											  <input type="hidden" name="subaction" value="search" />
											  <input name="story" type="text" class="a_field" style="width:104px" />
											  <input type="image" src="{THEME}/images/search.png" border="0"  alt="Найти на сайте" align="absmiddle">
							  </div>
							  <div class="search2_img"><img src="{THEME}/images/trans.jpg" height="112" width="91" border="0"/></div>
							  <div class="line6">&nbsp;<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td background="{THEME}/images/img_gradient2.jpg" height="196" class="clients_text" valign="top"></td>
  </tr>
</table></div>
							  <div class="img_pod_trans"><img src="{THEME}/images/shestirenka2.jpg" height="93" width="188" border="0"/></div>
							  <div class="o_nas"><img src="{THEME}/images/o_nas.jpg" height="31" width="149" border="0" /></div>
						  </div>
				    </form>
					  <div id="layer2"></div>
				  </div>
			  </td>
			  <td valign="top" width="2" bgcolor="#0055BC" >
				<div class="polosa_shapka"></div>
				<div class="sdvig"></div>
			  </td>
		      <td rowspan="2" valign="top" background="{THEME}/images/11pix.jpg">
				  <table width="100%" border="0" cellspacing="0" cellpadding="0">
				  <tr>
					<td background="{THEME}/images/11pix.jpg">
						<table width="100%" border="0" cellspacing="0" cellpadding="0">
							<tr><td><img src="{THEME}/images/image00.jpg" border="0" width="704" height="160"/></td></tr>
						</table></td></tr></table>

</td></tr></table></td>
	  <td width="993">
		
						<div id="menu">
							<table width="100%" border="0" cellspacing="0" cellpadding="0" class="menu_link">
							   <tr>
								  <td>
									  <ul id="nav">
									  <li><a href="/">Главная<br />&nbsp;</a></li>
									  <li><a href="/">Конструкторские разработки</a></li>
									  <li><a href="/">Оборудование (продукция)</a>
										<ul>
										  <li><A href="***/2007/11/12/oborudovanie-dlja-pererabotki-ryby-i.html">Оборудование для  переработки рыбы и морепродуктов</A></li>
											  <li><A href="***/2007/11/11/oborudovanie-dlja-pererabotki-mjasa.html">Оборудование для  переработки мяса</a></li>
											  <li><A href="***/2007/11/12/oborudovanie-dlja-pererabotki-ovoshhejj.html">Оборудование для  переработки овощей и фруктов</a></li>
											  <li><A href="***/main/246-zapasnye-chasti-i-komplektujushhie.html">Запасные части и комплектующие</A>
											  <li><A href="***/">Прочее оборудование</A>
										 <ul>
															 <li><A href="***/2007/11/12/oborudovanie-dlja-obrabotki-listovogo.html">Оборудование для  обработки листового металла и изготовления металлопрофиля</a></li>
															 <li><A href="***/2008/02/05/kommercheskoe-predlozhenie-po-linijam.html">Коммерческое предложение по линиям</a></li>
										 </ul></li>
											  <li><A href="***/">Контроль качества</A></li>
										</ul>
									  </li>
									  <li><a href="/">Производство<br />&nbsp;</a>
										 <ul>
										   <li><A href="***/">Технологии и качество</A></li>
										   <li><A href="***/main/299-jetapy-proizvodstva-video.html">Этапы производства (видео)</A></li>
												 </ul>
									  </li>
											 <li><A href="/#">О компании<br />&nbsp;</A>
										 <ul>
										   <li><A href="***/2007/11/13/o-kompanii.html">О нас</A></li>
										   <li><A class="menu" href="***/2007/10/23/informacija-dlja-akcionerov.html">Акционерам</A></li>
												   <li><A href="***">Участие в выставках</A></li>
												   <li><A href="***/2008/01/29/diplomy-nagrady.html">Дипломы, награды</A></li>
												   <li><A href="***">Персонал</A></li>
												   <li><A href="***/main/244-kontakty.html">Контакты</A></li>
										 </ul>
										 </li>
									  </li>
									  </ul>								  </td>
						       </tr>
							</table>
						</div>					</td>
				  </tr>
				  </table>
				  <div id="layer3">
						<p align="right"><a href="***/"><img src="{THEME}/images/United_Kingdom.png" width="28" height="17"  border="0" /></a>&nbsp;&nbsp;<a href="***/"><img src="{THEME}/images/Germany.png"  width="28" height="17"  border="0" /></a>&nbsp;&nbsp;</p>
						<p>{info}{content}</p>
				  </div>
			  </td>
		  </tr>
		  <tr></tr>
		  <tr>
			<td background="{THEME}/images/kvadrat.jpg" >&nbsp;</td>
			<td background="{THEME}/images/kvadrat.jpg">  
			<td valign="top" background="{THEME}/images/11pix.jpg">
					<div id="niz">
						<div class="niz_logo"><img src="{THEME}/images/logo2.jpg" height="53" width="48" border="0" /></div>
						<div class="niz_line">ОАО *** 2007-2008</div>
				   </div>
			</td>
			</td>
		  </tr>
		</table>
	</td>

	<script language=javascript>document.write("<td width='"+h+"'>")</script>&nbsp;</td>
</table>
</body>
</html>
 
  • Заблокирован
  • #10
Вот, чет должно быть тип этого:
А это что такое? :D
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<script language=javascript>document.write("<td width='"+h+"'>")</script>&nbsp;<tr>
<td>
</td>
Получается:
<table width="100%">
<td width="h">
<tr>
<td></td>
Первое что бросилось в глаза, остальное не смотрел.

Для iq:
Не пинайте на корявость верстки, укажите ошибку.
Ошибка в корявости верстки.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху