代码之家  ›  专栏  ›  技术社区  ›  spas

总是有一个带有css的左浮动列表元素

  •  0
  • spas  · 技术社区  · 15 年前

    我有一个带有以下HTML代码的导航:

    <ul id="nav">
      <li><a>home</a></li>
      <li><a>login</a></li>
      <li class="selected"><a>shop</a></li>
      <li><a>help</a></li>
    </ul>
    

    我要完成的是,带有“选定”类的元素总是出现在导航的左侧。

    因此,如果选择Shop,则渲染的导航将如下所示:
    商店家庭登录帮助

    如果选择帮助:
    帮助家庭登录店

    我的CSS:

    #nav li {
    display: inline; }
    
    #nav li.selected {
      width: 230px;
      text-align: center;
      background: #b52830;
      margin-right: 10px;
      float: left;
      display: block; }
    
      #nav li.selected a {
        display: block;
        padding-right: 0; }
    
        #nav li.selected a:hover {
          color: #fff; }
    

    它适用于某些浏览器,但不适用于所有浏览器。有什么想法吗?

    如果不起作用,所选元素将移动到其余元素的下方…

    店铺选择:
    家庭登录帮助
    商店

    3 回复  |  直到 15 年前
        1
  •  0
  •   Bryan Downing    15 年前

    另一种选择是使用编程语言(如php或javascript)按顺序打印链接列表,并在列表顶部显示类“selected”。

    浮动左对齐将把第一个最左边的有序li与其他li元素放在同一行上。相反,浮动权将使第一个有序的li最右边。

    您如何将“已选”类应用于相应的LI?

        2
  •  0
  •   Kirzilla    15 年前

    如果ul nav总是有固定的宽度,你可以知道。选择向左浮动和所有其他元素向右浮动。

        3
  •  0
  •   Rusty Horse    15 年前

    我会尽量避免这样组合内联和块显示。如果你写下它不工作时的样子会很有帮助。