title: Why doesn't this CSS :first-child selector work?
body: <p>I'm working on an Asp.Net MVC 3 project and have run into a brick wall on why this doesn't work like I think it should.</p>
  
  <p>My markup is:</p>
  
  <pre><code>&lt;fieldset&gt;
      &lt;input type="hidden" value="2"&gt;
      &lt;div class="editor-label"&gt; 
          &lt;label for="Name"&gt; Name&lt;/label&gt;
      &lt;/div&gt;
      ...
  &lt;/fieldset&gt;
  </code></pre>
  
  <p>My css is:</p>
  
  <pre><code>.display-label, .editor-label
  {
      margin: 0.8em 0 0 0;
      font-weight: bold;
      display: inline;
  }
  
  fieldset &gt; div:first-child
  {
      margin: 0;
  }
  </code></pre>
  
  <p>All I want to do is make the first div in the fieldset have a margin of 0. I thought that the selector <code>fieldset &gt; div:first-child</code> would apply the style to "the first child of a fieldset, whose type is a div", but apparently something is eluding me.</p>
  
  <p>I've tried this in IE9/FF/Chrome so it's not an old browser messing with my selectors.</p>
  
  <p>Thanks.</p>