2016-04-04 3 views
0

Я играю с CSS и подчеркиваниями. Я попытался разместить 2 DIV бок о бок, но он понятия не имеет, как это сделать.Подчеркивания - рядом друг с другом DIVs

This is what I have and what I want to achieve

Первая идея: установить эти элементы в качестве встроенных элементов. Легко сказать, нелегко сделать.

Был очень похожий вопрос несколько лет назад: Side by Side DIVs in Wordpress/Underscores

Я попробовал этот код:

.site-branding { 
 
    clear: none; 
 
    display: inline; 
 
    } 
 

 
.site-title { 
 
    clear: none; 
 
    display: inline; 
 
    } 
 

 
.main-navigation { 
 
    display: inline; 
 
    }
<header id="masthead" class="site-header" role="banner"> 
 
    <div class="site-branding"> 
 
    <h1 class="site-title"><a href="#" rel="home">Sitename</a></h1> 
 
    </div><!-- .site-branding --> 
 

 
    <nav id="site-navigation" class="main-navigation" role="navigation"> 
 
    <button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"></button> 
 
    </nav><!-- #site-navigation --> 
 
</header><!-- #masthead -->

без результата (только мой фон заголовка имеет исчез).

Я понятия не имею, что я делаю неправильно (все еще новичок в CSS), поэтому я буду чрезвычайно благодарен за таргетинг на меня. Я подумал, что настройка clear: none для элемента означает «не очищать его, независимо от переопределяющих элементов» (вполне логично для меня).

Это "чистый" Подчеркивает шаблон, так что весь CSS можно найти здесь: https://github.com/Automattic/_s/blob/master/style.css

ответ

0

HTML:

<header id="masthead" class="site-header" role="banner"> 
    <div class="site-branding"> 
    <h1 class="site-title"><a href="#" rel="home">Sitename</a></h1> 
    </div><!-- .site-branding --> 

    <nav id="site-navigation" class="main-navigation" role="navigation"> 
    <button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"></button> 
<ul> 
    <li>Link</li> 
<li>Link</li> 
<li>Link</li> 
<li>Link</li> 
</ul> 
    </nav><!-- #site-navigation --> 
</header><!-- #masthead --> 

CSS:

.site-branding { 
    clear: none; 
    display: inline; 
    } 

.site-title { 
    clear: none; 
    display: inline-block; 
    width:30%; 
    } 

.main-navigation { 
    display: inline-block; 
    width:50%; 
    } 

ul >li{ 
display: inline-block; 
} 

FIDDLE

+0

Ницца! Но я не знаю, ПОЧЕМУ это работает ... –

+0

Magic. Нет, серьезно, - дайте это прочитать. Первый ответ должен предоставить вам необходимую информацию, чтобы понять, что здесь происходит: http://stackoverflow.com/questions/9189810/css-display-inline-vs-inline-block – Korgrue

+0

Только что понял, что есть вторая часть к этому, что ссылка не отвечает. Ширина очень важна. Для того, чтобы divs могли выравниваться в горизонтальном блоке - им нужна ширина, которая не превышает ширину контейнера. Формула была бы чем-то вроде D1 width + D2 Width + D3 Width ... <= общая ширина родителя. Использование процента вместо фиксированной ширины позволяет divs масштабироваться пропорционально их родительскому. – Korgrue

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