Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Center align "span" text inside a div

Tags:

html

css

I have a HTML code as;

<div class="left"> <span class="panelTitleTxt">Title text</span> </div> 

My CSS is as follows;

.left {     background-color: #999999;     height: 50px;     width: 24.5%; } span.panelTitleTxt {                 display: block;                 width: 100%;                 height: 100%; } 

Now how do I center align the span text inside the div? (Assume that the "left" div after the % conversion gets a px width of 100px)

I tried the standard way of using margin:auto, but that is not working.

Also I want to avoid using text-align:center.

Is there some other way of fixing this?

like image 219
copenndthagen Avatar asked Oct 25 '11 08:10

copenndthagen


People also ask

How do I center a span inside a div?

To center an inline element like a link or a span or an img, all you need is text-align: center . For multiple inline elements, the process is similar. It's possible by using text-align: center .

Can you use text-align with SPAN?

Use a p or div rather than a span. Text is an inline element and so is a span. For text-align to work, it must be used on a block level element (p, div, etc.) to center the inline content.

How do you center text within an element?

To center text in CSS, use the text-align property and define it with the value 'center. ' You can use this technique inside block elements, such as divs. You can also center text in HTML, which is useful if you only want to center individual elements on the page on a case-by-case basis.

Can we use span inside div?

The HTML span element is an inline element, which means that it can be used inside a block element and not create a new line.


1 Answers

You are giving the span a 100% width resulting in it expanding to the size of the parent. This means you can’t center-align it, as there is no room to move it.

You could give the span a set width, then add the margin:0 auto again. This would center-align it.

.left  {    background-color: #999999;    height: 50px;    width: 24.5%; } span.panelTitleTxt  {    display:block;    width:100px;    height: 100%;    margin: 0 auto; } 
like image 74
Lee Avatar answered Oct 04 '22 11:10

Lee