Исправлен заголовок, содержащий изображение и гамбургер-меню с прокручиваемым содержимым

Это то, что я пытаюсь сделать Исправлен заголовок, содержащий изображение и гамбургер-меню с прокручиваемым содержимым

ссылка

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

Я изменил положение на фиксированное, и заголовок перепутался.

Исправлен заголовок, содержащий изображение и гамбургер-меню с прокручиваемым содержимым

Исправлен заголовок, содержащий изображение и гамбургер-меню с прокручиваемым содержимым

Это мой код:

#title_and_menu {
  position: fixed;
  /*was previously relative when the code worked*/
  width: 100%;
}

#myHeader {
  display: inline-block;
  background-color: white;
}

#drop_menu {
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  cursor: pointer;
}

#drop_menu>*{
  width: 35px;
  height: 1px;
  background-color: #c9c9c9;
  margin: 6px 0;
}
<body>
  <div id = "title_and_menu">
    <div id = "myHeader">
      <img src = "https://ninepoint.cc/wp-content/themes/9pt2023/images/logo.svg" alt = "home image" width = "30" height = "30">
    </div>
    <div id = "drop_menu">
      <div></div>
      <div></div>
      <div></div>
    </div>
  </div>
  <div class=”section1” style = "background-color:#e2e2e2;width:100%">
    <h2 align = "center" style = "padding-top:200px;color:#767676">Heading</h2>
    <h1 align = "center" style = "color:#707070">Introduction</h1>
    <p style = "margin-left:1em;margin-right:5em;padding-bottom:12.5em;color:#9f9f9f" align = "center">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
  </div>
</body>

@Umesh Singh Я отредактировал вопрос. Я пытаюсь исправить изображение заголовка и меню гамбургера и прокрутить остальную часть содержимого.

RUMBIDZAI MUKUNGUNUGWA 02.09.2024 09:18

@RUMBIDZAIMUKUNGUNUGWA Я сделал живой фрагмент вашего собственного кода... заголовок уже исправлен и остается сверху при прокрутке контента.. поэтому неясно, какие ожидания не оправдались

Diego D 02.09.2024 09:21

@DiegoD Это исправлено, но гамбургер-меню не отображается. Я хочу, чтобы оно отображалось как на изображении «Чего я хочу достичь»

RUMBIDZAI MUKUNGUNUGWA 02.09.2024 09:23

Используя только CSS, у вас есть два варианта. Если вы используете position: fixed для меню, вам понадобится еще один относительно расположенный элемент, который действует как разделитель. Поместите его в самый верх вашего DOM и установите соответствующую высоту. Другой способ — установить position: sticky и «top: 0», чтобы разместить элемент навигации сверху и удерживать его там. Он будет учитывать следующий контент до тех пор, пока его не прокрутят.

makkusu 02.09.2024 09:24

на самом деле отображается заполнитель для гамбургера... чего вы не видите, так это пунктов меню только потому, что они пусты. Но это не имеет отношения к тому, что вы ранее говорили о работе с position: relative. Вам не хватает всей логики меню в исходном коде.

Diego D 02.09.2024 09:25

@makkusu, не могли бы вы опубликовать код разделительного элемента. <div id = "title_and_menu"> <div id = "spacer" style = "position:relative"> <div id = "myHeader"> <img src = "ninepoint.cc/wp-content/themes/9pt2023/ images/logo.svg" alt = "home image" width = "30" height = "30"> </div> <div id = "drop_menu"> <div id = "hamburger_menu"></div> <div id = "hamburger_menu"></div> <div id = "hamburger_menu"></div> </div> </div> </div>

RUMBIDZAI MUKUNGUNUGWA 02.09.2024 09:30

@makkusu, это то, что я сделал. Я добавил разделитель div с относительной позицией внутри фиксированного div, но это не помогает.

RUMBIDZAI MUKUNGUNUGWA 02.09.2024 09:31

при более внимательном рассмотрении я понял, что у вас на самом деле нет заполнителя для значка гамбургера, но вы на самом деле создали 3 элемента div, чтобы добиться аналогичного результата. вот почему недоразумение. Эти #hamburger_menuэлементы не являются пунктами меню! вы дали один и тот же идентификатор разным элементам... и это неверно. Вы не можете. Если вы хотите сохранить эту стратегию, попробуйте вместо этого использовать класс! В противном случае используйте настоящий значок, представляющий меню, например: Fontawesome.com/icons/bars?s=solid

