What exactly are <hover-sprite> elements in HTML and how can they be maximized for effectiveness?

I've been captivated by the dynamic images on the remix 3D site showcased here:

Upon hovering over the image catalog, the photos come to life with movement.

I'm eager to recreate this effect but am facing some challenges. Upon inspecting the elements, I noticed that one of the interactive cards utilizes the <hover-sprite> tag, which is a new concept for me. Here's the code snippet for that specific card:

<div role="listitem" aria-setsize="32" aria-posinset="1" aria-label="Grid Item 1: " class="gallery-grid-item visible">
    <creation-item id="ember551" class="ember-view">
        <div data-test-selector="creation-item" draggable="true" class="item-content  ">
            <creation-router id="ember556" class="ember-view" aria-hidden="true">
                <route-to id="ember561" role="none" class="ember-view"><a tabindex="-1" title="Create an ocean scene" href="/details/0ce93dec1a8e43f6b262faff8b34015f" id="ember566" class="ember-view" aria-label="Model Create an ocean scene - Activate to go to Create an ocean scene's page.">
                        <!---->
                        <div class="item-image" data-ember-action="" data-ember-action-575="575">
                            <div class="item-image-inner">
                                <hover-sprite id="ember580" class="is-loaded ember-view">
                                    <div style="-webkit-transform: translateY(-6.666666666666667%); -ms-transform: translateY(-6.666666666666667%); transform: translateY(-6.666666666666667%); width: 100%; height: 1500%; background-image: url(https://encoding.assets.remix3d.com:443/003/0ce93dec1a8e43f6b262faff8b34015f/005/08586725131056667658993017976cu01/de7fa282fa004472a8ae94e0460051ea?format=jpg);" class="hover-sprite-sheet"></div>
                                    <!---->
                                </hover-sprite>
                            </div>
                        </div>

                    </a>
                </route-to>
            </creation-router>
            <div class="item-card-bottom">
                <creation-router id="ember581" class="ember-view">
                    <route-to id="ember582" role="none" class="ember-view"><a title="Create an ocean scene" href="/details/0ce93dec1a8e43f6b262faff8b34015f" id="ember587" class="ember-view" aria-label="Model Create an ocean scene - Activate to go to Create an ocean scene's page.">
                            <div data-test-selector="creation-item-name" class="item-name" data-ember-action="" data-ember-action-588="588">
                                <div class="item-name-text">Create an ocean scene</div>
                                <span class="remix-icon icon-chevron-right-med"></span>
                            </div>

                        </a>
                    </route-to>
                </creation-router>
                <a data-test-selector="creation-item-add-button" title="Add to board" tabindex="0" href="#" id="ember593" class="item-add-button remix-icon icon-add ember-view"></a>
            </div>
        </div>
    </creation-item>

</div>

Any guidance on how to replicate this effect or insights on using hover sprites would be greatly appreciated!

Answer №1

It seems like the website is leveraging the power of the Ember.js framework, enabling the creation of custom HTML tags (Components), such as <hover-sprite>.

Regarding the animation you experience when hovering over a catalog item ... for each item, they have crafted an image sprite (example sprite from Remix 3D). This sprite consists of sequential snapshots of an object rotating. Based on the position of the cursor, the sprite shifts to reveal the next snapshot in the rotation sequence.

You don't necessarily have to utilize Ember.js to achieve this effect. Here's an alternative example using jQuery that showcases a solution: Rotate sprite javascript.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Difficulties encountered when attempting to use a background image for shadow effects within a CSS design

I have been learning from a tutorial on how to create a fixed tabless CSS layout, starting from Photoshop and ending with HTML+CSS code. Here is the final example suggested by the tutorial (how it should look like in the end): And this is my own version ...

Are there any tools available that can generate CSS code automatically

Our team offers a pre-set CSS file along with the HTML mock-up for partners to customize, such as changing colors and background images, to match their desired aesthetic. They then provide feedback on the modified CSS files back to us. However, we face a ...

Is there a way to automatically update the child option when the parent option is altered?

