То, что вы описываете своим CSS, - это наследование, и, по сути, оно «сложит» ваши определения CSS, так как вы сделали пример body {color: blue}, body {font-weight: bold;} в итоге вы получите оба значения для тела через наследование (не переопределяя!)
Чтобы противостоять наследованию, вам придется обнулить или исключить определение первичных листов CSS.
если у вас есть пример:
body { padding: 5px; color: red }
и вы хотите, чтобы на вашем втором листе было поле размером 3 пикселя с синим цветом шрифта, вы бы сделали следующее, чтобы противостоять наследованию
body {padding: 0px; margin: 3px; color: blue }
Тотаким образом, вы бы обнулили отступ (до 0, если хотите, эффективно отмените его).Цвет будет перезаписан, а поля будет новым добавленным значением.
Я бы предложил (если вы уже этого не сделали) использовать Firefox с включенной firebug (двойные экраны здесь очень помогают, но не нужны).Firebug покажет вам, какие строки отменены из-за наследования и по сути перезаписаны.
Вы также можете использовать свои собственные классы и удвоить (или более) определение класса следующим образом:
.red { color: red; }
.center { text-align: center; }
.w500px { width: 500px; }
<div class="red center w500px">This text is red and centered</div>
Таким образом, вы просто объединяете значения в одно.Может дать вам еще одну идею о том, как действовать по-другому.
Надеюсь, это поможет.