I have sadly spent way too much time trying to dim/change the opacity on the background image on my Tribute Project. I have checked many times with reference guides and other codepen works, also ran it through a CSS checker with zero errors. I’m confused in why the Before CSS statement isn’t working in order to dim the background so the text is visible. Thank you for the help.
hi, the before statement with no special modification behaves as just like any other element. This means in order for ::before to even show up on the viewport, you have to include actual content, or height/width values. In this case you want it to be
height:100%;
width:100%;
so it is the same size as main.
Then it would show up before the main element as it should, since it is main::before. To get it to perfectly overlap main itself we can give it:
position:absolute;
top:0;
left:0;
now it should show up as a dimmed background image.
EDIT: you should also give mainposition:relative so the ::before knows what to use as reference with absolute positioning.
See my forked version of your codepen to see it in action. https://codepen.io/bill-ye/pen/oNBGaoP
Hi, I’m slightly unsure of what the issue is, as the text on your page does not seem to be affected. Can you please elaborate on what you mean by “frontward text”?
Here is the updated page with the opacity I’m looking for. https://codepen.io/pen/?template=wvgqZgQ. The image and rest of the text is also affected by the opacity attribute, which is not what I want to happen. I want the background image opacity changed without anything else being affected.
For that you need to move everything related to background out of your #main into your #main::before, and add an opacity value in your ::before pseudoelement here.
Is this what you are looking for? https://codepen.io/bill-ye/pen/VwPywNY