Ahmed Bayoumi
@Bayoumi-devAll comments
- @shine2024Submitted about 2 years ago@Bayoumi-devPosted about 2 years ago
Hey Tadem, Congratulations on completing this challenge... You have
accessibility issues
that need to fix.Document should have one main landmark
, Contain the component with<main>
.
<main> <div class="container"> //... </div> </main>
-
Page should contain a level-one heading
, Changeh2
toh1
You should always have oneh1
per page of the document... in this challenge, you will useh1
just to avoid theaccessibility issue
that appears in the challenge report... but don't useh1
on small components<h1>
should represent the main heading for the whole page, and for the best practice use only one<h1>
per page. -
All page content should be contained by landmarks
, Contain the attribution with<footer>
.
<footer> <div class="attribution"> //... </div> </footer>
-
I suggest you use
REM
for font size, It is a must for accessibility because px in some browsers doesn't resize when the browser settings are changed... See this article ---> CSS REM – What is REM in CSS? -
Also, I suggest you look into an approach called
"BEM"
Block Element Modifier
Hope this help!... Keep coding👍
0 - @sujeong054Submitted about 2 years ago
how to do an active design? I use the hover tag to change the color of the text. but I can't solve the img tag change.
@Bayoumi-devPosted about 2 years agoHey Sujeong, It looks good!... Here are some suggestions:
Document should have one main landmark
, Contain the component with<main>
.
<main> <div class="card"> //... </div> </main>
- Use
<a>
to wrapEquilibrium #3429
andJules Wyvern
, then addcursor: pointer;
to the<a>
, The cursor indicates to users there is an action that will be executed when clicking on it.
Equilibrium #3429
---> Navigate the user to another page to see the NFTJules Wyvern
---> Navigate the user to another page to see the creator's portfolio- To do the active state for the image on the NFT preview card I suggest you wrap the image of the NFT with the
img-wrapper
element and create another element to make itoverlay
on the image, it contains theview icon
.
<div class="img-wrapper"> <img class="card-img" src="images/image-equilibrium.jpg" alt="Image Equilibrium"> <div class="overlay"><img src="images/icon-view.svg" alt=""></div> </div>
Then add the following styles:
.img-wrapper { width: ...; /* it's up to you */ height: ...; /* it's up to you */ position: relative; /*To flow the child element on it*/ cursor: pointer; overflow: hidden; } .img-wrapper .card-img{ width: 100%; height: 100%; } .overlay { background-color: hsla(178, 100%, 50%, 0.5); display: flex; /* Center the view icon with flexbox*/ align-items: center; justify-content: center; position: absolute; top: 0; width: 100%; height: 100%; opacity: 0; } .img-wrapper:hover .overlay { opacity: 1; }
There is another way to do the active state for the image on the
NFT preview card
by creatingpseudo-elements
(::after
,::before
) to use one as anoverlay
and other forview-icon
.Resources
- How to Center Anything with CSS - Align a Div, Text, and More
- 11 Ways to Center Div or Text in Div in CSS
- Pseudo-elements
- ::after (:after)
- ::before (:before)
Hope this is helpful to you... Keep coding👍
Marked as helpful0 - @clispy1Submitted over 2 years ago
Relaxing project to make
@Bayoumi-devPosted over 2 years agoHey! It looks good!... You have
accessibility issues
that need to fix.Document should have one main landmark
, Contain the component with<main>
.
<main> <div class="container"> //... </div> </main>
-
Page should contain a level-one heading
, Changeh2
toh1
You should always have oneh1
per page of the document... in this challenge, you will useh1
just to avoid theaccessibility issue
that appears in the challenge report... but don't useh1
on small components<h1>
should represent the main heading for the whole page, and for the best practice use only one<h1>
per page. -
All page content should be contained by landmarks
, Contain the attribution with<footer>
.
<footer> <div class="attribution"> //... </div> </footer>
Buttons must have the discernible text
, So don't leave thealt
attribute empty when using the image<img>
inside the button<button>
without text.
Or set the attribute<button class="change"> <img src="./images/icon-dice.svg" alt="Advice Generator"> </button>
aria-label
to describe the button.
Hope this help!... Keep coding👍
Marked as helpful0 - @shehabshalanSubmitted over 2 years ago@Bayoumi-devPosted over 2 years ago
Hey Shehab, It looks good!... You have
accessibility issues
that need to fix.- Documents must have <title> element to aid in navigation
<head> //... <title>3-column preview card component | Frontend Mentor</title> </head>
- Using more than one
<h1>
is allowed by the HTML specification, but is not considered a best practice. Using only one<h1>
is beneficial for screenreader users.
---> Multiple
<h1>
elements on one pageI hope this is helpful to you... Keep coding👍
1 - @HeavyMetalCoffeeSubmitted over 2 years ago
---This is an updated version to create a better layout experience using the suggestions from my peers.
First challenge on Frontend Mentor. Feedback welcome as I know there are multiple ways this project could have been done and probably much better.
@Bayoumi-devPosted over 2 years agoHey John, It looks good!... Here are some suggestions:
Document should have one main landmark
, Contain the component with<main>
.
<main class="container"> <div class="qr_code_card"> //... </div> </main>
-
Page should contain a level-one heading
, Change<p class="p1">
to<h1 class="heading">
You should always have oneh1
per page of the document... in this challenge, you will useh1
just to avoid theaccessibility issue
that appears in the challenge report... but don't useh1
on small components<h1>
should represent the main heading for the whole page, and for the best practice use only one<h1>
per page. -
You have used
grid
to center the component on the page, but you need to set the height of thecontainer
--->min-height: 100vh;
to center it at this height:
.container { display: grid; justify-content: center; align-items: center; /* width: 1440px; /* <---- Remove */ /* height: 800px; /* <---- Remove */ min-height: 100vh; /* <--- Add */ }
- Use
REM
for font size, It is a must for accessibility because px in some browsers doesn't resize when the browser settings are changed... See this article ---> CSS REM – What is REM in CSS?
Hope this help!... Keep coding👍
Marked as helpful0 - @superschoolerSubmitted over 2 years ago
Any feedback is welcome! The thing I struggled with most on this project is rounding the corners of Bootstrap's .container element without Sass. I ended up having to manually round each corner and create media queries to change it based on the screen size. Any ideas how to do it on the container itself?
@Bayoumi-devPosted over 2 years agoHey Brian, It looks great!... Here are some suggestions:
- Instead round each corner and create media queries to change it based on the screen size, Give the parent these classes
rounded
,overflow-hidden
<main class="container rounded overflow-hidden" id="container"> //... </main>
- Using more than one
<h1>
is allowed by the HTML specification, but is not considered a best practice. Using only one<h1>
is beneficial for screenreader users.
---> Multiple
<h1>
elements on one pageHope this help!... Keep coding👍
Marked as helpful1 - Instead round each corner and create media queries to change it based on the screen size, Give the parent these classes
- @thejacksheltonSubmitted over 2 years ago
What could I have done to make this shorter?
I think 180 lines of CSS for this is probably a lot longer than it should be. Would love to see other solutions
@Bayoumi-devPosted over 2 years agoHey Jack, It looks good!... You have
accessibility issues
that need to fix.Document should have one main landmark
, Contain the component with<main>
.
<main> <div class="container"> //... </div> </main>
-
Page should contain a level-one heading
, Changeh2
toh1
You should always have oneh1
per page of the document... in this challenge, you will useh1
just to avoid theaccessibility issue
that appears in the challenge report... but don't useh1
on small components<h1>
should represent the main heading for the whole page, and for the best practice use only one<h1>
per page. -
All page content should be contained by landmarks
, Contain the attribution with<footer>
.
<footer> <div class="attribution"> //... </div> </footer>
-
I suggest you align items by using
margin
andpadding
instead ofposition
--->Alignment, margin, padding -
Use
REM
for font size, It is a must for accessibility because px in some browsers doesn't resize when the browser settings are changed... See this article ---> CSS REM – What is REM in CSS?
Hope this help!... Keep coding👍
Marked as helpful0 - @EtinhandySubmitted over 2 years ago
Suggest me areas to improve on
@Bayoumi-devPosted over 2 years agoHey Etinhandy, Congratulations on completing this challenge... Here are some suggestions:
Document should have one main landmark
, Contain the component with<main>
.
<main id="page-holder> <div class="container"> //... </div> </main>
-
Page should contain a level-one heading
, Changeh2
toh1
You should always have oneh1
per page of the document...<h1>
should represent the main heading for the whole page, and for the best practice use only one<h1>
per page. -
I suggest you put
the socials
into thelist item
to add moresemantics
to your project...
<ul class="socials"> <li class="icons"><a href="https://www.facebook.com/"><img src="./images/facebook.svg" alt="facebook"></a></li> <li class="icons"><a href="https://www.twitter.com/"><img src="./images/twitter.svg" alt="twitter"></a></li> <li class="icons"><a href="https://www.instagram.com/"><img src="./images/instagram.svg" alt="instagram"></a></li> </ul>
Hope this help!... Keep coding👍
Marked as helpful0 - @Chandra30sekharSubmitted over 2 years ago@Bayoumi-devPosted over 2 years ago
Hey! Here are some suggestions:
Document should have one main landmark
, Contain the component with<main>
.
<main> <div class="container"> //... </div> </main>
-
Page should contain a level-one heading
, Changeh2
toh1
You should always have oneh1
per page of the document... in this challenge, you will useh1
just to avoid theaccessibility issue
that appears in the challenge report... but don't useh1
on small components<h1>
should represent the main heading for the whole page, and for the best practice use only one<h1>
per page. -
Use
REM
for font size, It is a must for accessibility because px in some browsers doesn't resize when the browser settings are changed... See this article ---> CSS REM – What is REM in CSS?
I hope this is useful to you... Keep coding👍
Marked as helpful1 - @sammingtySubmitted over 2 years ago@Bayoumi-devPosted over 2 years ago
Hey! Congratulations on completing this challenge... Here are some suggestions:
Document should have one main landmark
, Contain the component with<main>
.
<main> <div class="container ..."> //... </div> </main>
-
Page should contain a level-one heading
, Change<span class="name">Victor Crest</span>
to<h1 class="name">Victor Crest</h1>
You should always have oneh1
per page of the document... in this challenge, you will useh1
just to avoid theaccessibility issue
that appears in the challenge report... but don't useh1
on small components<h1>
should represent the main heading for the whole page, and for the best practice use only one<h1>
per page. -
Use
REM
for font size, It is a must for accessibility because px in some browsers doesn't resize when the browser settings are changed... See this article ---> CSS REM – What is REM in CSS? -
I suggest you put the status of the profile card into the
list item
to add moresemantics
to your project...
<ul class="stats"> <li><span class="stats-num">80K</span>Followers</li> <li><span class="stats-num">803K</span>Likes</li> <li><span class="stats-num"> 1.4K</span>Photos</li> </ul>
Hope this help!... Keep coding👍
Marked as helpful0 - @sushant2313Submitted over 2 years ago
This is my first ever challenge, so it was quite challenging. But I did it. I had trouble in the beginning on how to align the items the way I wanted. but as I googled couple of things I understood.
@Bayoumi-devPosted over 2 years agoHey Sushant, Congratulations on completing this challenge... Here are some suggestions:
Document should have one main landmark
, Contain the component with<main>
.
<main> <div class="grid"> //... </div> </main>
-
An
img
element must have analt
attribute, to provide alternative information for an image if a user for some reason cannot view it. -
All page content should be contained by landmarks
, Contain the attribution with<footer>
.
<footer> <div class="attribution"> //... </div> </footer>
-
Use
REM
for font size, It is a must for accessibility because px in some browsers doesn't resize when the browser settings are changed... See this article ---> CSS REM – What is REM in CSS? -
I suggest you center the component on the page with
Flexbox
, by giving the parent element<main>
the following properties:
body { background-color: hsl(30, 38%, 92%); /* margin: 150px; /* <---- Remove */ //... } main { /* <--- Add */ display: flex; justify-content: center; align-items: center; min-height: 100vh; } .grid { background-color: #fff; /* margin: 0 auto; /* <---- Remove */ //... }
Hope this help!... Keep coding👍
Marked as helpful1 - @ashutoshbisoyiSubmitted over 2 years ago@Bayoumi-devPosted over 2 years ago
Hey Ashutosh, It looks good!... Here are some suggestions:
Document should have one main landmark
, Contain the component with<main>
.
<main> <div class="container flex-center"> //... </div> </main>
-
Add
cursor: pointer;
to thebutton
, The cursor indicates to users there is an action that will be executed when clicking on it. -
Use
REM
for font size, It is a must for accessibility because px in some browsers doesn't resize when the browser settings are changed... See this article ---> CSS REM – What is REM in CSS?
I hope this is helpful to you... Keep coding👍
Marked as helpful0