Изображение профиля Bootstrap 3 в navbar

Как мне получить изображение профиля (см. рисунок), чтобы сказать 25/30 пикселей без искажения навигационной панели?

Это то, что у меня есть сейчас:

<li class="dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
    <img src="http://placehold.it/18x18" class="profile-image img-circle"> Username <b class="caret"></b></a>
    <ul class="dropdown-menu">
        <li><a href="#"><i class="fa fa-cog"></i> Account</a></li>
        <li class="divider"></li>
        <li><a href="#"><i class="fa fa-sign-out"></i> Sign-out</a></li>
    </ul>
</li>

это результат:

small image but no distortion

Но если я изменил размер изображения на 30x30, это то, что происходит, как я могу предотвратить искажение навигатора:

large image but a distorted navbar

Я попытался очистить маржу и прокладки на изображении, но это не повлияло.

Обновление: Вот JSFiddle текущего кода.

Ответы

Ответ 1

Вы получили это в основном правильно, следуя тому, что сказал Kooki3, в таблице стилей Bootstrap просто больше, поэтому просто измените .profile-image на .navbar-nav>li>a.profile-image

Редактирование вашей скрипки, как это, nav выглядит идеально для меня:

.navbar-nav>li>a.profile-image {
    padding-top: 10px;
    padding-bottom: 10px;
}

Ответ 2

после просмотра JSFiddle, я выяснил, что проблема вызвана высотой используемого вами изображения вместо заполнения.

дайте изображению класс и сделайте его плавающим влево, затем используйте положение: по отношению к настройке позиции.

<li class="dropdown">
    <a href="#" class="dropdown-toggle profile-image" data-toggle="dropdown">
        <img src="http://placehold.it/30x30" class="img-circle special-img"> Test <b class="caret"></b></a>
                <ul class="dropdown-menu">
                    <li><a href="#"><i class="fa fa-cog"></i> Account</a></li>
                    <li class="divider"></li>
                    <li><a href="#"><i class="fa fa-sign-out"></i> Sign-out</a></li>
                </ul>
</li>

-

.special-img 
{
    position: relative;
    top: -5px;
    float: left;
    left: -5px;
}

My Fiddle здесь

Ответ 3

//write you  script
$(document).ready(function(){
    $(".dropdown").mouseover(function(){
        $(".dropdown-menu").show();
    })
    $(".dropdown").mouseout(function(){
        $(".dropdown-menu").hide();
    });
});