Diego D 02.09.2024 09:33

@DiegoD второе изображение «Что я получаю» — это все, что я вижу на экране. Нет гамбургер-меню

RUMBIDZAI MUKUNGUNUGWA 02.09.2024 09:35

и в этом причина недоразумения... потому что даже если этот HTML-код недействителен, он отображается, как и ожидалось, в Chrome (последняя версия) на рабочем столе. Пожалуйста, попробуйте изменить <div id = "hamburger_menu"></div> на <div class = "hamburger_menu"></div> и селектор стиля с #hamburger_menu на .hamburger_menu.

Diego D 02.09.2024 09:36

@makkusu Не могли бы вы опубликовать код, который делает то, что вы предлагаете?

RUMBIDZAI MUKUNGUNUGWA 02.09.2024 09:37

Это то, чего вы хотите достичь: w3schools.com/howto/howto_css_fixed_menu.asp ?

Barnee 02.09.2024 09:57

@DiegoD Вместо дублирующего класса hamburger_menu я использовал этот #drop_menu>* См. редактирование

RUMBIDZAI MUKUNGUNUGWA 02.09.2024 09:58

Этот вопрос похож на: Фиксированный верхний и нижний колонтитул с прокручиваемым содержимым. Если вы считаете, что это другое, отредактируйте вопрос, поясните, чем он отличается и/или как ответы на этот вопрос не помогают решить вашу проблему.

Barnee 02.09.2024 10:01

@Barnee Нет. Первое изображение в моем вопросе показывает, чего я пытаюсь достичь ссылка

RUMBIDZAI MUKUNGUNUGWA 02.09.2024 10:01

Если бы у вас было только: top: 0; background: #fff; к вашему #title_and_menu в CSS, это работает, нет? или я что-то упускаю

Vincent Decaux 02.09.2024 10:02

@VincentDecaux Логотип 9. находится в правильном месте, но гамбургер-меню не отображается.

RUMBIDZAI MUKUNGUNUGWA 02.09.2024 10:10
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
1
17
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Я собирался добавить это в комментарии, но это настолько запутано, что поэтому добавляю ссылки. Проблему решить очень просто: вместо position: fixed используйте position: sticky с top: 0, и она должна быть устранена.

Ниже приведен рабочий пример.

<!DOCTYPE html>
<html lang = "en">

<head>
    <meta charset = "UTF-8" />
    <meta name = "viewport" content = "width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
        body {
            height: 1002vh;
            margin: 0;
            padding: 0;
        }

        .mainDiv {
            color: white;
            width: 100%;
            height: 100vh;
            background-color: #1e1e1e;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #title_and_menu {
            position: sticky;
            top:0;
            /*was previously relative when the code worked*/
            width: 100%;
        }

        #myHeader {
            display: inline-block;
            background-color: white;
        }

        #drop_menu {
            position: absolute;
            top: 50%;
            right: 25px;
            transform: translateY(-50%);
            cursor: pointer;
        }

        #drop_menu>* {
            width: 35px;
            height: 1px;
            background-color: #c9c9c9;
            margin: 6px 0;
        }
    </style>
</head>

<body>

    <div id = "title_and_menu">
            <div id = "myHeader">
                <img src = "https://ninepoint.cc/wp-content/themes/9pt2023/images/logo.svg" alt = "home image" width = "30" height = "30">
            </div>
            <div id = "drop_menu">
                <div></div>
                <div></div>
                <div></div>
            </div>
        </div>
        <div class=”section1” style = "background-color:#e2e2e2;width:100%">
            <h2 align = "center" style = "padding-top:200px;color:#767676">Heading</h2>
            <h1 align = "center" style = "color:#707070">Introduction</h1>
            <p style = "margin-left:1em;margin-right:5em;padding-bottom:12.5em;color:#9f9f9f" align = "center">Lorem ipsum
                dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
                aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
                consequat.</p>
        </div>

</body>

</html>

Содержимое выходит за пределы фиксированного заголовка, когда я применяю стиль.

RUMBIDZAI MUKUNGUNUGWA 02.09.2024 11:23

@RUMBIDZAIMUKUNGUNUGWA покажи это с изображением.

Meet 02.09.2024 11:26

Это другой код, который не указан в вопросе. @Встретиться

RUMBIDZAI MUKUNGUNUGWA 02.09.2024 12:37

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