Изображение начальной загрузки прикреплено к верхней части экрана

Для класса мне нужно создать веб-сайт с изображением прямо под панелью навигации, но по какой-то причине, которую я не могу понять, изображение отображается внутри панели навигации, а не под ней. Может кто-нибудь объяснить, почему это происходит и как это исправить? Спасибо

<div class = "row">
 <nav class = "navbar-fixed-top">
   <div class = "container-fluid">
    <div class = "navbar-header">
    <ul class = "nav navbar-nav" id = "mainNav">
        <li><a href = "###">Locations</a></li>
        <li><a href = "###">Special Events</a></li>
        <li><a href = "###">Breakfast</a></li>
        <li><a href = "###">Lunch</a></li>
        <li><a href = "###" class = "active">Liam's Food Fusion</a></li>
        <li><a href = "###">Dinner</a></li>
        <li><a href = "###">Apps and Extras</a></li>
        <li><a href = "###">Online Ordering</a></li>
        <li><a href = "###">Contact Us</a></li>

    </ul>
  </div>
    </div>
</nav>
  </div>
 <!--    end navigation  -->
 <div class = "row">
  <div class = "container-fluid">
   <div class = "col-md-4" id = "logopic">
    <img src = "images/food fusion logo.png" />
</div>
</div>
</div>
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
0
473
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

CSS navbar-fixed-top использует абсолютное позиционирование, чтобы поставить его на первое место. Использование абсолютного позиционирования в css не подталкивает другие контейнеры ниже себя, а просто позиционирует себя над ними.

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

Просмотр Inspect этого примера начальной загрузки может помочь вам понять https://getbootstrap.com/docs/3.3/examples/navbar-fixed-top/. Обратите внимание, что тег body в примере с фиксированным верхом имеет верхнее заполнение. В примере со статическим верхом body не имеет верхнего отступа, потому что панель навигации размещается с использованием относительного позиционирования вместо абсолютного.

Я думаю, вам нужно установить свой класс в элементе nav следующим образом:

<nav class = "navbar navbar-default navbar-fixed-top">

и добавьте следующий CSS

body { padding-top: 70px; }

(на документы: https://getbootstrap.com/docs/3.3/components/#navbar-fixed-top)

См. Демонстрацию ниже:

.body {
  padding-top: 70px;
}
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href = "https://use.fontawesome.com/releases/v5.2.0/css/all.css" rel = "stylesheet" />
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel = "stylesheet" />


<nav class = "navbar navbar-default navbar-fixed-top">
  <div class = "container-fluid">
    <ul class = "nav navbar-nav" id = "mainNav">
      <li><a href = "###">Locations</a></li>
      <li><a href = "###">Special Events</a></li>
      <li><a href = "###">Breakfast</a></li>
      <li><a href = "###">Lunch</a></li>
      <li><a href = "###" class = "active">Liam's Food Fusion</a></li>
      <li><a href = "###">Dinner</a></li>
      <li><a href = "###">Apps and Extras</a></li>
      <li><a href = "###">Online Ordering</a></li>
      <li><a href = "###">Contact Us</a></li>
    </ul>
  </div>
</nav>
<!--    end navigation  -->

<div class = "container-fluid">
  <div class = "row">
    <div class = "col-md-4">
      <img src = "https://dummyimage.com/600x400/000/fff" />
    </div>
  </div>
</div>

я считаю, что класс должен быть "navbar navbar-fixed-top"

Kevin Lewis 06.09.2018 01:24

@KevinLewis хм, позволь мне проверить

blurfus 06.09.2018 01:25

@KevinLewis, вы правы! - Я ссылался на версию 4.1, в которой используется другой подход. - Спасибо за указатель.

blurfus 06.09.2018 01:40

Поскольку панель навигации использует класс «navbar-fixed-top», он является фиксированным и, следовательно, не влияет на размещение других элементов. Что вам нужно сделать, так это добавить поле вверху изображения или одного из его контейнеров. Кроме того, я совершенно уверен, что вам не нужна внешняя панель навигации, это может кое-что испортить.

Ответ принят как подходящий

position:fixed, который есть у класса navbar-fixed-top, заставляет элемент nav размещать выше (подумайте, 3D) все на странице. Итак, что происходит с изображением, так это то, что оно находится в верхней части страницы с навигационной панелью наверху.

Таким образом, вы можете просто удалить класс .navbar-fixed-top из элемента nav или добавить верхний край к div, окружающему контент, следующий за панелью навигации (в данном случае <div class = "row">.

Вот Codepen с примером.

Другие вопросы по теме