Max-height ignored in Firefox, works in Chrome and Safari

Solution 1:

You need to tell the browser about html height and body height. Then it calculates the height based on those sizes. The following works fine on all bowers.

html { height: 100%; }

body {
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 0px;
}

.display {
    max-width: 80%;
    max-height: 80%;
    overflow: hidden;
}

There's a working example here: http://jsfiddle.net/P7wfm/

If you don't want image to crop if they exceed the 80% height or width set img height to

.display img {
    min-height: 100%;
    min-width: 100%;
}

Solution 2:

I agree with @Uds, you will need to specify the height and width of the body and html element

Other thing to keep in mind:

Moreover you will also need to define the browser in CSS code, you can define it by follow:

.display{
  /* For general browser */
  max-width: 80%;
  max-height: 80%;

  /* For Firefox browser */
  -moz-width: 80%;
  -moz-height:80%;

  /* For Chrome and Safari browser */
  -webkit-width: 80%;
  -webkit-height:80%;

  /* For Opera browser */
  -o-width: 80%;
  -o-height:80%;
}

This will specify that which browser should have what kind of height or width.

Solution 3:

You need to set height for container element or to body:

body {
    height:100%;
    min-height:100%;
}