title: Does > :first-child work whether the type is known or unknown?
body: <p>I have read <a href="https://stackoverflow.com/questions/2094508/css-selector-for-first-direct-child-only">Is there a CSS selector for the first direct child only?</a> and <a href="http://www.w3schools.com/cssref/css_selectors.asp" rel="noreferrer">http://www.w3schools.com/cssref/css_selectors.asp</a></p>
  
  <p>I guess I have to apply the effect to the first-child of the <code>&lt;h1&gt;</code> tag, but I couldn't get it to work. So instead, I'm trying to use the <code>nth-child</code>, but still no luck.</p>
  
  <p><strong><a href="http://jsfiddle.net/t6bthbLc/6/" rel="noreferrer">JSFiddle</a></strong></p>
  
  <pre><code>&lt;section&gt;
  &lt;article&gt;
      &lt;h1&gt;Test Details&lt;/h1&gt;
          &lt;ul&gt;
              &lt;li&gt;Layer This&lt;/li&gt;
              &lt;li&gt;Layer That&lt;/li&gt;
              &lt;li&gt;Layers&lt;/li&gt;
          &lt;/ul&gt;
  &lt;/article&gt;
  &lt;/section&gt;
  
  &lt;section&gt;
      &lt;article&gt;
          &lt;h1&gt;Campaign details&lt;/h1&gt;
          &lt;p&gt;Text&lt;/p&gt;
      &lt;/article&gt;
  &lt;/section&gt;
  </code></pre>
  
  <p>CSS</p>
  
  <pre><code>section {
      padding:30px;
  }
  
  section article {
      background:#EBEBEB;
  }
  
  section article h1 {
      background:#0C79CB;
      padding:10px;
  }
  
  /* This is where I am struggling */
  section article h1:nth-child(2):before  {
      background-color:white !important;
      content:'';
      height:10px;
      display:block;
  }
  </code></pre>
  
  <p>If you open the fiddle, you'll note that the header has a blue background, and the content has a grey background. All I'm trying to do is to 'insert' a line of white:</p>
  
  <p>Current:</p>
  
  <p><img src="https://i.stack.imgur.com/7U6rP.png" alt="enter image description here"></p>
  
  <p>Desired (note white between the blue and grey)</p>
  
  <p><img src="https://i.stack.imgur.com/BWjj0.png" alt="enter image description here"></p>
  
  <p>Please note, I know this is quite trivial if I just add a new <code>div</code> with a class, or even add a <code>border-bottom:solid 5px white;</code> to the <code>&lt;h1&gt;</code> tag, the point is I'm trying to learn about CSS selectors so is this possible using CSS Selectors?</p>