Как расположить элементы списка по центру на панели навигации?

#css

#css

Вопрос:

новичок здесь, я еще не очень много знаю о кодировании. Кто-нибудь может сказать мне, как я мог бы расположить элементы списка по центру, ничего не испортив, спасибо.

 ul.topnav {
    list-style-type: none;
    margin: 0;
    padding: 15;
    overflow: hidden;
    background-color: #333;
}
ul.topnav li {float: left;}

ul.topnav li a {
    display: inline-block;
    color: #f2f2f2;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    transition: 0.3s;
    font-size: 19px;
}
ul.topnav li a:hover {background-color: #555;}

ul.topnav li.icon {display: none;}  

Комментарии:

1. Вы также должны добавить свой HTML, а не только CSS.

Ответ №1:

Просто измените ul.topnav li {float: left;} на ul.topnav li {display: inline-block;} и добавьте text-align: center; в ul.topnav . Итак, таблица стилей будет выглядеть следующим образом:

 ul.topnav {
  ...
  text-align: center;
}
ul.topnav li {
  display: inline-block;
}
  

Ответ №2:

Мой предлагаемый подход заключался бы в том, чтобы обернуть ваш ul в <nav> элемент, а затем обрабатывать <ul> его как элемент встроенного блока. Это дало бы вам хороший диапазон совместимости с браузером.

Вы можете посмотреть демонстрацию на этом jsfiddle

Но это выглядит так:

HTML:

 <nav class="navbar">
  <ul class="topnav">
    <li>
      <a href="#">Test</a> 
    </li>
    <li>
      <a href="#">Test</a> 
    </li>
    <li>
      <a href="#">Test</a> 
    </li>
  </ul>  
</nav>
  

CSS (только измененная часть):

 .navbar {
  text-align: center;
  width: 100%;
  background-color: #333;
}

ul.topnav {
    display: inline-block;
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
  

Ответ №3:

Вы можете использовать display: flex в nav :

 .ul.topnav {
    display:flex;
    justify-content: center;
}
  

Но если вы добавите HTML, я мог бы помочь вам немного больше.

Ответ №4:

Я не тестировал это, но если это поможет…

 ul.topnav {
        list-style-type: none;
        margin: 0;
        height:100px;
        overflow: hidden;
        background-color: #333;
    }
    ul.topnav li {float: left; width:auto; height:100%;}

    ul.topnav li a {
        display: inline-block;
        color: #f2f2f2;
        text-align: center;
        line-height:100px;
        text-decoration: none;
        transition: 0.3s;
        font-size: 19px;
        padding-left:10px;
        padding-right:10px;
    }
    ul.topnav li a:hover {background-color: #555;}

    ul.topnav li.icon {display: none;}