php - 带有 Bootstrap 的 PHP 的 HTML 菜单看起来不一样

标签 php jquery html css twitter-bootstrap

我用 Bootstrap 设计了我的菜单样式。我的下拉菜单就像 html+bootsrap 那样:

enter image description here `

<div class="container">
   <div class="row">
      <ul class="col-sm-3">
         <li>item</li>
         <li>item</li>
         <li>item</li>
         <li>item</li>                              
      </ul>
      <ul class="col-sm-3">
         <li>item</li>
         <li>item</li>
         <li>item</li>
         <li>item</li>                              
      </ul>
      <ul class="col-sm-3">
         <li>item</li>
         <li>item</li>
         <li>item</li>
         <li>item</li>                  
      </ul>
      <ul class="col-sm-3">
         <li>item</li>
         <li>item</li>
         <li>item</li>
         <li>item</li>              
      </ul>
   </div>
</div>

我每 4 个元素使用 col-sm-3 类来实现这一点。

但我不能在 php 中这样做,因为我使用的是 foreach 循环,结果是这样的:enter image description here

我尝试使用 col-sm-3 但没有..

    <div class="collapse navbar-collapse btnCollapse">
      <ul class="nav navbar-nav">
        <li><a href="#">Home</a></li>
        <?php foreach ($navItems as $item) { ?>
        <li class="dropdown">
            <a href="<?php echo $item['slug']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $item['title']; ?><span class="caret"></span></a>
            <?php if(isset($item['dropdown'])){ ?>
               <ul class="dropdown-menu" role="menu"> 
                   <div class="container">
                      <div class="row">
                          <ul class="col-sm-3">
                            <?php foreach($item['dropdown'] as $subitem) { ?>
                               <li><a href="<?php echo $subitem['slug'] ?>"><?php echo $subitem['title'] ?></a></li>
                            <?php }; ?>
                          </ul>
                      </div>
                   </div>
               </ul>                     
         <?php   }; ?>
        </li>
        <?php }; ?>
      </ul>
    </div>

实现它的方法是什么?

也许我应该使用 For 循环而不是 foreach?我不知道..

有什么反馈吗?

最佳答案

<div class="collapse navbar-collapse btnCollapse">
      <ul class="nav navbar-nav">
        <li><a href="#">Home</a></li>
        <?php foreach ($navItems as $item) { ?>
        <li class="dropdown">
            <a href="<?php echo $item['slug']; ?>" class="dropdown-toggle" data-toggle="dropdown"><?php echo $item['title']; ?><span class="caret"></span></a>
            <?php if(isset($item['dropdown'])){ ?>
               <ul class="dropdown-menu" role="menu"> 
                   <div class="container">
                      <div class="row">
                        <?php $i = 0; foreach($item['dropdown'] as $subitem) { 
                          if($i%4==0){ 
                             echo "<ul class="col-sm-3">";
                           } ?>
                               <li><a href="<?php echo $subitem['slug'] ?>"><?php echo $subitem['title'] ?></a></li>
                          <?php if($i%4==3){ 
                          echo "</ul>";
                          }
                          $i++;
                        }; ?>
                      </div>
                   </div>
               </ul>                     
         <?php   }; ?>
        </li>
        <?php }; ?>
      </ul>
    </div>

在你想要的输出中你需要 4 列,所以我将菜单项除以 4 来放置列,即 if($i%4==0)开始<ul>if($i%4==3)结束 </ul> .

关于php - 带有 Bootstrap 的 PHP 的 HTML 菜单看起来不一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44110199/

相关文章:

php - 当推文中不包含坐标或图像时,T​​weepy 流监听器的代码给出错误

javascript - 传递字符串! ,' ' ... 符号到 jquery append

javascript - ASP.NET JavaScript 函数未定义

php - 无法添加或更新子行

python - 使用 BeautifulSoup/Python 提取网站背景图像的 URL

PHP date() 和 strtotime() 在 31 日返回错误的月份

PHP[OOP] - 如何手动调用类构造函数?

javascript - 如何使用 jQuery find 从整页 HTML 字符串中提取内容

php - 如何同时显示数组键和值?

php - 检查数据库中是否存在分隔符之间的短语的查询