Latest web development tutorials
 

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-third

<div class="w3-row">
  <div class="w3-green w3-container w3-third">
    <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


w3-third

w3-twothird


w3-quarter

w3-threequarter


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

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

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:

Example

<body class="w3-content" style="max-width:500px">

  page content...

</body>
Try It Yourself »

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!

1
2
3
4
5
6
7
8
9
10
11
12

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.

1
2
3
4
5
6
7
8
9
10
11
12

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