Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Цикл for, дублируем div'ы (https://javascript.ru/forum/server/8338-cikl-dubliruem-div%27y.html)

Jekel 20.03.2010 03:40

Цикл for, дублируем div'ы
 
Надо чтобы все дивы заполнили выше показаную таблицу которая расположена по центру экрана. Помогите пожалуйста((( они походу все там есть но она в углу все
Как их относительно таблицы позиционировать? Они сейчас вроде относительно body позиционируются

<?php
for ($x=0; $x<=11; $x++){
	for ($y=0; $y<=11; $y++){
		$mapelements.="<div style='position: absolute; left:".($x*50)."; top:".($y*50)."; width:50px; height:50px; background-color:#CCCCCC' id='x".$x."y".$y."'></div>";
	}
}
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<link rel="stylesheet" type="text/css" href="style.css" />
<script language="javascript" type="text/javascript" src="code.js"></script>
</head>
<body>
<table width="550" height="550" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="left" valign="top" bgcolor="#FFFFCC"><?php echo $mapelements;?></td>
  </tr>
</table>
</body>
</html>

Вот так оно выглядит при запуске (скрин обрезан, эта рамка по центру экрана)

Jekel 20.03.2010 11:24

не...ну это капец...оно должно 121 div вывести на экран

Shaci 20.03.2010 13:15

Они есть, но вырваны из потока и позиционированны относительно body, вроде

Shaci 20.03.2010 13:22

<?php
for ($x=0; $x<=11; $x++){//поменять на это!!!
	for ($y=0; $y<=11; $y++){////поменять на это!!!
		$mapelements.="<div style='position: absolute; left:".($x*50)."; top:".($y*50)."; width:50px; height:50px; background-color:#CCCCCC' id='x".$x."y".$y."'></div>";
	}
}
?>

<table width="550" height="550" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td style = "position:absolute" align="left" valign="top" bgcolor="#FFFFCC"><?php echo $mapelements;?></td>
  </tr>
</table>

попробуйте так
Правда, не знаю, можно ли так ячейку позиционировать, может туда div засунуть, и его спозиционировать

Jekel 20.03.2010 16:19

не работает( Правил первую мессагу, теперь понятнее все...помогите(

Shaci 20.03.2010 16:51

у меня работает,
<td style = "position:absolute" поставьте,
я правда не знаю, можно ли так:-?
p.s.
пойду учить верстку дальше

Jekel 20.03.2010 17:04

все, разобрался
$mapelements.="<div style='float:left; position:relative; left:".($x*50)."; top:".($y*50)."; width:50px; height:50px; background-color:#CCCCCC' id='x".$x."y".$y."'></div>";

<td align="left" valign="top" bgcolor="#FFFFCC"><div style='float:left; position:relative; left:0; top:0; width:600px; height:600px;'><?php echo $mapelements;?></div></td>

subzey 20.03.2010 17:14

Цитата:

Сообщение от Jekel
Код:

…; left:".($x*50)."; top:".($y*50).";

Код:

…; left:".($x*50)."px; top:".($y*50)."px;
С единицами измерения же! 50 — чего, процентов, пикселей, высот строки, сантиметров?

Shaci 20.03.2010 18:00

Цитата:

Сообщение от Jekel (Сообщение 48388)
все, разобрался

Методом тыка??
как надо было эти дивы располагать, по горизонтали или вертикали?
Вообще ваш цикл их располагает по вертикали
Если вы используете float и хотите расположить их по горизонтали, так зачем вот эта строка
position:relative; в divах, которые заполняют внешний div
и вот эта float:left; во внешнем divе...


Часовой пояс GMT +3, время: 12:31.