Files
30-seconds-of-code/snippets/box-sizing-reset.md
30secondsofcode 983bc086c1 Travis build: 407
2019-08-26 10:03:49 +00:00

44 lines
816 B
Markdown

---
title: Box-sizing reset
tags: layout
---
Resets the box-model so that `width`s and `height`s are not affected by their `border`s or `padding`.
```html
<div class="box">border-box</div>
<div class="box content-box">content-box</div>
```
```css
html {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
.box {
display: inline-block;
width: 150px;
height: 150px;
padding: 10px;
background: tomato;
color: white;
border: 10px solid red;
}
.content-box {
box-sizing: content-box;
}
```
#### Explanation
1. `box-sizing: border-box` makes the addition of `padding` or `border`s not affect an element's `width` or `height`.
2. `box-sizing: inherit` makes an element respect its parent's `box-sizing` rule.
#### Browser support
- https://caniuse.com/#feat=css3-boxsizing