How to center text inside a li element inside an unordered list

前端 未结 2 548
悲哀的现实
悲哀的现实 2020-12-20 19:44

This list is working great for me but the text within the

  • elements is not centering.

    The

  • s must auto resize to their c
  • 相关标签:
    2条回答
    • 2020-12-20 19:44

      While you're assigning unequal padding values to the left and right of the li (0.75em and 2em respectively) the text can't be centred since you're forcing it off-centre with the padding.

      If you amend the padding to: padding: 0.5em 1em; (0.5em top and bottom, 1em left and right) then it can be centred.

      #nav-menu {
          font-family: Verdana, Arial, Helvetica, sans-serif;
          height: 30px;
          background-image: url(../img/menu_bg.png);
          background-repeat: repeat-x;
          border-bottom: dotted thin #666666;
          border-top: dotted thin #666666;
          text-align: center;
          width: 800px;
      }
      
      #nav-menu ul {
          list-style: none;
          padding: 0;
          margin: auto 0;
      }
      
      #nav-menu li {
          float: left;
          border-right: dotted thin #666666;
          list-style: none;
          padding: 0.5em 1em;
      }
      
      #nav-menu li a {
          line-height: 1.5em;
          color: #333333;
          text-decoration: none;
          font-size: 12px;
          font-weight: bold;
          display: block;
      }
      <div id="nav-menu">
          <ul>
              <li class="current_page_item"><a href="#" title="Home">Home</a></li>
              <li class="current_page_item"><a href="#" title="Home">Home</a></li>
              <li class="current_page_item"><a href="#" title="Home">Home</a></li>
              <li class="current_page_item"><a href="#" title="Home">zxczczxczHome</a></li>
          </ul>
      </div>

      JSFiddle demo of the above.

      0 讨论(0)
    • 2020-12-20 19:56

      If you want various sizes, then change the right or left padding property to be the same as the other one:

      padding: 0.5em 2em 0.5em 2em;
      

      or

      padding: 0.5em 0.75em 0.5em 0.75em;
      

      I've fiddled around with it a little: http://jsfiddle.net/Q32hn/ Don't forget to always close your ListItems

      0 讨论(0)
    提交回复
    热议问题