【问题标题】:Make <li> elements expand to fill the parent container使 <li> 元素展开以填充父容器
【发布时间】:2014-09-12 11:27:12
【问题描述】:

我有以下 HTML:

<div class="panel panel-default">
    <div class="panel-heading">
        <h3 class="panel-title text-center">Welcome to the Information Management Hub</h3>
    </div>
    <div class="panel-body">
        <div class="btn-group btn-group-lg">
            <ul class="central-nav">
                <li><%= link_to "Customer Information", customer_information_path, :class => "btn btn-default btn-lg" %></li>
                <li><%= link_to "Customer Information", customer_information_path, :class => "btn btn-default btn-lg" %></li>
                <li><%= link_to "Customer Information", customer_information_path, :class => "btn btn-default btn-lg" %></li>
                <li><%= link_to "Customer Information", customer_information_path, :class => "btn btn-default btn-lg" %></li>
            </ul>
        </div>
    </div>
</div>


这是我在 Bootstrap 之外的自定义 CSS:

.central-nav {
    list-style-type: none;
    width: 100%;
}

.central-nav li {
    display: inline-block;
}


我尝试了许多方法来让列表项扩展到无序列表的父容器 (div class="panel-body") 的宽度,但都没有成功。

是否可以让列表项扩展到无序列表的父容器的宽度?

【问题讨论】:

标签: html css ruby-on-rails twitter-bootstrap


【解决方案1】:

我很抱歉 - 一个简单的疏忽 - 我忘记了我将 UL 包装在一个 Div 中。

我创建了一个新类如下:

.fill-parent {
  width: 100%;
}

我将该类应用于 div 并且列表项展开以填充 div。

【讨论】:

    【解决方案2】:

    您可以尝试关注。

    .central-nav {
      list-style-type: none;
      width: 100%;
      display:block;
    }
    
    .central-nav li {
      display: block;
      width: 100%;
    }
    

    【讨论】:

      【解决方案3】:

      正如@Paulie_D 所建议的,这些表格是一个很好的第一个尝试方法。它在较旧的浏览器中受支持,总体而言,更容易实现。

      如果您的应用将在现代浏览器上运行,并且您希望更好地控制列表项的缩小或增长方式、对齐方式等,那么您可以尝试使用 flexbox:http://jsfiddle.net/J7meX/

      标记:

      <ul>
          <li>Item 1</li>
          <li>Item 2</li>
          <li>Item 3</li>
      </ul>
      

      样式:

      * {
          margin: 0;
          padding: 0;
      }
      
      body {
          padding: 10px;
      }
      
      ul {
          list-style-type: none;
          display: -webkit-flex;
          display: flex;
          -webkit-flex-direction: row;
          flex-direction: row;
      }
      
      ul > li {
          -webkit-flex: 1 1 33%;
          flex: 1 1 33%;
          outline: 1px dotted #000;
          white-space: nowrap;
      }
      

      【讨论】:

        【解决方案4】:

        你可以试试

        .central-nav {
          list-style-type: none;
          width: 100%;
          display:table;
        }
        
        .central-nav li {
          display: table-cell;
        }
        

        【讨论】:

        • 没有为我做任何不同的事情 - 我想知道这是否是引导冲突?
        猜你喜欢
        • 1970-01-01
        • 2021-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多