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>