Css логотип по центру: Выравнивание логотипов средствами CSS / Хабр

html — Выравнивание логотипа по центру меню с названием сайта

Задать вопрос

Вопрос задан

Изменён 4 года 2 месяца назад

Просмотрен 4k раз

Есть вот такой код navbar. Вот что должно получиться на выходе

Не понимаю как это сделать, выровнял всё по центру, отступ от логотипа 150px влево и вправо. Меню будет адаптивным, не думаю что через absolute будет правильное решение… Может кто-то подсказать как лучше выполнить данный код, чтобы соответствовало скрину ? Буду признателен 😉

.container {
  width: 1170px;
  margin: 0 auto;
}

.navbar {}

.nav-menu {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 50px;
}

.
nav-menu__item { display: flex; margin: 0px 15px; } .nav-menu__item a { text-decoration: none; color: #555555; } .nav-menu__item .active { text-decoration: none; color: #5363db; } .nav-menu__item_center { display: block; margin: 0px 135px; } .nav-menu__item.logo { position: absolute; top: 0; }
<nav>
  <div>
    <ul>
      <li><a href="#">About us</a></li>
      <li><a href="#">Gallery</a></li>
      <li><a href="#">Reservation</a></li>
      <li><img src="//www.anyway.website/d/logo.png" alt="YOGA"></li>
      <li><a href="#">YOGA</a></li>
      <li><a href="#">Blog</a></li>
      <li><a href="#">Elements</a></li>
      <li><a href="#">Shop</a></li>
    </ul>
  </div>
</nav>
  • html
  • css
  • flexbox
  • responsive

5

. container {
  width: 1170px;
  margin: 0 auto;
}

.navbar {}

.nav-menu {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 50px;
  padding: 0;
}

.nav-menu__item {
  display: flex;
  margin: 0px 15px;
}

.nav-menu__item a {
  text-decoration: none;
  color: #555555;
}

.nav-menu__item .active {
  text-decoration: none;
  color: #5363db;
}

.nav-menu__item_center {
  display: block;
}

.logo {
  padding: 0 150px;
  margin: 0;
  text-align: center;
}

.logo__link {
  display: inline-block;
}

.logo__image {
  display: block;
}
<nav>
  <div>
    <ul>
      <li><a href="#">About us</a></li>
      <li><a href="#">Gallery</a></li>
      <li><a href="#">Reservation</a></li>
      <li>
        <a href="#">
          <img src="//www. anyway.website/d/logo.png"
          alt="YOGA">
          YOGA
        </a>
      </li>
      <li><a href="#">Blog</a></li>
      <li><a href="#">Elements</a></li>
      <li><a href="#">Shop</a></li>
    </ul>
  </div>
  </nav

4

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Техника позиционирования логотипа внутри шапки сайта (header).

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

Вот пример:


Как правило, такой логотип размещается с левой стороны и рядом с ним находится меню сайта.

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

На самом деле, ничего сложного здесь нет.

Для примера, давайте возьмем следующую структуру документа:

<div>
                <div> 
                 <a href="#"><img src="logo.png"></a>
                 <p>Место для меню</p>
</div>
</div>
<div>
                <div>
        <h2>Заголовок.</h2>
        <p>ПLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt.
Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc,</p>     </div> </div> <div>                 <div>                                <p>Текст footer</p>     </div> </div>

Если мы просто вставим логотип внутрь header, без всяких стилей:

<a href="#"><img src="logo.png"></a>

То, можно будет увидеть следующую картину:


Место для меню сместилось на уровень ниже и теперь отображается не правильно.

Чтобы избежать этой ситуации, к логотипу нужно добавить следующие стили CSS.

<a href="#"><img src="logo.png"></a>

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

Теперь все отображается так, как надо:

Больше моих уроков по HTML, CSS и верстке сайтов здесь.

html — Как поместить логотип в центр с помощью css

Задавать вопрос

спросил

Изменено 2 года, 11 месяцев назад

Просмотрено 24к раз

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

Я хочу поместить логотип веб-сайта в центр с помощью CSS после Media Query (макс. ширина: 1100 пикселей)

вот мой CSS и HTML

 .logo {
  ширина: авто;
  высота: авто;
  плыть налево;
  отступ: 22,5 пикселей 0 пикселей 0 пикселей 10 пикселей;
} 
 <дел>
  example

помогите пожалуйста 🙁 😀

  • html
  • css
  • медиа-запросы

Возможно, это поможет вам, просто установите img в качестве символа (встроенный блок) и выровняйте по центру.

 .лого {
  ширина: авто;
  высота: авто;
  выравнивание текста: по центру;
}

.логотип изображения {
  дисплей: встроенный блок;
} 
 <дел>
  example

Надеюсь, это поможет!

Обновление (улучшенная версия):

 .cd-header {
  положение: родственник;
  высота: 180 пикселей;
  цвет фона: #331d35;
}

Только экран @media и (минимальная ширина: 1170 пикселей) {
 .cd-заголовок {
   высота: 180 пикселей;
  }
}

.лого {
  ширина: авто;
  высота: авто;
  плыть налево;
  отступ: 22,5 пикселей 0 пикселей 0 пикселей 10 пикселей;
}

.баннер-1{
  поплавок: справа;
  отступ: 50 пикселей 40 пикселей;
  ширина: 728 пикселей;
  высота:90 пикселей;
}

Экран @media и (максимальная ширина: 1100 пикселей) {
.лого {
    ширина: авто;
    высота: авто;
    поплавок: нет;
    отступ: 22,5px 0px 0px 0px; /*чтобы попасть точно в центр*/
}
   .
баннер-1 { дисплей: нет; } div.лого{ поле: 0 авто; ширина: 250 пикселей; } }
 
<голова>

тест




<тело>

    <заголовок>

<дел>
            CRED
<дел> Место баннера