CSS visibility PropertyS2C Home « CSS visibility Property

Definition

The CSS visibility property allows us to specify whether the box generated by an element is rendered.

Applies To

All elements.

Property Values

collapse - Removes entire rows or columns in tables elements from the normal flow.

acts the same as the hidden value on non-table elements.

hidden - The box generated by an element is invisible but still affects normal flow.

inherit - The visibility properties are inherited from the parent element.

visible - The box generated by an element is rendered.

Default Value

Default value is set to visible.

Inheritance

The visibility property is inherited from the parent element if no value is applied to the current element.

Browser Anomalies

IE5, IE6 and IE7 do not support the inherit property value.
IE8 does with a valid !DOCTYPE.
IE9+ supports the inherit property value.

Example



<!DOCTYPE html> 
<!-- Our HTML/CSS for the CSS visibility property follows -->
<html  lang="en">
<head>
<title>CSS Reference - CSS visibility Property</title>

<!-- Valid values for CSS visibility Property are:

     collapse, hidden, inherit and visible.

--> 

<style type="text/css">

div {
  width: 425px;
  padding: 10px;
  margin: 10px;
  border: 1px solid black;
}

/* Visibility set to default */
#img1 {
  float: left;
  border: 1px solid black;
  visibility: visible;
}

/* Visibility set to hidden */
#img2 {
  float: left;
  border: 1px solid black;
  visibility: hidden;
}

/* Visibility set to collapse on a table row */
#table1 {
  visibility: collapse;
}

</style>

</head>
<body>
<h1>The CSS visibility Property</h1>
<div>
<h2>visibility default</h2>
<p>
<img id="img1" src="http://htmldoctor.info/images/beefalepiesmall.jpg"
    alt="Beef and Ale Pie">
Notice how the text wraps to the right of the image. Some filler text. 
Some filler text. Some filler text. Some filler text. Some filler text.
Some filler text. Some filler text. Some filler text. Some filler text.
Some filler text. Some filler text. Some filler text. Some filler text.
Some filler text. Some filler text. Some filler text. Some filler text.
</p>
<h2>visibility hidden</h2>
<p>
<img id="img2" src="http://htmldoctor.info/images/beefalepiesmall.jpg"
    alt="Beef and Ale Pie">
Notice how the text wraps to the right of the image even though its hidden. 
Some filler text. Some filler text. Some filler text. Some filler text.
Some filler text. Some filler text. Some filler text. Some filler text.
Some filler text. Some filler text. Some filler text. Some filler text.
Some filler text. Some filler text. Some filler text. Some filler text.
</p>
<h2>no collapse on this table</h2>
<table border="2">
  <tr>
    <th>Fruit</th>
    <th>Colour</th>
  </tr>
  <tr>
    <td>Banana</td>
    <td>Yellow</td>
  </tr>
  <tr>
    <td>Pea</td>
    <td>Green</td>
  </tr>
</table>
<h2>visibility collapse on above table</h2>
<table border="2">
  <tr>
    <th>Fruit</th>
    <th>Colour</th>
  </tr>
  <tr id="table1">
    <td>Banana</td>
    <td>Yellow</td>
  </tr>
  <tr>
    <td>Pea</td>
    <td>Green</td>
  </tr>
</table>
</div>
</body>
</html>

How It Looks

The results of using the visibility property with the values above will look something like the following:

visibility

go to home page Homepage go to top of page Top