W3.CSS Built-In Responsiveness
Responsive Classes
W3.CSS includes a responsive, mobile first grid system to handle your layout:
1/2
1/2
1/3
1/3
1/3
1/3
2/3
1/4
1/4
1/4
1/4
1/2
1/4
1/4
2/3
1/3
3/4
1/4
1/4
1/4
1/2
1/4
1/2
1/4
50px
rest
1/4
rest
100px
45px
rest
W3.CSS's grid system is responsive, and the columns will re-arrange automatically depending on the screen size:
Class | Description |
---|---|
w3-half | Occupies 1/2 of the window (on medium and large screens) |
w3-third | Occupies 1/3 of the window (on medium and large screens) |
w3-twothird | Occupies 2/3 of the window (on medium and large screens) |
w3-quarter | Occupies 1/4 of the window (on medium and large screens) |
w3-threequarter | Occupies 3/4 of the window (on medium and large screens) |
w3-rest | Defines the rest of a row |
w3-col | Defines a column in a 12 column responsive fluid grid (more in a later chapter) |
Responsive Rows
Responsive classes must be placed inside a w3-row to be fully responsive.
Class | Description |
---|---|
w3-row | Defines a padding-less container for responsive classes. |
w3-row-padding | Defines a padded container for responsive classes. |
The w3-half Class
The width of the w3-half class is 1/2 of the parent element (style="width:50%").
On small* screens it resizes to 100%.
w3-half
w3-half
Example
<div class="w3-row">
<div class="w3-green w3-container w3-half">
<h2>w3-half</h2>
</div>
<div class="w3-container w3-half">
<h2>w3-half</h2>
</div>
</div>
Try It Yourself »
The w3-third Class
The width of the w3-third class is 1/3 of the parent element (style="width:33.33%").
On small* screens it resizes to 100%.
w3-third
w3-third
w3-third
Example using w3-third
<div class="w3-row">
<div class="w3-green w3-container
w3-third">
<h2>w3-third</h2>
</div>
<div class="w3-container w3-third">
<h2>w3-third</h2>
</div>
<div class="w3-container w3-third">
<h2>w3-third</h2>
</div>
</div>
Try It Yourself »
The w3-twothird Class
The width of the w3-twothird class is 2/3 of the parent element (style="width:66.66%").
On small* screens it resizes to 100%.
w3-twothird
w3-third
Example using w3-twothird
<div class="w3-row">
<div class="w3-green w3-container
w3-twothird">
<h2>w3-twothird</h2>
</div>
<div class="w3-container w3-third">
<h2>w3-third</h2>
</div>
</div>
Try It Yourself »
The w3-quarter Class
The width of the w3-quarter class is 1/4 of the parent element (style="width:25%").
On small* screens it resizes to 100%.
w3-quarter
w3-quarter
w3-quarter
w3-quarter
Example using w3-quarter
<div class="w3-row">
<div class="w3-green w3-container
w3-quarter">
<h2>w3-quarter</h2>
</div>
<div class="w3-container w3-quarter">
<h2>w3-quarter</h2>
</div>
<div class="w3-container w3-quarter">
<h2>w3-quarter</h2>
</div>
<div class="w3-container w3-quarter">
<h2>w3-quarter</h2>
</div>
</div>
Try It Yourself »
The w3-threequarter Class
The width of the w3-threequarter class is 3/4 of the parent element (style="width:75%").
On small* screens it resizes to 100%.
w3-quarter
w3-quarter
Example using w3-threequarter
<div class="w3-row">
<div class="w3-green w3-container
w3-threequarter">
<h2>w3-threequarter</h2>
</div>
<div class="w3-container w3-quarter">
<h2>w3-quarter</h2>
</div>
</div>
Try It Yourself »
Combinations
w3-quarter
w3-half
w3-quarter
w3-quarter
w3-quarter
w3-half
w3-half
w3-quarter
w3-quarter
Nested Rows
Example: w3-half Inside w3-half
<div class="w3-row">
<div class="w3-half w3-container">
<h2>w3-half</h2>
<div class="w3-row">
<div class="w3-half w3-container w3-red">
<h2>w3-half</h2>
<p>This is a
paragraph.</p>
</div>
<div class="w3-half w3-container">
<h2>w3-half</h2>
<p>This is a
paragraph.</p>
</div>
</div>
</div>
<div class="w3-half w3-container">
<h2>w3-half</h2>
<div class="w3-row">
<div class="w3-half w3-container w3-red">
<h2>w3-half</h2>
<p>This is a
paragraph.</p>
</div>
<div class="w3-half w3-container">
<h2>w3-half</h2>
<p>This is a
paragraph.</p>
</div>
</div>
</div>
</div>
Try It Yourself »
Columns Using Rest
The w3-rest class will use what's left of the grid column.
I am 150px
I am the rest
Example using w3-rest
<div class="w3-row">
<div class="w3-col" style="width:150px"><p>150px</p></div>
<div class="w3-rest
w3-green"><p>rest</p></div>
</div>
Try It Yourself »
Columns Using Percent
You can also use the CSS width property to determine a specific width of the columns.
20%
60%
20%
Example using percent
<div class="w3-row">
<div class="w3-col"
style="width:20%"><p>20%</p></div>
<div class="w3-col" style="width:60%"><p>60%</p></div>
<div
class="w3-col" style="width:20%"><p>20%</p></div>
</div>
Try It Yourself »
The w3-content Class
The w3-content class defines a container for fixed size centered content. Use the CSS max-width property to override the default width (980px).
Difference between w3-row and w3-row-padding
The w3-row class defines a padded-less container, while the w3-row-padding class adds a 8px left and right padding to each column:
w3-row:
w3-row-padding:
Example
<div class="w3-row">
<div class="w3-col s4"><img src="img_lights.jpg"></div>
<div class="w3-col s4"><img src="img_nature.jpg"></div>
<div class="w3-col s4"><img src="img_fjords.jpg"></div>
</div>
<div class="w3-row-padding">
<div class="w3-col s4"><img src="img_lights.jpg"></div>
<div class="w3-col s4"><img src="img_nature.jpg"></div>
<div class="w3-col s4"><img src="img_fjords.jpg"></div>
</div>
Try It Yourself »
12 Column responsive fluid grid
W3.CSS also supports an advanced 12 column responsive fluid grid.
Resize the page to see the effect!
This part will occupy 12 columns on a small screen, 4 on a medium screen, and 3 on a large screen.
This part will occupy 12 columns on a small screen, 8 on a medium screen, and 9 on a large screen.
You will learn more about the fluid grid in a later chapter.
* Screen Resolutions
The built-in responsiveness of W3.CSS uses the DP size of a screen.
W3.CSS will treat an iPhone 6 with a resolution of 750 x 1334 pixels as a small screen of 375 x 667 pixels.
Small screens are less than 601 pixels DP, medium screens are less than 993 pixels DP.
Below is a list of typical device resolutions and reported DP sizes:
Iphone 4
Resolution
640 x 960
DP
320 x 480
Iphone 5
Resolution
640 x 1136
DP
320 x 528
Iphone 6
Resolution
750 x 1334
DP
375 x 667
Iphone 6s
Resolution
1080 x 1920
DP
414 x 736
Galaxy S6
Resolution
1440 x 2560
DP
360 x 640
Note 4
Resolution
1440 x 2560
DP
400 x 853
Nexus 6
Resolution
1440 x 2560
DP
411 x 731
iPad Mini
Resolution
768 x 1024
DP
768 x 1024
iPad
Resolution
1536 x 2048
DP
728 x 1024
Typical Laptop
Resolution
1366 x 768
DP
1366 x 768
Typical Desktop
Resolution
1920 x 1080
DP
1920 x 1080