Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial

Tom Malin
Courses Plus Student 8,377 PointsFloating an image to the right of Nav Bar with Responsive Layout
Is there a way to float an image to the right of my Primary Navigation Bar, in a responsive design.
Using Wordpress v3.8, Genesis Framework v2.0.2
8 Answers

Richmond Lauman
28,793 PointsIt is difficult to get an idea of what the styling would look like now or how you want it to look in relation, but I think if you concentrate on the genesis-nav-menu and promo selectors, trying out different combinations of values for display, clear, and float properties, you may find an answer by trial and error. Start with changing the display in promo to inline-block and see what happens.
Often if I try something and it does not work, it might still give me a clue as to what will.

Tom Malin
Courses Plus Student 8,377 PointsAlso the image is larger than the height, so I cannot just replace the nav bar text with a background image. If I do that the navigation bar gets large, and the images goes to the next line.

Richmond Lauman
28,793 PointsLet's see what you have for CSS code. I will say now though that you should be able to get the effect you want using float and display properties with media queries.

Tom Malin
Courses Plus Student 8,377 PointsI have created a custom widget to the right of the Primary Navigation Bar in Wordpress; I have a simple CSS Float:
.promo { float: right; display: block; }
The image renders to the right of the Navigation Bar, but the image height is larger, so it is making the Navigation Bar larger than the original size of the navigation bar. I would like it to not affect the Navigation Bar, and float on top with the height of the Navigation Bar the same, and the images over hanging over the top and bottom.

Richmond Lauman
28,793 Pointscan I see the css for the nav bar too?

Tom Malin
Courses Plus Student 8,377 Points/* Site Navigation ---------------------------------------------------------------------------------------------------- */
.genesis-nav-menu { clear: both; color: #999; font-family: Lato, sans-serif; line-height: 1.5; width: 100%; }
.genesis-nav-menu .menu-item { display: inline-block; text-align: left; }
.genesis-nav-menu a { border: none; color: #999; display: block; padding: 28px 24px; padding: 2.8rem 1rem; position: relative; }
.genesis-nav-menu a:hover, .genesis-nav-menu .current-menu-item > a, .genesis-nav-menu .sub-menu .current-menu-item > a:hover { color: #333; }
.genesis-nav-menu .sub-menu .current-menu-item > a { color: #999; }
.genesis-nav-menu > .menu-item > a { text-transform: uppercase; }
.genesis-nav-menu .sub-menu { left: -9999px; opacity: 0; position: absolute; -webkit-transition: opacity .4s ease-in-out; -moz-transition: opacity .4s ease-in-out; -ms-transition: opacity .4s ease-in-out; -o-transition: opacity .4s ease-in-out; transition: opacity .4s ease-in-out; width: 200px; z-index: 99; }
.genesis-nav-menu .sub-menu a { background-color: #fff; border: 1px solid #eee; border-top: none; font-size: 14px; font-size: 1.4rem; padding: 16px 20px; padding: 1.6rem 2rem; position: relative; width: 200px; }
.genesis-nav-menu .sub-menu .sub-menu { margin: -54px 0 0 199px; }
.genesis-nav-menu .menu-item:hover { position: static; }
.genesis-nav-menu .menu-item:hover > .sub-menu { left: auto; opacity: 1; }
.genesis-nav-menu > .first > a { padding-left: 0; }
.genesis-nav-menu > .last > a { padding-right: 0; }
.genesis-nav-menu > .right { display: inline-block; float: right; list-style-type: none; padding: 28px 0; padding: 2.8rem 0; text-transform: uppercase; }
.genesis-nav-menu > .right > a { display: inline; padding: 0; }
.genesis-nav-menu > .rss > a { margin-left: 48px; margin-left: 4.8rem; }
.genesis-nav-menu > .search { padding: 14px 0 0; padding: 1.4rem 0 0; }
/* Site Header Navigation --------------------------------------------- */
.site-header .sub-menu { border-top: 1px solid #eee; }
.site-header .sub-menu .sub-menu { margin-top: -55px; }
/* Primary Navigation --------------------------------------------- */
.nav-primary { background-color: #333; }
.nav-primary a:hover, .nav-primary .current-menu-item > a { color: #fff; }
.nav-primary .sub-menu a:hover { color: #333; }

Tom Malin
Courses Plus Student 8,377 PointsThank you!
Mike Baxter
4,442 PointsDepends on what you want for the nav bar. If you want it to run the full width of the page, and place a promo on top of that nav bar, you'll want to separate the nav bar from the promo image. (Use separate divs.)
From a learning standpoint, I think you might be misunderstanding how the "clear:both" property works. I really struggled with that for a long time as well as floats, but I'm now getting the hang of it.
Bottom line, if you're using some sort of clearfix (which is common when you float elements), you'll need to separate the nav bar from that promo image.
I threw something together on CodePen, hopefully it helps!
http://codepen.io/anon/pen/qkxuA
For posterity here's the relevant HTML:
<nav class="clearfix">
<ul>
<li>About</li>
<li>Home</li>
<li>Contact</li>
</ul>
</nav>
<div class="promo-wrapper">
<div class="promo">
<img src="image.jpg" width="200" height="200">
</div>
</div>
and CSS
body {
margin: 0;
}
nav {
width: 100%;
}
.clearfix:before,
.clearfix:after {
content: "";
display: table;
}
.clearfix:after {
clear: both;
}
nav ul {
list-style: none;
}
nav li {
float: left;
margin: 0 10px;
}
.promo-wrapper {
position: absolute;
width: 100%;
top: 0px;
}
.promo {
float: right;
}
Dave Evans
13,160 PointsDave Evans
13,160 PointsPlease add your code so that the community can better assist you with your issue.