Как центрировать логотип на панели навигации, когда на панели навигации есть еще один элемент?

На моей панели навигации есть логотип, который должен быть по центру, и изображение кнопки меню (3 строки), которое должно быть плавающим влево. Я заставил кнопку меню плавать влево, но просто не могу заставить логотип находиться точно в центре панели навигации, он всегда немного правее.

Я пробовал помещать их в div и устанавливать ширину div на 50%, а затем перемещать изображение влево, чтобы оно центрировалось, но не повезло.

HTML:

<div id="resp-navbar">
    <div id="resp-nav-contents">
        <img id="exp-menu-img" src="3lines.png">
        <img id="resp-logo" src="MSLOGO.jpg">
    </div>
</div>

CSS:

#resp-navbar{
    height: 15%;
    text-align: center;
    width: 100%;
    display: inline-block;
    position: fixed;
    z-index:51;
    background-color: white;
    border-bottom: solid;
    border-width: 1px;
    border-color: #afafaf;

}   

#resp-nav-contents{
    min-width: 300px;
}

#exp-menu-img{
    height: 30%;
    position: absolute;
    left: 2%;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.4;
    cursor: pointer;
}

#resp-logo{
    height: 50%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: inline;
 }

person AbuN2286    schedule 21.09.2017    source источник


Ответы (4)


Добавлено: left: 0; right: 0; margin: auto; в #resp-logo

#resp-navbar{
    height: 15%;
    text-align: center;
    width: 100%;
    display: inline-block;
    position: fixed;
    z-index:51;
    background-color: white;
    border-bottom: solid;
    border-width: 1px;
    border-color: #afafaf;

}   

#resp-nav-contents{
    min-width: 300px;
}

#exp-menu-img{
    height: 30%;
    position: absolute;
    left: 2%;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.4;
    cursor: pointer;
}

#resp-logo {
    height: 50%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: inline;
    left: 0;
    right: 0;
    margin: auto;
}
<div id="resp-navbar">
    <div id="resp-nav-contents">
        <img id="exp-menu-img" src="https://placehold.it/20x20">
        <img id="resp-logo" src="https://placehold.it/500x100">
    </div>
</div>

person UncaughtTypeError    schedule 21.09.2017

Попробуйте установить значок меню как position: absolute; и нормализовать остальные

person SubjectDelta    schedule 21.09.2017

Используйте следующее, что может помочь

<div id="resp-navvar>
    <img id="exp-menu-img" src="3lines.png">
    <img id="resp-logo" src="MSLOGO.jpg">

#resp-logo {
positions:absolute;
left:50%;
Transform:translate(-50%);

Width- custom, height- custom }

Не забудьте установить относительное положение корневого элемента div, если что-то не работает.

person saidutt    schedule 21.09.2017

Удалите их из #resp-logo

положение: абсолютное; дисплей: встроенный;

Или вы можете заставить его центрироваться, используя поля.

person Anupam Raut    schedule 21.09.2017