-1

可以为 safari 和 firefox 使用 css3 的东西,但不会有它的一部分。我正在输出一个购物类别和子类别的列表,每个列表都有一个单独的列表。

这就是我所拥有的(到目前为止还没有工作)。任何帮助都会受到欢迎。

<div style="float:left; width: 232px;">
<?
$rowcount = 1;                          
$strSql = "SELECT * FROM Category ORDER BY CategoryName ASC";
$r = $db->select($strSql);
while ($row=$db->get_row($r, 'MYSQL_ASSOC')) {  
    $CategoryID = $row['CategoryID'];
    $CategoryName = $row['CategoryName'];
    ?>
     <div style="width: 232px; background-color:#f2f2f2; padding: 5px; margin-top: 5px; -webkit-border-radius: 4px; border-radius: 4px; overflow:hidden; padding-left: 5px;">
          <h1><a href="/<?=$colour?>/<?=$CategoryURL?>/" ><?=$CategoryName?></a></h1>
            <ul>
                  <?                        
                  $strSql2 = "SELECT 
                  SubCategory.SubCategoryID,
                  SubCategory.SubCategoryName,
                  SubCategory.SubCategoryURL,
                  SubCategory.CategoryID
                FROM
                  SubCategory
                WHERE
                  CategoryID = $CategoryID
                ORDER BY
                  SubCategoryName";
                  // echo "<pre>$strSql</pre>";
                  $r2 = $db->select($strSql2);
                  while ($row2=$db->get_row($r2, 'MYSQL_ASSOC')) {
                      $SubCategoryID = $row2['SubCategoryID'];
                      $SubCategoryName = $row2['SubCategoryName'];
                      $SubCategoryURL = $row2['SubCategoryURL'];
                  ?>    
                  <li><a href="/<?=$colour?>/<?=$CategoryURL?>/<?=$SubCategoryURL?>/"><?=$SubCategoryName?> (<?=$rowcount?>)</a></li>
                  <?
                  $rowcount++;
                  if ($rowcount == 35) { echo"</ul></div><div style=\"float:left; width: 232px;\"><ul>"; $rowcount = 0;} 
                  } // end get SubCategory
                  ?>
               <? if ($rowcount == 0) { echo""; } else {echo"</ul>";} ?>
               </div>       
         <? } // end get category list
?>     
        </ul> <!-- END CATEGORY UL -->
  </div>
</div>
4

1 回答 1

1

另一种选择是使用基于表格的布局,在这种情况下,我认为这不会那么糟糕。表格用于表格数据,目录类别非常适合。编辑:但是您仍然必须弄清楚您的 PHP 逻辑才能使其正常工作。就我而言,Derp。

或者,有一个Columnizer jQuery 插件可以自动完成这个技巧,但我不喜欢不得不依赖 javascript 驱动的布局元素解决方案。尽管您只能通过 Modernizr 为不支持您的 CSS3 方法的浏览器触发它。仍然不是这个的忠实粉丝。

您可以发布在其他浏览器中使用的 CSS3 吗?也许有一种可用的解决方法可以解决问题。对于您的最终结果,我仍然有点模糊。我专注于您问题的 CSS 方面,而不是 PHP。找到一个有效的 CSS 驱动的解决方案显然比试图找出将类别划分为相应列的逻辑要容易得多。

于 2012-07-17T21:31:53.493 回答