Welcome to the Treehouse Community
The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Sean Flanagan
33,232 PointsWhy does Column C get forced under Column A?
Hi. I used the :not class to exclude Column A, but Column C was forced underneath it. Here's my HTML:
<!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="css/base.css">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div id="container">
<nav>
<a href="#col-a">Column A</a>
<a href="#col-b">Column B</a>
<a href="#col-c">Column C</a>
</nav>
<div class="row group">
<div id="col-a" class="col">
<h2>Column A</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris interdum arcu nisl, at vestibulum purus cursus ultrices. Sed consectetur faucibus velit, quis ultrices nisi.</p>
<p>Donec rutrum magna mi, vitae congue elit egestas quis. Praesent ultrices rhoncus venenatis. </p>
</div>
<div id="col-b" class="col">
<h2>Column B</h2>
<p>nteger scelerisque nisl sit amet eleifend mollis. Fusce eu tristique massa, et vehicula risus. Fusce congue convallis enim eget dignissim. Quisque auctor erat et.</p>
<p>Nulla faucibus, vel lacinia ex lacinia. Nunc ut odio mattis magna vulputate viverra et et ligula.</p>
</div>
<div id="col-c" class="col">
<form>
<h2>Column C</h2>
<label for="name">Name:</label>
<input type="text" id="name">
<label for="email">Email:</label>
<input type="email" id="email" placeholder="email@website.com">
<input class="btn" type="submit" value="Sign up">
</form>
</div>
</div>
</div>
</body>
</html>
And my CSS:
:root {
background: #e3effb;
}
:target {
background: #384047;
color: white;
}
#col-c:target {
background: #eff1f2;
color: initial;
box-shadow: 0 0 6px rgba(0,0,0, .2);
}
input:not([type="submit"]) {
box-shadow: inset 0 2px 0 rgba(0,0,0, .15);
}
.col:not(:first-child) {
margin-left: 15px;
}
Does anyone know why this happens please?
Thanks
Sean :-)
1 Answer

George Singleton
10,028 PointsHi Sean. The problem is occurring because when you add the left margin to the columns, the total width becomes greater than the width of the page. This forces the browser to float the last column below the others.
You could either lower the left-margin value under your .col:not(:first-child) selector, or open the base.css file and change the width of the .col class (I changed mine to 30% for testing purposes and this seemed to work fine.)
Hope this helps.
Sean Flanagan
33,232 PointsSean Flanagan
33,232 PointsHi George. It did help.
Thanks
Sean