Usage of -moz-opacity property with CSS

The -moz-opacity property was a Mozilla-specific CSS property used to set the opacity of HTML elements, including images. This property created transparent effects in older Firefox browsers before the standard opacity property was widely supported.

Browser-Specific Opacity Properties

Different browsers historically required different approaches for opacity:

  • Mozilla Firefox: -moz-opacity
  • Internet Explorer: filter: alpha(opacity=x)
  • Modern browsers: opacity (standard)

Syntax

/* Legacy Mozilla syntax */
-moz-opacity: value;

/* IE filter syntax */
filter: alpha(opacity=value);

/* Modern standard syntax */
opacity: value;

The value ranges from 0 (completely transparent) to 1 (completely opaque) for -moz-opacity and opacity, while IE's filter uses 0-100.

Example

Here's how to create cross-browser compatible opacity for images:

<!DOCTYPE html>
<html>
<head>
    <style>
        .transparent-image {
            border: 1px solid red;
            -moz-opacity: 0.5;        /* Old Firefox */
            filter: alpha(opacity=50);  /* IE */
            opacity: 0.5;             /* Modern browsers */
        }
        
        .comparison img {
            margin: 10px;
            border: 1px solid #ccc;
        }
        
        .normal { opacity: 1; }
        .semi-transparent { opacity: 0.5; }
        .very-transparent { opacity: 0.2; }
    </style>
</head>
<body>
    <h3>Legacy Browser Support Example</h3>
    <img class="transparent-image" src="/css/images/logo.png" alt="Transparent Image" width="100" height="100">
    
    <h3>Modern Opacity Comparison</h3>
    <div class="comparison">
        <img class="normal" src="/css/images/logo.png" alt="Normal" width="80" height="80">
        <img class="semi-transparent" src="/css/images/logo.png" alt="50% opacity" width="80" height="80">
        <img class="very-transparent" src="/css/images/logo.png" alt="20% opacity" width="80" height="80">
    </div>
</body>
</html>

Modern Approach

Today, use the standard opacity property instead of vendor prefixes:

<!DOCTYPE html>
<html>
<head>
    <style>
        .modern-opacity {
            opacity: 0.7;
            transition: opacity 0.3s ease;
        }
        
        .modern-opacity:hover {
            opacity: 1;
        }
    </style>
</head>
<body>
    <img class="modern-opacity" src="/css/images/logo.png" alt="Modern opacity" width="150" height="150">
    <p>Hover over the image to see opacity transition</p>
</body>
</html>

Browser Compatibility

Property Browser Support Status
-moz-opacity Old Firefox only Deprecated
filter: alpha(opacity) IE 6-8 Legacy
opacity All modern browsers Standard

Key Points

  • Values range from 0 (transparent) to 1 (opaque) for opacity and -moz-opacity
  • IE filter uses 0-100 scale
  • Opacity affects the entire element and its children
  • Use rgba() or hsla() for background-only transparency

Conclusion

The -moz-opacity property is now obsolete. Use the standard opacity property for modern web development, which provides consistent cross-browser transparency effects.

Updated on: 2026-03-15T23:18:59+05:30

853 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements