2016-01-24 3 views
1

Я продлил тему с двадцати четырнадцати. И у меня есть этот заголовок PHP теперь: классКак показать логотип и название в одной строке?

<header id="masthead" class="site-header" role="banner"> 
    <div class="header-main"> 
     <img class="site-logo" src="<?php echo bloginfo('stylesheet_directory');?>/images/ic_logo.png" alt="Image" width="32" height="32"/> 
     <h1 class="site-title"><a href="<?php echo esc_url(home_url('/')); ?>" rel="home"><?php bloginfo('name'); ?></a></h1> 

     <div class="search-toggle"> 
      <a href="#search-container" class="screen-reader-text" aria-expanded="false" aria-controls="search-container"><?php _e('Search', 'twentyfourteen'); ?></a> 
     </div> 

     <nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation"> 
      <button class="menu-toggle"><?php _e('Primary Menu', 'twentyfourteen'); ?></button> 
      <a class="screen-reader-text skip-link" href="#content"><?php _e('Skip to content', 'twentyfourteen'); ?></a> 
      <?php wp_nav_menu(array('theme_location' => 'primary', 'menu_class' => 'nav-menu', 'menu_id' => 'primary-menu')); ?> 
     </nav> 
    </div> 

    <div id="search-container" class="search-box-wrapper hide"> 
     <div class="search-box"> 
      <?php get_search_form(); ?> 
     </div> 
    </div> 
</header> 

И CSS для изображения логотипа:

.site-logo { 
    float: left; 
} 

Базовая тема стилей CSS:

.site-title { 
    float: left; 
    font-size: 18px; 
    font-weight: 700; 
    line-height: 48px; 
    margin: 0; 

    /* Nav-toggle width + search-toggle width - gutter = 86px */ 
    max-width: -webkit-calc(100% - 86px); 
    max-width:   calc(100% - 86px); 
} 

.site-title a, 
.site-title a:hover { 
    color: #fff; 
    display: block; 
    overflow: hidden; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
} 

Но логотип показывает выше название сайта ...

Как я могу выровнять его в одну строку?

+0

который является 'логотипом'? – RamRaider

+0

Это ' 'в моей папке темы. –

+0

, так что вы хотите, чтобы' h1' и изображение/логотип были одной одной строкой ? – RamRaider

ответ

2

Свойство CSS, которое вы должны понимать здесь, это свойство display. Значок img имеет отображаемое значение inline-block, поэтому он имеет ширину и высоту и будет отображаться на одной строке. Однако тег h1 имеет отображаемое значение block. Элементы уровня блока по существу ставят разрыв строки до и после себя, делая их отображаемыми на их собственной линии.

Вы можете преодолеть это поведение, либо делая h1inline или inline-block элемент:

h1 { display: inline-block; } 

Или с помощью float собственности, чтобы преодолеть эту проблему. Это будет немного сложнее для новичков, чтобы они обнялись. W3Schools provide this article, который вам может пригодиться.

+0

Я стараюсь это, но ничего не изменилось '.Выходного-титул.. { \t размера шрифта: 20px; \t дисплей: встроенный блок; } .Выходных-логотип { \t поплавка: левый; \t дисплея: встроенный блок; } ' –

+0

Это базовый стиль темы:' .Выходного-заголовок { \t поплавка: левое; \t font-size: 18px; \t font-weight: 700; \t line-height: 48px; \t margin: 0; \t/* Nav-toggle width + search-toggle width - gutter = 86px */ \t max-width: -webkit-calc (100% - 86px); \t max-width: calc (100% - 86px); } .site-title a, .site-title a: hover { \t цвет: #fff; \t дисплей: блок; \t переполнение: скрыто; \t text-overflow: многоточие; \t white-space: nowrap; } ' –

+1

Я думаю, что попытка решить это привела к тому, что вы наложили слой на слой конфликтующего CSS.Если бы это был я, я бы удалил все, что нужно сделать с float и width, и начните снова с простого простого объявления display: inline-block; 'для' h1'. – HenryTK

Смежные вопросы