Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Horizontal centering text over image via CSS

Consider the following html:

<div class="image">
    <img src="sample.png"/>
    <div class="text">
       Text of variable length
    </div>
</div>

Where:

.image {
    position:relative;
    text-align:center; // doesn't work as desired :(
}

.text {
    position:absolute;
    top:30px;
}

Can you please tell, if there is a way to horizontally align the text in the center of the .image div? I can't use the left property, since the length of the text is unknown and the text-align property doesn't work for the .text div :(

Thank you.

like image 281
Zaur Nasibov Avatar asked Sep 06 '25 14:09

Zaur Nasibov


2 Answers

Try the following CSS:

.image {
    position:relative;
}

.text {
    left: 0;
    position:absolute;
    text-align:center;
    top: 30px;
    width: 100%
}
like image 117
Damir Kotoric Avatar answered Sep 09 '25 02:09

Damir Kotoric


Try this:

.image {
    position:relative;
}

.text {
    position: absolute;
    top: 0;
    left: 0;
    width:100%;    
    height:100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
like image 22
Purnima Sh Avatar answered Sep 09 '25 04:09

Purnima Sh