Как я могу переместить панель навигации на img? - PullRequest
0 голосов
/ 21 июня 2020

Мне нужно переместить панель навигации на изображение. Я пытался установить position: absolute; для панели навигации, но она рухнула. Как я могу это сделать?

* {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Montserrat", sans-serif;
}

.global-padding {
  padding: 0 98px;
}

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

.order-us-button {
  display: inline-block;
  width: 212px;
  height: 45px;
  text-align: center;
  text-decoration: none;
  letter-spacing: 3.6px;
  text-transform: uppercase;
  color: #212121;
  border-radius: 23px;
  background-color: #ffffff;
  box-shadow: 0 2px 5px 1px rgba(33, 33, 33, 0.35);
  font-size: 18px;
  font-weight: 700;
  line-height: 45px;
}

.navbar {
  display: flex;
  padding-top: 63px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.navbar_fixed {
  /* pass */
}

.navbar__logo-img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
}

.navbar__menu {
  display: flex;
  list-style: none;
}

.navbar__menu-link {
  padding: 10px 13px;
  text-decoration: none;
  text-transform: uppercase;
  color: #8c8c8c;
  font-size: 14px;
  font-weight: 300;
}

.navbar__menu-link_active {
  letter-spacing: 1.4px;
  color: #212121;
  border-bottom: 3px solid #212121;
  font-weight: 700;
}

.navbar__search {
  padding: 0;
  border: none;
  background: none;
}

.navbar__search-icon {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
}

.slider__background-image {
  width: 100vw;
  height: 100vh;
}

.slider__text {
  position: absolute;
}

.slider__status-text {
  text-transform: uppercase;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
}

.status-text_trending {
  color: #43a047;
}

.slider__h2 {
  text-transform: uppercase;
  color: #212121;
  font-size: 62px;
  font-weight: 100;
  line-height: 72px;
}

.slider__content {
  width: 450px;
  color: #6c6c6c;
  font-size: 14px;
  font-weight: 300;
  line-height: 24px;
}

.slider__circle {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #c7c7c7;
}

.slider__circle_active {
  width: 40px;
  height: 40px;
  background-color: #212121;
}
<div class="slider">
  <nav class="navbar global-padding">
    <a href="#" class="navbar__logo-link">LOGO</a>
    <ul class="navbar__menu">
      <li class="navbar__menu-item"><a href="#" class="navbar__menu-link navbar__menu-link_active">HOME</a></li>
      <li class="navbar__menu-item"><a href="#" class="navbar__menu-link">PRODUCTS</a></li>
      <li class="navbar__menu-item"><a href="#" class="navbar__menu-link">HISTORY</a></li>
      <li class="navbar__menu-item"><a href="#" class="navbar__menu-link">SHOWROOM</a></li>
      <li class="navbar__menu-item"><a href="#" class="navbar__menu-link">CONTACT</a></li>
      <button class="navbar__search"><img class="navbar__search-icon" src="{% static 'img/search.svg' %}" alt="Search"></button>
    </ul>
  </nav>
  <img src="https://images.pexels.com/photos/1350789/pexels-photo-1350789.jpeg?cs=srgb&dl=two-assorted-color-padded-chairs-near-side-table-1350789.jpg&fm=jpg" alt="Slider image" class="slider__background-image">
</div>

Ответы [ 5 ]

1 голос
/ 21 июня 2020

В вашем коде есть серьезные проблемы, которые указывают на недостаток опыта, и они следующие:

1- почему вы хотите указать изображение по-другому и разместить его на панели навигации? Вместо этого вы можете использовать свойство background-image: url(''); с родительским контейнером, и желаемый результат будет достигнут.

2- Если вам нужен промежуток между lo go и изображением, не указывайте его с конкретным полем. Пожалуйста, используйте float:right; для ссылок и float: left; для вашего lo go, тогда вы можете указать поля для любой указанной c ссылки так, как вы хотите.

3- Пожалуйста, проясните нам о вашем фактическом запросе и поделитесь фрагментом только важной информации!

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

1 голос
/ 21 июня 2020

Лучше установить img на position: absolute вместо navbar. Имейте в виду, что вам нужно установить родительский контейнер img на position: relative.

Edit 1 - вам также может потребоваться установить z-index для img если он блокирует появление navbar.

Редактировать 2 - Для navbar выхода за пределы экрана -

  1. Используйте width: 100vw для nav элемент
  2. Установите flex-grow: .5 и flex-basis: 50% на ul в элементе nav

Примечание - Вы можете настроить количество flex-grow и flex-basis на что угодно.

0 голосов
/ 21 июня 2020

Попробуйте это

<button class="navbar__search" style="background-image: url('your_image.jpg');">Search</button>

в your_image укажите изображение, которое вы будете sh отображать.

удалить тег img и проверить его.

0 голосов
/ 21 июня 2020

Вы также можете установить изображение как css Фоновое изображение

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: sans-serif
}

nav{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  color: red;
  background-image: url(https://images.pexels.com/photos/1350789/pexels-photo-1350789.jpeg?cs=srgb&dl=two-assorted-color-padded-chairs-near-side-table-1350789.jpg&fm=jpg);
  height: 50vw;
   background-size: 100% 100%;
   background-repeat: no-repeat;
  padding: .5rem;
}
.nav-container a{margin: 0 .3rem; color: red}
<nav><h3>Company</h3><div class="nav-container"><a href="#">About</a><a href="#">History</a><a href="#">Pricing</a><div></nav>
0 голосов
/ 21 июня 2020

Если вам нужно изображение на панели навигации?

add width = "50px";

<img  width="50px" alt="Search">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...