2015-10-19 6 views
0

Если я использую следующую комбинацию:Невозможно вертикальное выравнивание текста в навигационной панели без анкера

<nav class="navbar navbar-default navbar-static-top"> 
    <div class="container"> 
    <ul class="nav navbar-nav"> 
     <li><a><span class="glyphicon glyphicon-earphone"></span> 99999999</a></li> 
    </ul> 
    </div> 
</nav> 

У меня желаемый результат, как имеющие телефонный номер вертикально расположенный в центре навигационной панели.

Однако, он работает только с использованием <a>, если я удалю его, то он дойдет до вершины.

Я пробовал <li class="navbar-btn">, но безрезультатно.

Есть обходное решение, использующее bootstrap css?

ответ

1

Вы можете использовать navbar-text класс, который все готово встраивается. См Docs.

* Я включил два примера в том случае, если вы используете все опции navbar.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" /> 
 
<nav class="navbar navbar-default navbar-static-top"> 
 
    <div class="container"> 
 
    <p class="navbar-text"><span class="glyphicon glyphicon-earphone"></span> 99999999</p> 
 
    <ul class="nav navbar-nav"> 
 
     <li class="active"><a href="#">Link</a> 
 

 
     </li> 
 
    </ul> 
 
    </div> 
 
</nav> 
 
<hr> 
 
<h3>Full Navbar</h3> 
 
<nav class="navbar navbar-default"> 
 
    <div class="container-fluid"> 
 
    <!-- Brand and toggle get grouped for better mobile display --> 
 
    <div class="navbar-header"> 
 
     <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="#">Brand</a> 
 

 
     <p class="navbar-text"><span class="glyphicon glyphicon-earphone"></span> 99999999</p> 
 
    </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 class="active"><a href="#">Link <span class="sr-only">(current)</span></a> 
 

 
     </li> 
 
     <li><a href="#">Link</a> 
 

 
     </li> 
 
     <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> 
 

 
      <ul class="dropdown-menu"> 
 
      <li><a href="#">Action</a> 
 

 
      </li> 
 
      <li><a href="#">Another action</a> 
 

 
      </li> 
 
      <li><a href="#">Something else here</a> 
 

 
      </li> 
 
      <li role="separator" class="divider"></li> 
 
      <li><a href="#">Separated link</a> 
 

 
      </li> 
 
      <li role="separator" class="divider"></li> 
 
      <li><a href="#">One more separated link</a> 
 

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

+0

Это хорошо. У вас есть идеи, почему цвет текста изменяется при использовании 'navbar-text'? – user2094178

+0

Я честно не знаю, что вы имеете в виду. Цвет текста navbar-text имеет значение по умолчанию для цвета: # 777, которое является одинаковым для обычных элементов списка. – vanburen

1

Некоторые простые CSS может решить эту проблему, добавив уникальный класс к элементу LI: Bootply example

Проверяя CSS в консоли developper, вы бы увидели, что Якорь в навигационной панели Bootstrap имела отступы.

HTML:

<nav class="navbar navbar-default navbar-static-top"> 
    <div class="container"> 
    <ul class="nav navbar-nav"> 
     <li class="phone-nb"><span class="glyphicon glyphicon-earphone"></span> 99999999</li> 
    </ul> 
    </div> 
</nav> 

CSS:

.phone-nb{ 
    padding-top:15px; 
    padding-bottom:15px; 
} 
0

Якорь элемент в этом контексте имеет отступ, высоту строки, и это дисплей регулируется, что делает его появляются по центру. <li> этого не имеет. Если вы примените .btn к <li>, он будет вертикально выровнен по вашему желанию, но будет центрировать текст. Вам придется перетащить это, чтобы выровнять его вправо.

<nav class="navbar navbar-default navbar-static-top"> 
    <div class="container"> 
    <ul class="nav navbar-nav"> 
     <li class="btn"><span class="glyphicon glyphicon-earphone"></span> 99999999</li> 
    </ul> 
    </div> 
</nav> 
li.btn { 
    text-align: left; 
} 

http://jsfiddle.net/6kaq1uwf/

0

Глядя на начальной загрузки CSS, есть обивка: 10px 15px на якорь.

.nav>li>a { 
    padding: 10px 15px; 
} 

Вам просто нужно добавить это дополнение к контейнеру номера телефона, если вы не хотите тег. В этом случае - тег списка.

<li class="demo"><span class="glyphicon glyphicon-earphone"></span> 99999999</li> 

.demo { 
    padding: 10px 15px; 
} 

Что касается изменения цвета текста, есть изменения парения от # 777 до # 333.

.demo { 
    color: #777; 
} 

.demo:hover { 
    color: #333; 
} 

Проверить эту plunkr http://embed.plnkr.co/0sq4Rlc0LpcjfFtWxD3n/preview

Смежные вопросы