title: Why is the W3C box model considered better?
body: <p>Why do most developers consider the W3C <a href="https://en.wikipedia.org/wiki/CSS_box_model" rel="nofollow noreferrer">box model</a> to be better than the box model used by Internet Explorer?</p>
  
  <p>It's very frustrating developing pages that look the way you want them on Internet Explorer, but I find the W3C box model counterintuitive. For example, if margins, padding, and border were factored into the width, I could assign width values to all my columns without worrying about the number of columns, and any changes I make to their padding and margins.</p>
  
  <p>With W3C's box model I have to worry about the number of columns I have, and develop something akin to a mathematical formula to calculate the correct width values when modifying margins and padding. Changing their values would be difficult, especially for complex layouts. Consider this small frame-work I wrote:</p>
  
  <pre><code>#content {
      margin:0 auto 30px auto;
      padding:0 30px 30px 30px;
      width: 900px;
  }
  
      #content .column {
          float: left;
          margin:0 20px 20px 20px;
      }
      #content .first {
          margin-left: 0;
      }
      #content .last {
          margin-right: 0;
      }
  
          .width_1-4 {
              width: 195px;
          }
          .width_1-3 {
              width: 273px;
          }
          .width_1-2 {
              width: 430px;
          }
          .width_3-4 {
              width: 645px;
          }
          .width_1-1 {
              width: 900px;
          }
  </code></pre>
  
  <p>The values I assigned here will falter unless there are three columns, and thus margins at <code>0+20+20+20+20+0</code>. It would be difficult to modify padding and margins; my entire widths would have to be recalculated. If column width incorporated padding and margins, all I would need to do is change the width and I have my layout. I'm less criticizing the box model and more hoping to understand why it's considered better as I'm finding it difficult to work with.</p>
  
  <p>Am I doing this thing wrong? It just seems counterintuitive to use W3C's box model.</p>