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! While you're at it, check out some resources Treehouse students have shared here.
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 trialNatalie Peterson
UX Design Techdegree Student 5,286 PointsWhy is my answer incorrect?
"It looks like we need to decrease the space between h2 elements and the paragraph that immediately follows. Create a new selector that targets p elements that are adjacent siblings of an h2. Then, set the top margin to .5em."
The second portion of my code is coming up as incorrect and I cannot figure out why?
/* Complete the challenge by writing CSS below */
.main-nav > li {
display: inline-block;
margin-left: 20px;
}
h2 ~ p {
margin-top: .5em;
}
<!DOCTYPE html>
<html>
<head>
<title>Selectors</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href='http://fonts.googleapis.com/css?family=Nunito:400,300' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="base.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<header class="main-header">
<h1>My Blog</h1>
<ul class="main-nav">
<li><a href="#">About Me</a></li>
<li><a href="#">My Work</a></li>
<li><a href="#">Get In Touch</a></li>
</ul>
</header>
<div class="main">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut et feugiat libero. Cras ut fermentum nisi. Nullam mattis, ipsum commodo laoreet volutpat, augue eros ornare lorem, eu interdum leo massa a nibh.</p>
<p>In vel semper lorem. Pellentesque in quam pulvinar, fringilla justo ac, accumsan ante. Etiam in malesuada lacus.</p>
<div class="post">
<h2>Post Heading</h2>
<p>Nulla eu vestibulum mauris. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer blandit ex velit, vitae consequat quam viverra at... <a href="#">read more »</a></p>
</div>
<div class="post">
<h2>Post Heading</h2>
<p>Aliquam cursus tempor molestie. Phasellus nec mattis elit. Sed fringilla laoreet magna, sodales vulputate leo auctor eu. Cras scelerisque laoreet faucibus. Proin cursus, metus... <a href="#">read more »</a></p>
</div>
</div>
</body>
</html>
2 Answers
Ramiro Martinez
13,858 PointsTo need to change the selector....
.main-nav > li {
display: inline-block;
margin-left: 20px;
}
h2 + p {
margin-top: .5em;
}
Erik Cruz
9,772 PointsYes, Ramiro is correct. Because the selector you used "~" will select all the p elements that come after the h2 and the + selector will select only the element that is immediately preceded by the former element, in other words only the p element that comes after the h2 will get margin-top: .5em; and not the rest of the p tags.
Natalie Peterson
UX Design Techdegree Student 5,286 PointsMakes sense, thanks Erik!
Natalie Peterson
UX Design Techdegree Student 5,286 PointsNatalie Peterson
UX Design Techdegree Student 5,286 PointsThanks Ramiro, that worked. I was stuck on the word "follow" in the question, and was trying to use ~ instead of +.