54

I have the following html:

<div id="footer">
    <ul id="menu-utility-navigation" class="links clearfix">
        <li class="menu-685 menu-site_map first">Site Map
        </li>
        <li class="menu-686 menu-privacy_policy">Privacy Policy
        </li>
        <li class="menu-687 menu-terms___conditions">Terms &amp; Conditions
        </li>
        <li class="menu-688 menu-contact_us last">Contact Us
        </li>
    </ul>
</div>

With the following CSS:

div#footer {
    font-size: 10px;
    margin: 0 auto;
    text-align: center;
    width: 700px;
}

I threw in the font-size bit just to see if the style was working (Firebug reports it is working but I wanted to see). It is working. But the text is not centered in the footer in Firefox or in Safari (have yet to check it in IE).

I tried with and without margin: 0 auto; and with and without text-align: center; no combo of those things worked.

Here is output from Firebug:

div#footer {
    font-size: 10px;
    margin: 0 auto;
    text-align: center;
    width: 700px;
}

Inherited fromdiv#page
#skip-to-nav, #page {
    line-height: 1.5em;
}

Inherited frombody.html
body {
    color: #666666;
    font-family: verdana,arial,sans-serif;
}

Help?

Banana.html
  • 35
  • 12
RJ Cole
  • 2,350
  • 3
  • 14
  • 19
  • A little advice: browsers apply styles from right to left, so you div#footer is parsed two times when the page is load, an unnecessary performance penalty (a small one anyway) which you can avoid because you can only have one #footer per page. (Sorry for my English). – Tae Jun 05 '11 at 13:50
  • Thanks Tae! I didn't know that. Beginner with CSS basically. – RJ Cole Jun 08 '11 at 02:40

7 Answers7

42

I assume you want all the items next to each other, and the whole thing to be centered horizontally.

li elements are display: block by default, taking up all the horizontal space.

Add

div#footer ul li { display: inline }

once you've done that, you probably want to get rid of the list's bullets:

div#footer ul { list-style-type: none; padding: 0px; margin: 0px }
Pekka
  • 418,526
  • 129
  • 929
  • 1,058
  • Yes, the ul was displaying horizontally already. I wanted it to that navigation to be centered in the footer. I think the ul was inheriting the width of the footer div. I set the width of the ul and it centered. Thanks! – RJ Cole Jun 05 '11 at 13:28
13

To make a inline-block element align center horizontally in its parent, add text-align:center to its parent.

DanKodi
  • 3,079
  • 23
  • 24
5

If you want the text within the list items to be centred, try:

ul#menu-utility-navigation {
  width: 100%;
}

ul#menu-utility-navigation li {
  text-align: center;
}
Jits
  • 9,181
  • 1
  • 31
  • 27
1

You can use flex-grow: 1. The default value is 0 and it will cause the text-align: center looks like left.

https://css-tricks.com/almanac/properties/f/flex-grow/

Lane
  • 3,660
  • 1
  • 27
  • 14
0

This worked for me :

  e.Row.Cells["cell no "].HorizontalAlign = HorizontalAlign.Center;

But 'css text-align = center ' didn't worked for me

hope it will help you

nassim
  • 1,297
  • 1
  • 10
  • 21
smita
  • 1
-1

Use display: block; margin: auto; it will center the div

Harman
  • 1
  • 2
  • 1
    Welcome to stackoverflow. Please consider adding a short snippet of code to illustrate your solution. – sao Jan 24 '20 at 14:18
-4

I don't Know you use any Bootstrap version but the useful helper class for centering and block an element in center it is .center-block because this class contain margin and display CSS properties but the .text-center class only contain the text-align property

Bootstrap Helper Class center-block

Shwan Namiq
  • 623
  • 6
  • 20
  • 2
    he asked for help with css properties. your recommendation is for using bootstrap to abstract away css, and so it is therefore off-topic. – Andrew Jan 05 '17 at 16:19