Пытаюсь настроить панель навигации начальной загрузки при переключении на мобильный

#css #twitter-bootstrap

#css #twitter-bootstrap

Вопрос:

Я просто пытаюсь сделать свои темы более отзывчивыми, я решил попробовать Bootstrap, но у меня возникли некоторые проблемы с панелью навигации. Когда я настраиваю ее для рабочего стола, все выглядит нормально, но когда я изменяю ее размер до мобильной версии, возникает какая-то «проблема», и я не могу узнать, как изменить теги < li> или <a> только при переключении на мобильный. В нижней строке просто пытаюсь улучшить мобильное меню 🙂

Итак, я сделал несколько снимков экрана, чтобы упростить объяснение:

Скриншот 1: Оригинальный рабочий стол / мобильный

Скриншот 1: Оригинальный рабочий стол / мобильный

Скриншот 2: Настроенный, средняя часть — моя проблема.

Скриншот 2: Настроенный, средняя часть - моя проблема.

и мой код… Спасибо всем 🙂

 @bgDefault      : #e0345b;
@bgHighlight    : #bd3656;
@colDefault     : #ecf0f1;
@colHighlight   : #ffffff;
@height         : 130px;
@navlinksize    : 1.5em;
@dropDown       : false;
@effect         : all 0.3s ease;

body {
    font-family: Gisha;	  
    
}
.ddm() when (@dropDown) {
  > li > .dropdown-menu {
      background-color: @bgDefau<
      > li {
        > a {
          color: @colDefau<
          amp;:hover,  amp;:focus {
            color: @colHighlight;
            background-color: @bgHighlight; }}
        > .divider {
          background-color: @bgHighlight;}}}
  .open .dropdown-menu > .active {
    > a, > a:hover, > a:focus {
      color: @colHighlight;
      background-color: @bgHighlight; }}}
.navbar-default {
  background-color: @bgDefau<
  border-color: @bgHighlight;
  min-height: @height;

  .navbar-brand {
    color: @colDefau<
    padding: 5px;
    > img {
     width: 120px;

    }
    amp;:hover, amp;:focus {
      color: @colHighlight; }}
  .navbar-text {
    color: @colDefau< }
  .navbar-nav {
    > li {
    
      > a {
        display:table-cell;vertical-align:middle;
        color: @colDefau<
        height: @height;
        font-size: @navlinksize;
        font-weight: bold;
        transition: @effect;
        amp;:hover,  amp;:focus {
          color: @colHighlight; 
          background-color: @bgHighlight;
          transition: @effect;
          
         }
          }}
    .ddm;
    > .active {
      > a, > a:hover, > a:focus {
        color: @colHighlight;
        background-color: @bgHighlight; }}
    > .open {
      > a, > a:hover, > a:focus {
        color: @colHighlight;
        background-color: @bgHighlight; }}}
  .navbar-toggle {
    border-color: @bgHighlight;
    margin: 50px;
    amp;:hover, amp;:focus {
      background-color: @bgHighlight; }
    .icon-bar {
      background-color: @colDefau< }}
  .navbar-collapse,
  .navbar-form {
    border-color: @colDefau< }
  .navbar-link {
    color: @colDefau<
    
    amp;:hover {
      color: @colHighlight; }}}
@media (max-width: 767px) {
    
  .navbar-default .navbar-nav .open .dropdown-menu {

    > li > a {
      
      color: @colDefau<
      amp;:hover, amp;:focus {
        color: @colHighlight; }}
    > .active {
      > a, > a:hover, > a:focus {
        color: @colHighlight;
        background-color: @bgHighlight; }}}
}  
 <!DOCTYPE html>
<html lang="he">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>Bootstrap 101 Template</title>

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="style.css" rel="stylesheet" media="screen">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
<link rel="stylesheet/less" type="text/css" href="css/style.less">
<script src="//cdnjs.cloudflare.com/ajax/libs/less.js/2.5.1/less.min.js"></script>
  </head>
  <body>
<nav class="navbar navbar-default navbar-fixed-top">
  <div class="container">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header navbar-right">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#"><img src="images/logo.png"></a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
        <li><a href="#">מולטיפוקל <span class="sr-only">(current)</span></a></li>
        <li><a href="#">צור קשר</a></li>
        <li><a href="#">משקפי שמש</a></li>
        <li><a href="#">עדשות מגע</a></li>
        <li><a href="#">תמיסות</a></li>
        <li><a href="#">אודות</a></li>

      </ul>

      
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>

    <h1>Hello, world!</h1>

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>  

Ответ №1:

Для @media (max-width: 767px) вам придется увеличить размер шрифта a , изменить его display на block и использовать text-align: center .

Редактировать: Вам придется переопределить стили bootstrap с помощью более конкретных правил или с той же спецификой, если вы разместите свой стиль под bootstrap.css. Попробуйте:

 .nav > li > a {
  text-align: center;
  font-size: 36px;
}
  

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

1. @media (максимальная ширина: 767 пикселей) { a { дисплей: блок; выравнивание текста: по центру; }

2. По-прежнему никаких изменений

3. @AvivS Можете ли вы отправить снимок веб-страницы с открытыми инструментами devoper? Нам нужно будет посмотреть, переопределяет ли какое-то более конкретное правило наше правило или нет. В противном случае попробуйте !important .