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

All comments

  • @EddieBones1

    Submitted

    What are you most proud of, and what would you do differently next time?

    I'm proud that I'm getting more comfortable and better with using HTML and CSS.

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

    A challenge that I encounter while working on this project is creating the table that is in the Nutritional Facts section of the recipe page. I overcame this challenge by doing tons of research until I found out about the :last-of-type pseudo-class from mdn web docs.

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

    I can't think of any specific areas of this project that I would like help with.

    Sabine 40

    @SabineEmden

    Posted

    Hi there! 👋 Good job on completing the challenge.

    The solution includes semantic HTML elements. It’s accessible. The layout looks good on a variety of screen sizes. The code is well structured, with exception of the <main> element, and readable. The solution differs from the design in only a few minor points.

    I don’t have any experience with SCSS and can’t comment on your use of it.

    The biggest issue I see is the placement of the <main> element. Its opening tag is on line 26 under the <img> tag and inside <div class=“container”>. The <div> is closed on line 122 below the closing for the <table> element. The closing tag for the <main> element is on line 132 between the closing tags for the <footer> and <body> elements. The browser corrects that and treats <main> as a child of <div class=“container”>.

    Take a look at the MDN documentation for the main element. It represents the main content area of a document. In my opinion, the whole <div class=“container”> belongs inside <main>.

    Here are a few more suggestions how you could improve your code:

    • Using an <h3> element for the heading Preparation time skips a heading level. The heading is one level below <h1> and therefore should be an <h2>. Use a class to style it differently than the other two <h2> elements.
    • To match the design more closely, change the text color for the list items under Ingredients and Instructions.
    • Take a look at the placement of the list markers for all three lists and try to match the design in your solution.

    I hope this helps. Let me know if you have any questions.

    Happy coding! 😎

    0
  • Sabine 40

    @SabineEmden

    Posted

    Hi there! 👋 Good job on completing the challenge.

    I’m guessing this is your first challenge on Frontend Mentor. Your code has a lot of room for improvement. Don’t worry! That’s perfectly normal. Try to learn as much as you can from this project. Then use what you’ve learned in your next projects.

    I’ll point out a some key issues you should work on. When you’ve reviewed those and improved your code, let me know, and I’ll be happy to give you additional feedback!

    Does the solution include semantic HTML?

    • The h1 heading and the two p elements for city and description are all semantic HTML and great choices.
    • The five links that you have in the div with class=“platform” don’t have any semantic HTML at all. This should be an unordered list with a elements inside the list items.
    • You also need a main landmark for accessibility. The attribution would not go into main. It would be in a footer element.

    Is it accessible, and what improvements could be made?

    • In addition to the semantic HTML I mentioned, the solution has a number of other accessibility issues.
    • The image needs to have alt text.
    • All font sizes should be in rem, not pixel. This allows the user to change the font size in their browser settings.
    • There should be no fixed height on the body element. Replace height: 100vh with min-height: 100vh or min-height: 100svh.
    • There should be no fixed height on the card component. Let the content determine the height. This allows the height to change if the user changes the font size in their browser settings.
    • The width of the card component should be in rem, not pixel.
    • The links should not have a fixed width in pixels. Add some padding to the card component and change the links to display: block. That will solve the problem.

    Does the layout look good on a range of screen sizes?

    • The profile picture is too large on smaller screen sizes, and there is an uneven gap between the card component and the edges of the screen.
    • This project doesn't need any media queries.

    Is the code well-structured, readable, and reusable?

    • The two divs with class=“image” and class=“title” are not needed.
    • There is a lot of repetition in the CSS, which make the code hard to read and to reuse. The links can all be styled together. And as I already mentioned, this project does not need any media queries.

    Does the solution differ considerably from the design?

    • The solution uses font-family: Verdana, Geneva, Tahoma, sans-serif. The style guide specifies Inter as the font family.
    • The colors in the solution don’t match the colors specified in the style guide.
    • The solution has no interactive elements and therefore no hover or focus states.

    I hope this helps. Let me know if you have any questions!

    I’d also recommend you look at community solutions for this project and read through the feedback other people received on their code for this project.

    Happy coding! 😎

    0
  • Sabine 40

    @SabineEmden

    Posted

    Hi there! 👋 Good job on completing the challenge.

    All in all, you code looks pretty good. You could simplify it by using fewer HTML elements and default styling in place of CSS flexbox for the card component. Here are some points you may want to consider:

    HTML

    • The image on top of the card is purely decorative. The card looks better with it there, but it doesn’t add anything to the content. Decorative images should have an empty alt attribute (alt=””).
    • You wrapped both images in a <figure> element. I definitely wouldn’t use <figure> for a decorative image. I also wouldn’t use it for the author avatar. In my opinion, an <img> element for the avatar and a <p> element for the author’s name, wrapped in a <div> for styling is all you need. If you want to use <figure>, I would use <figcaption> for the author’s name instead of <p>.
    • You have two <section> elements and a <footer> on the card. I recommend removing all three. You don’t need them for styling, and in my opinion they don’t have enough content for a section or a footer.
    • You used a heading element with class=“box-learning”. In my opinion, this is not a heading. I would replace it with a <p> element as a more generic block-level text element.
    • You used <br> elements in the paragraph with the description of the blog post. Only use the line break element if the division of lines is significant, for example in a poem or an address.
    • Don’t forget to customize the attribution at the bottom of the page. I would replace <div class=“attribution”> with a <footer> element, replace Your Name Here with your name, and add a link either to your personal website or your Frontend Mentor profile.

    CSS

    • I like your use of CSS custom properties and how you used rem and px. Well done!
    • You used two font families, Figtree and Open Sans. I’m pretty the design uses only Figtree.
    • You used the <main> element for the card component and centered it horizontally with margin: 15rem auto. I would wrap the card in a <div> inside <main> and use flexbox to center it.
    • You gave the card component width and height in rem. All it needs is max-width. Setting height for a container with text is generally not a good idea.
    • Add some padding to the card component.
    • You don’t need display: flex on the card component itself, only on the element that wraps the avatar and the name.
    • You can use width: fit-content for .box-learning, then you don’t need text-align: center.
    • Move the CSS styling for the attribution from index.html to your style sheet.
    • I’m curious why you used @charset "UTF-8” at the top of your stylesheet. I have never seen this before.

    I hope this helps. Let me know if you have any questions.

    Happy coding! 😎

    0
  • @ayomixx

    Submitted

    What are you most proud of, and what would you do differently next time?

    I'm proud of the fact that i was able to replicate the QR code design in less than one hour, which made me notice that my speed is a little faster than before.

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

    The only major challenge I encountered was how to make the text appear like it's fading or disappearing, and i was able to overcome it by learning about the Opacity property in CSS.

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

    This project was pretty simple, so I don't think I need help with any specific area of the project.

    Sabine 40

    @SabineEmden

    Posted

    Hello there! 👋 Good job on completing the challenge.

    What you call "make the text appear like it's fading or disappearing" is simply a grey text color. If you look in the style guide that came with the starter code, it lists Light gray: hsl(212, 45%, 89%) as one of the colors for the project.

    Nevertheless, the opacity property is a good thing to have in your tool box!

    I hope this helps. Let me know if you have any questions.

    Happy coding! 😎

    0
  • @rehanSultan

    Submitted

    What are you most proud of, and what would you do differently next time?

    Next time real world projects

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

    That was easy for me!

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

    Canada Germany Hongkong China Japan America Singapore

    Sabine 40

    @SabineEmden

    Posted

    Hello there! 👋

    Looking at your site and your code, my biggest question is: Why doesn’t your project include any other files than index.html? Your project won’t work without the image file for the QR code!

    I'm assuming you had these other files in your project when you where working on it locally. You are linking to the image file for the QR code in your code. Is this an issue with version control? Did you push only one file to GitHub instead of your whole project?

    Let me know if you have any questions.

    Happy coding! 😎

    0
  • @AndreChips

    Submitted

    What are you most proud of, and what would you do differently next time?

    I wouldn't do anything differently for this project.

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

    I didn't encounter any challenge that I cannot solve.

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

    Probably in layouting the website, but overall fairly easy.

    Sabine 40

    @SabineEmden

    Posted

    Hello there!👋 Good job on completing the challenge.

    Here are some suggestions how you could improve your code:

    HTLM

    • Add a <main> element to your code. This is very important for web accessibility. It allows users who use assistive technology to access the main content of the page faster. You don’t need an extra HTML element for this, simply replace <div class=“card-container”> with <main>.
    • Remove <div class=“card-detail>. It isn’t needed here.
    • Replace <p class=“header-text”> with an <h2> or <h1> element. As this project is a component that will probably be used on a page that already has an <h1> heading, I would use an <h2>.
    • Put the attribution back into your code. Give credit where credit is due. And wrap the attribution in a <footer> element. It does not belong inside <main>, but needs its own semantic HTML element.
    • Count your </div> closing tags and remove any extras.

    CSS

    • Move the CSS code to a separate style sheet.
    • Add a modern CSS reset to the top of your style sheet. I like the one by Josh Comeau. Andy Bell has another good one.
    • Add some padding to body.
    • Convert all values for font-size from px to rem. This is very important for web accessibility. It allows users who have selected a larger font size in the setting for their browser or their operating system to view your page with a larger font size.
    • Convert max-width for .card-container to rem. This is needed for the design to work with larger fonts sizes.
    • Remove hight from img. If you use a CSS reset, it’ll include max-width:100% for the image. That’s all you need.
    • Replace the padding you had on .card-detail with margins on .header-text and .detail-text.

    I hope this helps. Let me know if you have any questions.

    Happy coding! 😎

    0
  • Sabine 40

    @SabineEmden

    Submitted

    What are you most proud of, and what would you do differently next time?

    For this challenge, I took a deep dive into web sustainability best practices for web fonts:

    • Choosing between static and variable fonts
    • Subsetting fonts to only include needed characters
    • Converting font files to the most efficient formats
    • Using the correct font-face declarations
    • Preloading font files to improve page load performance

    In future projects, I want to continue using what I learnt in this challenge and explore other web sustainability best practices.

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

    I dove deep into topics like font subsetting, converting font files, font-face declarations, and pre-loading font files. You can read about the choices I made and find links to the main resources I used in the README for this project.

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

    I would appreciate feedback on the way I used web fonts, as this was my main focus for this project.

    This is also my first challenge on Frontend Mentor. I want to make sure I got all the basics right and have a good foundation going forward.

    Thanks for your help!

    Sabine 40

    @SabineEmden

    Posted

    Kagan MacTane is a web developer based in Brooklyn and San Francisco. He was so kind to give me a very thorough code review after I posted a link to my solution on Mastodon. Here are Kagan’s comments and my response.

    Kagan: "I'm not sure the div inside the footer is necessary. You can just put the div's content directly into the footer tag if you want."

    Before:

    <footer>
      <div class="attribution">
        Challenge by
         <a href="https://www.frontendmentor.io?ref=challenge" target="_blank"
         >Frontend Mentor</a
         >. Coded by
         <a href="https://www.frontendmentor.io/profile/SabineEmden"
         >Sabine Emden</a
         >.
      </div>
    </footer>
    
    .attribution {
      font-size: 0.6875rem;
      text-align: center;
    }
    .attribution a {
      color: hsl(228, 45%, 44%);
    }
    

    I agree. The div inside the footer isn't necessary. It's there because it and the styling for its attribution class were part of the starter code. But there is no rule again replacing divs with semantic HTML tags. I'll remove the div and replace the class selector in the CSS with the element selector for the footer.

    After:

    <footer>
       Challenge by
       <a href="https://www.frontendmentor.io?ref=challenge" target="_blank"
         >Frontend Mentor</a
       >. Coded by
       <a href="https://www.frontendmentor.io/profile/SabineEmden"
         >Sabine Emden</a
       >.
    </footer>
    
    footer {
      font-size: 0.6875rem;
      text-align: center;
    }
    footer a {
      color: hsl(228, 45%, 44%);
    }
    

    Kagan: "You've got some gnarly fractions going on in your font sizes. Maybe you could just set the base font size to be something a little larger or smaller, and then your decimals might be more like .5, .75, etc.? (Not sure; I haven't done the math on it and it might not be feasible.)"

    Before:

    body {
      ...
      font-size: 0.9375rem;
      ...
    }
    
    .card-qr-code h2 {
      font-size: 1.375;
      ...
    }
    
    footer {
      font-size: 0.6875rem;
      ...
    }
    

    The font sizes are 15px (0.9375rem) for the paragraph, 22px (1.375rem) for the heading, and 11px (0.6875rem) for the footer. The fractions make the code less readable. It’s difficult to tell what the font sizes are without pulling out a calculator.

    I can think of four possible solutions:

    • Change the font sizes slightly to 1rem (16px), 1.5rem (24px), and 0.75rem (12px).
    • Use the The 62.5% Font Size Trick and set the root font size to 62.5%, which is equivalent to 10px. This changes the font sizes in the design to 1.5rem, 2.2rem, and 1.1rem.
    • Leave the font sizes in rem as they are and add comments with the sizes in pixel to the style sheet.
    • Use calc() to convert the font sizes.

    I’m a hesitant to change the font sizes. I got the values for the font sizes from the style guide and the Figma files. The brief for the project is to “get it looking as close to the design as possible”, and the font sizes are part of the design.

    I’ll go with the comments. They are the simplest option, stay true to the design, and will still work if the QR code component is used as part of a bigger project.

    After:

    body {
      ...
      /* 0.9375rem = 0.9375 * 16px = 15px */
      font-size: 0.9375rem;
      ...
    }
    
    .card-qr-code h2 {
      /* 1.375rem = 1.375 * 16px = 22px */
      font-size: 1.375rem;
      ...
    }
    
    footer {
      /* 0.6875rem = 0.6875 * 16px = 11px */
      font-size: 0.6875rem;
      ...
    }
    

    Kagan: "Also, I see you're using HSL colors. I'd like to know more about that decision (I'm more used to RGB). Were you advised to use HSL? Saw that in an article or course somewhere?"

    I used HSL colors because that’s how the colors were given in the style guide for the project.

    Kagan: "Also, just gotta say, and this is totally just my own pet peeve about spelling: there's a bunch of WOOF2 instead of WOFF2. It's just in documentation and obviously doesn't affect functionality at all, but it makes me twitch. Like I said, nitpicking!"

    I totally agree! That needs to be changed. Thanks for pointing it out to me! That does not show attention to detail.

    0
  • Sabine 40

    @SabineEmden

    Posted

    Hello there!👋 Good job on completing the challenge.

    Here are some suggestions how you could improve your code:

    HTLM: Major Issues

    • Add a <main> element to your code. This is very important for web accessibility. It allows users who use assistive technology to access the main content of the page faster. You don’t need an extra HTML element for this, simply replace <div class=“card”> with <main>.
    • Add an alt attribute with a descriptive text to the img element. This is very important for web accessibility. It provides fallback (alternate) text that is displayed if the image is not loaded. Most importantly, it is used by screen readers and other assistive technology for blind or visually impaired users.
    • Remove the <br> elements in the <h1> and <p> elements. The line break element is useful in a poem or an address, where the division of lines is significant. The problem you are trying to solve here is that the width of the heading and the paragraph doesn’t reach all the way to the padding of the card. That’s best solved with margins in your CSS.

    HTML: Minor Improvements

    • Wrap <div class=“attribution”> in a <footer> element. The attribution does not belong inside <main>. It needs its own semantic HTML element.
    • Add a URL to <a href="#">Khamri Oussama</a>. If you don’t have a personal website, add a link to your Frontend Mentor profile.
    • Check the link to request the font from the Google Font API: <link href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Outfit:[email protected]&display=swap" rel="stylesheet">. It looks like you are requesting more than just the Outfit variable font.

    CSS: Major Issues

    • Convert all values for font-size from px to rem. This is very important for web accessibility. It allows users who have selected a larger font size in the settings for their browser or their operating system to view your page with a larger font size.
    • Add max-width in rem to <div class=“white”>. This is needed for the design to work with larger fonts sizes.
    • Remove the width and hight from the <img> element. The image needs max-width: 100%. If you use a CSS reset (see below), that’s already included there.
    • Add color attributes to the <body> and <h1> elements to change the font to the colors that are specified in the style guide. This is important for following the provided design.
    • Add the margins I mentioned above to the <h1> and <p> elements.

    CSS: Minor Improvements

    • Move the CSS code to a separate style sheet.
    • Add a modern CSS reset to the top of your style sheet. I like the one by Josh Comeau. Andy Bell has another good one.
    • Move the style rules for the attribution in the footer of the page to the end of your CSS code. In your style sheet, start with the style rules that apply to the whole page. (That includes the CSS reset.) Then work your way from the top to the bottom on the page.
    • Move font-family, font-size, and font-weight from the <p> element to the <body> element and remove font-family from the <h1> element.
    • Choose one color format - hexadecimal or hsl() - and use it consistently in your code.
    • Add some padding to the <body> element.
    • Check whether you really need display: flex; with flex-direction, justify-content, and align-items on <div class=“white”>. The <div> contains an image, a heading, and a paragraph. All three are block elements and should stack in a column by default.
    • Use px or rem for border-radius.
    • Move text-align: center to <div class=“white"> to reduce repetition in your code.
    • Use selectors with a higher specificity for the <h1> and <p> elements, like .white h1 and .white p. This will make it easier to use the component within a larger project.

    I hope this helps. Let me know if you have any questions.

    Happy coding! 😎

    0