Enable Dark Mode!
By: Sonu S

How to Create Image Parallax Effect in Odoo 16


The Parallax Effect is a visual phenomenon in web design that imparts a sense of depth and dynamism. It’s achieved by making different elements on a webpage scroll at different speeds, creating a pseudo-3D effect. This technique, which gained popularity around 2011, enhances the user experience by adding a layer of interactivity and engagement.

The parallax effect can make a website feel more immersive and modern, and it’s often used to highlight key information or offerings on a company’s website. It can be applied to various elements, including backgrounds, images, text, and entire sections, providing a unique and captivating browsing experience.

However, it’s important to use this effect judiciously, as overuse can lead to a cluttered and confusing user interface. When used effectively, the parallax effect can significantly enhance the visual appeal and user engagement of a website.

To achieve the image parallax effect in Odoo 16, you can use custom CSS and JavaScript in your Odoo template. Here's an example of how you can implement the parallax effect for an image: To create an image parallax effect in Odoo 16 with a big blog, you can follow these steps:

First, create a new module in Odoo 16 and add a new template file to it. In the template file, add an image that you want to apply the parallax effect to.

Within your custom module, add a new template file (e.g., parallax_template.xml) where you want to implement the parallax effect.

<template id="parallax_template">
    <div class="parallax-container" t-att-style="'transform: translate3d(0, ' + state.scrollTop / 2 + 'px, 0)'">
        <!-- Your image goes here -->
        <img src="/your_image_path.jpg" alt="Parallax Image"/>

In the same template file, add a div element that will contain the image. Give the div a class name, for example, "parallax-container."

In the CSS file of your module, add the following styles for the "parallax-container" class:

/* Define styles for the parallax container */
.parallax-container {
    position: relative;
    height: 500px; /* Adjust the height to your liking */
    overflow: hidden;
/* Define styles for the image */
.parallax-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    transform: translate3d(0, 0, 0);

In the JavaScript file of your module, add the following code:

odoo.define('your_module_name.parallax', function (require) {
    "use strict";
    const { Component, useState } = = owl;
    class Parallax extends Component {
        constructor(parent, props) {
            this.props = useState({ scrollTop: 0 });
        mounted() {
            window.addEventListener('scroll', this.handleScroll);
        willUnmount() {
            window.removeEventListener('scroll', this.handleScroll);
        handleScroll = () => {
            this.props.scrollTop = window.scrollY;
    Parallax.template = 'your_module_name.Parallax';
    return Parallax;

This code sets up a parallax effect component in Odoo 16 using the OWL framework, and it responds to user scrolling by adjusting the CSS 'transform' property of a specified HTML element to create the parallax effect. In conclusion, creating an image parallax effect in Odoo 16 involves a combination of QWeb templates, CSS, and JavaScript. By creating a new module and defining a custom template, you can add a parallax effect to any image in your Odoo application. The CSS styles ensure the image is displayed correctly, and the JavaScript code creates the parallax effect by adjusting the image’s position based on the scroll position.

If you need any assistance in odoo, we are online, please chat with us.


Leave a comment




Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635



Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.



Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message