Встроенный Div не работает

#html #css

#HTML #css

Вопрос:

Я хочу отобразить меню во встроенной форме, но это не работает.Есть помощь?(Не беспокойтесь о картинках).Вот скриншот того, чего я хочу достичь.»Как видно» будет занимать красную рамку на скриншоте.

 <div class="header" style="display:inline;">

  <div style="font-size:26px;">
    <span> As seen on</span>
  </div>

  <div>
    <a href="https://www.marketingignite.com/basic-commonsensical-seo-tips-and-tricks/" target="_blank"><img style="vertical-align: middle; background-color:#000;" src="<?php echo get_template_directory_uri(); ?>/images/marketing_ignite_logo.png" /></a>
  </div>

  <div>
    <a href="<?php echo esc_url(home_url()); ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/logo.gif" alt="Logo Buyseoleads"></a>
  </div>

  <div class="seenBefore2" style="font-size:26px;">
    <span>As seen on</span>
  </div>

  <div>
    <a href="http://www.releasewire.com/press-releases/explaining-the-advantage-of-verified-and-exclusive-ppc-and-seo-leads-how-buy-seo-leads-helps-agencies-achieve-greater-success-and-conversions-549381.htm" target="_blank"><img style="vertical-align: middle; background-color:#000;" src="<?php echo get_template_directory_uri(); ?>/images/release_wire_logo.png"/></a>
    <!--img src="<?php //echo get_template_directory_uri(); ?>/images/daily-news-newspaper-headline.jpg" alt="Daily News Newspaper Headline"-->
  </div>

</div>  

Комментарии:

1. Вы пробовали «встроенный блок» вместо «встроенного»?

Ответ №1:

Здесь не так много, чтобы продолжать, но я попробую.

У каждого <div> по умолчанию есть контекст блока. Настройка display: inline; для родительского <div> элемента не будет унаследована дочерними <div> элементами. Применяется display: inline; ко всем <div> . Используйте <span> вместо <div> , поскольку по умолчанию это встроенный элемент, и по умолчанию он не будет пытаться занимать всю ширину родительского элемента.

Лично я бы немного изменил разметку, если вы хотите создать меню. Вместо этого используйте <nav> , <ul> , <li> <a> и т.д. Возможно, что-то вроде того, что я описал ниже.

 ul,
li {
  margin: 0;
  padding: 0;
  list-style: none;
}
li {
  padding: 3px 6px;
  float: left;
}
li img {
  vertical-align: middle;
}  
 <header>

  <nav>
    <ul>
      <li>As seen on
        <a href="#">
          <img src="http://placehold.it/50x50/ffcc00/">
        </a>
      </li>
      <li>As seen on
        <a href="#">
          <img src="http://placehold.it/50x50/cc0000/">
        </a>
      </li>
    </ul>
  </nav>

</header>  

Ответ №2:

Проблема в том, что display: inline; не допускает никакого блочного оформления. И вы использовали это для блочного элемента. Если вы хотите, чтобы элементы находились в одной строке, вам следует рассмотреть возможность использования, например, свойства float

 .header div {
  float: left;
}
  

Но не забывайте об очистке значений с плавающей точкой.

Ответ №3:

Если я вас правильно понял, вы хотите, чтобы ваши блоки (как показано на, с изображением) располагались подряд? Если это так, вы можете использовать значения с плавающей запятой. Также обратите внимание, что я заменил ваши изображения на изображения placeholdit.

https://jsfiddle.net/aa8zs200/

 <div style="width: 100%; position: relative;">

  <div style="float: left; margin-right: 10px;">
    <div style="font-size:26px;"><span> As seen on</span></div>
    <div>
      <a href="https://www.marketingignite.com/basic-commonsensical-seo-tips-and-tricks/" target="_blank">
        <img style="vertical-align: middle; background-color:#000;" src="http://placehold.it/350x150" /> </a>
    </div>
  </div>
  <div style="float: left; margin-right: 10px;">
    <div style="font-size:26px;"><span> As seen on</span></div>
    <div>
      <a href="<?php echo esc_url(home_url()); ?>"><img src="http://placehold.it/350x150" alt="Logo Buyseoleads"></a>
    </div>
  </div>
</div>
  

Ответ №4:

 span{
margin:0;
padding:0;
}
  

или

 span{
display:block;
float:left;
padding:0 10px;
}
  

Комментарии:

1. <span> по умолчанию в s отсутствуют поля и отступы. Вместо настройки <span> на display: block; использование <div> вместо этого.

Ответ №5:

Для этого вопроса вы должны установить display:inline атрибут для всех внутренних разделов, а не для внешнего div.