• 締切済み

センター寄せにするには

以下のようなhtmlなのですがulをdivのセンターに配置するにはどうすればできますか? <div class="pager"> <ul> <li><a href="#">リンク1</a></li> <li><span>リンク2</span></li> <li><a href="#">リンク3</a></li> </div> これに以下のようなcssを設定しているのですが左よりになってしまいます。 .pager { width: 560px; text-align: center; } .pager ul { } .pager ul li { display: inline; float: left; } .pager ul li a, .pager ul li span { display: block; line-height: 20px; margin: 0 5px; width: 20px; height: 20px; text-decoration: none; border: solid 1px #ccc; }

みんなの回答

noname#100277
noname#100277
回答No.4

ul・li共に・・・ margin-left:auto;margin-right:auto; text-align:center; では?

noname#106515
noname#106515
回答No.3

#1です。失礼しました。 ulにwidthが指定されていませんでしたね。多分それで。

noname#119957
noname#119957
回答No.2

<div class="pager"> <ul> <li><a href="#">リンク1</a></li> <li>リンク2</li> <li><a href="#">リンク3</a></li> </div> .pager { width: 560px; } .pager ul { padding-left:XXpx; width:xxxpx; } .pager ul li { line-height: 20px; width: 20px; height: 20px; border: solid 1px #ccc; } .pager ul li a:link,.pager ul li a:visited, { line-height: 20px; width: 20px; height: 20px; text-decoration: none; color:#123456; } .pager ul li a:link:hover,.pager ul li a:visited:hover, { line-height: 20px; width: 20px; height: 20px; text-decoration: none; color:#456789; } のような感じでシンプルな方向に修正できませんか? 実際に動かしていませんので・・ なお、<span>は、ブロック要素には適用できません。

dcx147
質問者

補足

お返事ありがとうございます。 以下のようにしましたがやはりセンターを基準にはならないです。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>TITLE</title> <style type="text/css"> .pager { width: 560px; text-align: center; } .pager ul { margin auto; padding-left: 80px; width: 460px; } .pager ul li { list-style: none; display: inline; float: left; line-height: 20px; width: 20px; height: 20px; border: solid 1px #ccc; } .pager ul li a { line-height: 20px; width: 20px; height: 20px; text-decoration: none; color: #123456; } .pager ul li a:hover { color: #456789; } .pager ul:after { content: "."; display: block; height: 0px; clear: both; line-height: 0; visibility: hidden; } </style> </head> <body> <div class="pager"> <ul> <li><a href="#">1</a></li> <li>2</li> <li><a href="#">3</a></li> </div> </body> </html> atタグでくくらずテキストのみであれば親要素にtext-align:center;を指定してやれば問題ないのですが・・・

noname#106515
noname#106515
回答No.1

text-align: center;はインライン要素に対する指定なので、 ブロック要素であるulに対しては無効です。 .pager ul { margin auto; } でセンタリングされます。 (左右のマージンを自動→同じ値→センタリングされる)

dcx147
質問者

補足

お返事ありがとうございます。 ulに指定してみましたが変わらず左寄りです。。。

関連するQ&A