# CSS - Width property (of a box)

The width property specifies the width of boxes and it's calculation is defined by the box sizing property.

## Width HTML vs CSS attribute

Don't be confuse ! This is not the same attribute than the HTML width attributethat is only limited to an handful of HTML element such as img, iframe, …

If you want to set a width on a p element for instance,

• you need to use the css width attribute
<p style="width:80px;border:1px solid aqua;">
This paragraph will be constraint by the CSS width.
</p>

<p width="80px" style="border:1px solid aqua;">
This paragraph will not follow the width HTML attribute
</p>


## Formula

The following property have an effect on the width calculation:

• The box sizing property defines the calculation.
• The min-width and max-width properties override width.
• The white space property may prevents a line box to (wrap|break)
• The type of block: An inline block will not take the width into account.

Formula taking into account only the box sizing property:

$$\text{Width Size} = \text{Content Size}$$

$$\text{Width Size} = \text{Content Size} + \text{Padding Size} + \text{Border Size}$$

## Usage

Values 	<length> | <percentage> | auto | inherit
Initial value 	auto
Applies to 	All elements but non-replaced inline elements, table rows, and row groups
Inherited 	No 


where:

## Example

### Inline vs Block Box

.coloredBox {
width: 20px;
height: 20px;
border-left: 4px solid aqua;
border-right: 4px solid red;
border-bottom: 4px solid black;
border-top: 4px solid blue;
display:block;
}

• The type of block is important. It must be block box
<p>A block box</p>
<span class="coloredBox"></span>

<p>A inline box will not respond to the width</p>
<span class="coloredBox" style="display:inline"></span>


The p element renders by default as a block box whereas the span element renders default as a inline box