Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted over 2 years ago

ChatApp CSS Illustration (Vanilla CSS)

Lucas 👾•104,160
@correlucas
A solution to the Chat app CSS illustration challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


👾 Hello, Frontend Mentor coding community. This is my solution for the ChatApp CSS Illustration.

This challenge was really challenging! The hardest thing was the background svg images, I tried to create these gradient elements inside the css with content: ' ' and after/before but for a reason that I don't know a huge gap was created in the bottom. So I took the shortcut to finish the solution and I've exported the svg elements from Figma ❤ and placed it in the body as background-image. Then I add some animations and changed a bit the design.

🍚Follow me in my journey to finish all HTML/CSS only challenges (Only 4 missing)! Gotta Catch ’Em All

Ill be happy to hear any feedback and advice!

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • Adriano•42,870
    @AdrianoEscarabote
    Posted over 2 years ago

    fala lucas, tudo bom?

    Cara fiquei pensando aqui e talvez poderiamos resolver o problema com o pseudo elemento no body, usando um overflow-hidden para esconder o corpo da imagem a partir do momento que ela ultrapasse o tamanho do body! seria interessante testar, claro que usariamos um position: relative; no body, e nos pseudos elementos absolute!

    espero ter contribuido para uma possivel solução!... 👍

    Marked as helpful
  • Chukwudobe Micah Chinedu•700
    @chukwudobe-Micah
    Posted over 2 years ago

    Hey Lucas, is the arrow in the text area a button or it's just an SVG? I made mine a button. And also I'll appreciate if you can check my solution too and give a review, I'll appreciate it.

    Marked as helpful
  • ThaBeanBoy•230
    @ThaBeanBoy
    Posted over 2 years ago

    Man, the background feels so alive, & the way the elements are loaded on the screen. This was really impressive in my opinion. hope you don't mind me digging through the code.

    I'm curious what the '@media (prefers-reduced-motion:reduce)' does. I've seen this in a couple of places but I'm not really sure what it does. Thanks for any explanation from anyone.

    I know this might be a rookie question, is the minified CSS file supposed to improve the loading speed of the site? How would I minify my own files?

    All in all, this is a really beautiful site.

    Marked as helpful
  • HinaSejaru124•310
    @HinaSejaru124
    Posted over 2 years ago

    Actually, the 2 background objects don't fit well for large screens. In your CSS positioning, instead of using a fixed distance, I propose you to fix the distances according to percentages so as to make it a relatively absolute position according to big PC screens

    Marked as helpful
  • HinaSejaru124•310
    @HinaSejaru124
    Posted over 2 years ago

    @correlucas when seen on a phone the phone itself seems a little bit distorted e.g the speaker is left aligned the messages overflow I think for that you needed to define a fixed width for such elements so that it should be more ... Anyway I saw the improvements ... Passed from superb to exceptional

    Marked as helpful
  • Josh•560
    @jkellerman
    Posted over 2 years ago

    One of the best ones i've seen, well done!

  • Berkay Gülcüler•260
    @berksideDEV
    Posted over 2 years ago

    Looking awesome!

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
Frontend Mentor logo

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

How does the accessibility report work?

When a solution is submitted, we use axe-core to run an automated audit of your code.

This picks out common accessibility issues like not using semantic HTML and not having proper heading hierarchies, among others.

This automated audit is fairly surface level, so we encourage to you review the project and code in more detail with accessibility best practices in mind.

How does the CSS report work?

When a solution is submitted, we use stylelint to run an automated check on the CSS code.

We've added some of our own linting rules based on recommended best practices. These rules are prefixed with frontend-mentor/ which you'll see at the top of each issue in the report.

The report will audit all CSS, SCSS and Less files in your repository.

How does the HTML validation report work?

When a solution is submitted, we use html-validate to run an automated check on the HTML code.

The report picks out common HTML issues such as not using headings within section elements and incorrect nesting of elements, among others.

Note that the report can pick up “invalid” attributes, which some frameworks automatically add to the HTML. These attributes are crucial for how the frameworks function, although they’re technically not valid HTML. As such, some projects can show up with many HTML validation errors, which are benign and are a necessary part of the framework.

How does the JavaScript validation report work?

When a solution is submitted, we use eslint to run an automated check on the JavaScript code.

The report picks out common JavaScript issues such as not using semicolons and using var instead of let or const, among others.

The report will audit all JS and JSX files in your repository. We currently do not support Typescript or other frontend frameworks.

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub