2016-04-04 1 views
0

Je joue avec CSS et Underscores. J'ai essayé de placer deux DIV côte à côte, mais je n'ai aucune idée de comment faire ça.Underscores - côte à côte DIVs

This is what I have and what I want to achieve

Première idée: définir ces éléments comme des éléments en ligne. Facile à dire, pas facile à faire.

Il y avait une question très similaire il y a quelques années: Side by Side DIVs in Wordpress/Underscores

J'ai essayé ce code:

.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 -->

sans résultat (que mon fond d'en-tête a disparu). Je n'ai aucune idée de ce que je fais mal (encore débutant en CSS), donc je serai extrêmement reconnaissant de me cibler. Je pensais que le réglage clair: aucun pour un élément signifie "ne l'efface pas, quels que soient les éléments qui le dominent" (assez logique pour moi).

Ceci est un "clair" Insiste modèle, de sorte que l'ensemble CSS se trouvent ici: https://github.com/Automattic/_s/blob/master/style.css

Répondre

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

Bien! Mais je ne sais pas POURQUOI ça marche ... –

+0

Magic. Non, sérieusement, donnez-moi une lecture. La première réponse devrait vous fournir l'information dont vous avez besoin pour comprendre ce qui se passe ici: http://stackoverflow.com/questions/9189810/css-display-inline-vs-inline-block – Korgrue

+0

Je viens de réaliser qu'il y a une deuxième partie à cela que le lien ne répond pas. La largeur est très importante. Pour que les divs puissent s'aligner dans un bloc horizontal, ils ont besoin d'une largeur qui ne dépasse pas celle du conteneur. La formule serait quelque chose comme D1 largeur + D2 Largeur + D3 Largeur ... <= largeur totale des parents. Utiliser le pourcentage au lieu d'une largeur fixe permet aux divs d'être proportionnels à leur parent. – Korgrue