In this case, the text-align: center option may not work, since the position of the child (<p>) element is relative to its parent element. You can try it yourself and see the result.
I am sharing two methods here.
1st method: Here I am using the margin attribute to center the <p> elements.
<!DOCTYPE html>
<html>
<head>
<style>
div {
position: absolute;
border: solid 1px #ddd;
width: 100%;
top: 0;
left: 0;
}
p {
position: relative;
width: 100px;
margin: 0 auto; /* center all P elements with relative position */
}
</style>
</head>
<body>
<div>
<p> Arun Banik </p>
<p> Samual Jackson </p>
</div>
</body>
</html>2nd method: In this method, I am using the left and transform attributes.
<!DOCTYPE html>
<html>
<head>
<style>
div {
position: absolute;
border: solid 1px #ddd;
width: 100%;
top: 0;
left: 0;
}
p {
position: relative;
width: 100px;
left: 50%;
transform: translateX(-50%);
}
</style>
</head>
<body>
<div>
<p> Arun Banik </p>
<p> Samual Jackson </p>
</div>
</body>
</html>If parent element has display: flex
In the above examples, the <p> elements or the child elements were shown vertically. We can also show child elements horizontally by setting the parent’s display property as flex. And, using margin: auto we can center the elements.
<!DOCTYPE html>
<html>
<head>
<style>
div {
position: absolute;
border: solid 1px #ddd;
width: 100%;
top: 0;
left: 0;
display: flex;
}
p {
position: relative;
width: 100px;
margin: 0 auto; /* center all P elements with relative position */
}
</style>
</head>
<body>
<div>
<p> Arun Banik </p>
<p> Samual Jackson </p>
</div>
</body>
</html>