I am attempting to modify the child option based on the parent option selection, similar to how it works in Bootstrap. ` <div class="wrap-input100 input100-select bg1"> <span class="label-input100">Indus ...

Using CSS3 to Enhance the Look of Multiple Background Images

While I've come across similar inquiries, I haven't found a satisfactory explanation yet. My aim is to grasp the best CSS practices for implementing multiple repeating backgrounds. Essentially, I want a background image to repeat across the entir ...

How can I implement user-specific changes using Flask?

I am a beginner with Flask and I am working on a project where users can sign up, and if the admin clicks a button next to their name, the user's homepage will change. Below is the Flask code snippet: from flask import Flask, redirect, url_for, render ...

Determine the specific cell involved in an HTML5 drag-and-drop interaction within a table

I've been experimenting with the HTML5 drag and drop functionality in an Angular project. Here's the setup I'm working with: A container containing draggable 'objects' A table where users can drop the dragged elements Following ...

Can two Angular element components be utilized simultaneously on a single page in Angular 6?

Currently, I'm attempting to host independent Angular elements that can be seamlessly integrated into a non-Angular webpage. Everything works perfectly fine when there's only one element on the page, but as soon as I try to load two or more, I en ...

How can I move one of the multiple input fields to the top right side?

I am facing an issue and need some assistance. I have created a page with multiple font controls, but in my prototype design, there is a field on the right side where the inputs are positioned at the top and on the right. How can I achieve this? I have cr ...

Tips for inserting a rotated image using CSS

I've created the following code snippet. However, there is a new requirement stating that the image needs to be rotated by 180 degrees. How can I make this happen? #cell { background-image: url("../images/logo.PNG"); background-attachment: fixed; b ...

Decoding Encrypted HTML with Incorrect Formatting

After retrieving encoded HTML from the database, I decoded it in one section but noticed that the bold, italic, and other formatting were not displaying. Only plain text was showing. Here is my code: string a = da.GetLeftPanelData();//<-- in here Enco ...

Searching for the clicked tr element within a tbody using jQuery

Here is my customized HTML table layout <table> <thead> <tr> <td class="td20"><h3>Client Name</h3></td> <td class="td20"><h3>Details</h3></td> ...

A guide on transforming a JSON object representing an HTML element into a live HTML element for display on a webpage using C#, JavaScript, or jQuery

I am looking to retrieve a JSON object from a database and convert it into HTML format. Here is an example of the JSON structure: {"input":{ "name":"fname", "type":"text", "placeholder":"Ente ...

Watching a video play within a slider and transitioning seamlessly to an image once the video ends

I am currently facing an issue with a video playing inside a HeroCarousel slider. Before the slider, there is an image and after the slider, there is another image. This is my code: <div data-time="8000" data-prev-src="/media/splash/slider-left.png" ...

Unexpected lighting outcomes affecting the appearance of a 3D model in Three.js

Currently, I am immersed in creating a captivating 3D scene with Three.js, incorporating a 3D model through the libraries @react-three/fiber and @react-three/drei. The model itself renders flawlessly, however, I am faced with challenges in achieving the de ...

Dynamic visual content (map)

I'm currently working on creating an interactive image for my website where clicking on points A, B, C, ... N will reveal bubbles with images and text inside them. Would anyone be able to provide guidance on how to achieve this? Or direct me to resou ...

Issues arise with the HTML application cache while in offline mode after clicking the refresh button

I have encountered a problem with my web app that has been developed using application cache. I am currently testing it on Windows Phone 8.1 with the IE 11 mobile browser. Everything works smoothly when the internet connection is turned off and the web a ...

What is the best way to hide certain buttons from specific users in Angular using the If condition?

I am facing an issue with my array of blocked_users, where I need to hide certain buttons if a user is in the blocked_users list. Below is the code snippet from my angualr.component.html: <div *ngIf="!(userId in event.blocked_users)"> ...

Exploring menu options in a responsive web design interface

Hey, I'm having an issue with my website header. It looks great on full-width screens, but I need to address low screen resolutions using @media queries. I have a checkbox that reveals the menu items when checked. However, I'm facing an overlay p ...

What is the best way to display numerical data within an inline list format?

Here is a list I have: <ol> <li>Login</li> <li>Address</li> <li>Shipping</li> </ol> The numbers in the list display correctly as decimals. However, when I change the <li> tag to inline or ...

What are the steps to create a horizontal submenu in WordPress?

Is there a way to change the default vertical sub menu of my main menu to horizontal? The CSS for the sub menu in stylesheet.css is as follows: .main-nav>ul>li .sub-menu> li { padding:0 20px; } .main-nav>ul>li .sub-menu> li:first-ch ...