Ask Programiz - Human Support for Coding Beginners
Explore questions from fellow beginners answered by our human experts. Have some doubts about coding fundamentals? Enroll in our course and get personalized help right within your lessons.


That’s completely okay—positions in CSS can feel a bit tricky at first. The best way to get the hang of them is to experiment with different values in your code and observe how the output changes.
Now, let’s break down position: relative
in a simple way.
When you apply position: relative
to an element, it allows you to move that element relative to where it would have naturally appeared on the page. It doesn’t take the element out of the normal flow—it just lets you shift it a bit.
For example, imagine we have a div
with this basic style:
.box {
width: 100px;
height: 100px;
background: red;
}
Without any positioning, the browser places it in its default spot in the flow of the page.
Let's say you want to move this box 20px
lower from where it currently is. You can do that like this:
.box {
position: relative;
top: 20px;
width: 100px;
height: 100px;
background: red;
}
With position: relative
and top: 20px
, the box visually shifts down by 20px from its original location—but its original space is still preserved. That means other elements around it won’t move into the gap where it used to be.
You can also use left
, right
, or bottom
in the same way to shift the element in other directions.


While both overflow: hidden;
and height: auto;
are related to content overflow, there’s an important difference between them.
Let’s start with overflow: hidden;
.
Imagine we have something like this:
div {
height: 140px;
overflow: hidden;
}
In this case, the content inside the div
might be taller than 140px
. However, because we've set a fixed height of 140px
, the div
itself stays at that height. By using overflow: hidden;
, any content that exceeds the boundary of the div
is simply hidden from view—it’s cut off and not shown.
On the other hand, when you use height: auto;
, the height of the div
adjusts based on its content:
div {
height: auto;
}
This way, if the content inside the div
grows or shrinks, the height of the div
also grows or shrinks accordingly. No content is hidden, and everything is visible.
Since the div
expands to fit the content, there's no need for overflow: hidden;
.


That's right. When you provide three values to the padding
property, the first value applies to the top padding, the second value to the left and right (sides), and the third value to the bottom padding.
You can think of it like this:
padding: top sides bottom;
So, in the example:
padding: 10px 30px 20px;
It will apply:
10px to the top,
30px to both the left and right sides, and
20px to the bottom.
Feel free to ask if you have more questions—I'm happy to help.

I see you just completed the CSS Box Model project. If you're asking about height: auto;
, I assume you're referring to this CSS rule:
.course-image {
width: 160px;
height: auto;
margin-bottom: 16px;
}
The height: auto;
rule allows images with the .course-image
class to adjust their height automatically based on their width while maintaining their original aspect ratio.
Since we’ve only set the width
, the image will scale proportionally—its height will adjust automatically to prevent distortion.
Hope this clears things up. If you have more questions, feel free to ask it below. I'm happy to help.