title: CSS id-element overwriting its child's definition
body: <pre><code>#top a {
    color: #C6D6CA;
    margin: 0 25px;
    text-decoration: none;
  }
  
  .mainlink a {
    display: block;
    height: 100%;
    width: 100%;
    margin: 0;
  }
  </code></pre>
  
  <p>.mainlink div sits somewhere in the #top one. Why's that the #top a (parental) definition of margin overwrites the one set in .mainlink a? How to change that behaviour? </p>