Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

NTF-card-component

@Ridwan10000

Desktop design screenshot for the NFT preview card component coding challenge

This is a solution for...

  • HTML
  • CSS
1newbie
View challenge

Design comparison


SolutionDesign

Solution retrospective


What challenges did you encounter, and how did you overcome them?

I had to review some of the transition properties to make that transition effect. I watched some videos on youtube for that.

What specific areas of your project would you like help with?

The transition overflows the ethereum image. Please help me fix that.

Community feedback

@krushnasinnarkar

Posted

Hi @Ridwan10000,

Congratulations on successfully completing the challenge!

As you asked about the transition overflows the Ethereum image, here's an explanation and a solution to help you fix the issue.

Issue Explanation

The overflow issue arises due to the default behavior of the img element in HTML. By default, images are treated as inline-block elements, which means they are aligned along the baseline of the text. This can introduce small gaps or misalignments when images are used within containers or with other images.

Key Reasons for the Issue:

  1. Baseline Alignment: Inline-block elements (including images by default) are aligned to the baseline of their parent container, which can create small gaps or cause misalignment with other elements, especially if there is no surrounding text.
  2. Whitespace Handling: Browsers may render a small space below the image due to the way they handle whitespace in the HTML. This space can cause the image to appear slightly larger or misaligned.
  3. Line-height and Font-size: The line-height and font-size of the parent container can affect the vertical alignment of inline-block elements, causing subtle shifts or gaps.

Solution

By setting display: block; on the image, you make it a block-level element, which:

  • Removes it from the inline formatting context.
  • Ensures it takes up the full width of its container without any additional space below it.
  • Prevents baseline alignment issues and removes any gaps introduced by inline-block behavior.

Here’s how you can apply this solution to your images:

.equilibrium-image,
.eye-image {
  display: block;
}

Why the Issue Occurs for One Image and Not the Other:

The issue with the gap occurring for one image and not the other can be related to the different ways these images are being handled in terms of positioning and layout within their container:

  • Positioning and Display Context: The equilibrium-image and eye-image are both images, but they are positioned differently. The eye-image is positioned absolutely, which means its positioning is dependent on its parent container (image). This absolute positioning could be affecting the layout, especially if the parent container or surrounding elements have styles that introduce gaps or misalignment.
  • CSS Transitions and Initial Positioning: The eye-image is initially positioned off-screen using top: -100%; and then transitioned into view on hover. This initial off-screen positioning and subsequent transition could introduce layout shifts or gaps, especially if the dimensions of the image are not perfectly aligned with the container.
  • Inline-Block Behavior: Both images are initially inline-block elements. Inline-block elements can sometimes render with extra space below them due to baseline alignment, which can be more noticeable when the images are positioned differently (e.g., one absolutely positioned and the other not).

Applying the Fix: To ensure both images align correctly and prevent the overflow or cropping issue, setting both images to display: block; is a good solution. This eliminates the inline-block behavior that can cause these gaps.

I hope you find this helpful, and I would greatly appreciate it if you could mark my comment as helpful if it was.

Feel free to reach out if you have more questions or need further assistance.

Happy coding!

Marked as helpful

1

@Ridwan10000

Posted

@krushnasinnarkar Great Help! Great help! Your comment is very informative. Got to learn many things from it. Thanks ..

0

@krushnasinnarkar

Posted

@Ridwan10000

Feel free to reach out if you have more questions or need further assistance.

Happy coding!

1

@Ridwan10000

Posted

@krushnasinnarkar bro, I'm stuck in a part of my project. Could you please help me?

0

@krushnasinnarkar

Posted

@Ridwan10000

Absolutely, I can help with that.

1

@Ridwan10000

Posted

@krushnasinnarkar code:https://github.com/Ridwan10000/product-preview-card

live site:https://ridwan10000.github.io/product-preview-card/

I can not fix the image's height?

0

@Ridwan10000

Posted

@krushnasinnarkar Also, if you don't mind giving me your social media links like discord, facebook, twitter whatever, please share me a link. That would be easier for me to get help from you I think.Thank you very much...

0

@krushnasinnarkar

Posted

@Ridwan10000

I will look into it and let you know.

0

@krushnasinnarkar

Posted

@Ridwan10000

Issue: The height of the .image section did not fit properly within the main container, resulting in a short height issue.

Solution:

  1. Remove the following lines from the .image class in the CSS:

    /* width: 50%; */
    /* height: 100%; */
    
  2. Add the following line to the .image class to ensure it grows to fill the available space:

    flex: 1;
    

Explanation: By removing the fixed width and height properties and applying flex: 1;, the .image section is set to grow and fill the remaining space in the main container. This ensures that the .image section’s height adjusts appropriately and maintains the desired layout.

I hope you find this helpful, Feel free to reach out if you have more questions or need further assistance.

Happy coding!

Marked as helpful

1

@krushnasinnarkar

Posted

@Ridwan10000

you can connect with me on linkedin. I don't use discord, facebook, twitter.

My Linkedin

1

@Ridwan10000

Posted

@krushnasinnarkar I got the same answer from the discord community. Thanks a lot.

0

@Ridwan10000

Posted

@krushnasinnarkar Yeah sure...

0

Please log in to post a comment

Log in with GitHub
Discord logo

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord