{section name=i loop=$array}
<div class="{if $smarty.section.i.index is div by 3 and $smarty.section.i.index > 0}class_list_cls{else}class_list{/if}">
<a href="blablabla">ssilka</a>
</div>
{/section}
Smarty по разному работает в разных браузерах
Код:
В ie, opera выводит по 3 в ряд, в мозиле по 4 в ряд и короче всегда как рулетка, как повезет так и кажет.
И ссылка в 1м квадрате не работает в мозиле. В ие работает.
Просмотр html кода на первый, второй и уже помоему тридцатый раз все норм. Копирование исходного кода страницы в другой html файл - и все работает.
Хелп!
Код:
.class_list {
position: relative;
width: 250px;
height: 300px;
float: left;
}
.class_list_cls{
position: relative;
width: 250px;
height: 300px;
float: clear;
}
position: relative;
width: 250px;
height: 300px;
float: left;
}
.class_list_cls{
position: relative;
width: 250px;
height: 300px;
float: clear;
}
Smarty так-то на сервере работает, а не в браузере.
но похоже ошибки в css, и лезут какие то конфликты. Перекинул все на таблицы вместо дивов и все работает...
вобщем так и не понятно с чем связано.
Переделай класс class_list_cls так:
Код:
clear: left;
float: left;
height: 300px;
position: relative;
width: 250px;
float: left;
height: 300px;
position: relative;
width: 250px;
Просто условие переделай немного:
Код:
if $smarty.section.i.index is div by 3 or $smarty.section.i.index eq 0
// Не помню точно, но кажется в smarty eq - знак равенства
// Не помню точно, но кажется в smarty eq - знак равенства
Вобщем, в финале получилось такое (обрати внимание на стили, бордюр и маргин сделал для наглядности)
Код:
<html>
<head>
<style>
div.class_list, .class_list_cls {
position: relative;
width: 250px;
height: 300px;
float: left;
border: 1px solid black;
margin: 1px;
}
.class_list_cls{
clear: left;
}
</style>
</head>
<body>
<script>
var b = document.body;
for(var i=0; i<100; i++){
var d = document.createElement('div');
if(i%3==0 || i==0){
var cl = 'class_list_cls';
}else{
var cl = 'class_list';
}
d.setAttribute('class', cl);
d.innerHTML = i;
b.appendChild(d);
}
</script>
</body>
</html>
<head>
<style>
div.class_list, .class_list_cls {
position: relative;
width: 250px;
height: 300px;
float: left;
border: 1px solid black;
margin: 1px;
}
.class_list_cls{
clear: left;
}
</style>
</head>
<body>
<script>
var b = document.body;
for(var i=0; i<100; i++){
var d = document.createElement('div');
if(i%3==0 || i==0){
var cl = 'class_list_cls';
}else{
var cl = 'class_list';
}
d.setAttribute('class', cl);
d.innerHTML = i;
b.appendChild(d);
}
</script>
</body>
</html>