div中无序列表居中且左对齐

如何让div中的无序列表居中且左对齐(就是如果li中文字个数不同那么看起来就会有一些文字凸出来

把前面的点给对齐

好像没有属性可以直接设置元素li居中,可以拐个弯来实现,例如下面的例子中给ul设置了宽度,然后让这个ul居中,但是这中情况下,li仍然是在ul的最左边开始的,只是ul居中了,才使li元素看起来是居中的

<html>
<head>
<meta charset="utf-8">
<style>
.u_li{width:200px;margin:0px auto;}

</style>
</head>
<body>
<ul class="u_li">
<li>哈哈哈哈哈哈哈哈哈哈哈</li>
<li>哈哈哈哈哈哈哈</li>
<li>哈哈哈哈哈</li>
<li>哈哈哈哈哈哈哈哈哈</li>
</ul>
</body>
</html>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-24
你的UL的宽度要>=你最长那一行文字的宽度,就可以实现,比如下面代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<style>
</style>
</head>
<body>
<div style="width:400px;margin:0 auto">
<ul style="height:100px">
<li>飒飒孔得红卡所讲的贺卡圣诞卡</li>
<li>是是是是是是是是是</li>
<li>是是是是是是是是是</li>
<li>是是是是是是是是是</li>
<li>是是是是是是是是是</li>
</ul>
</div>
</body>
</html>
第2个回答  2013-04-24
文字突出是因为你是设了div的文字居中对齐,解决办法很简单,设置ul文字左对齐,像这样<ul style="text-align:left">
第3个回答  2013-04-24
因为在CSS中不能在后面补全,所以从你的图片上看已经居中了,只是第一行字数过多所以才突出来了呢
你可以这样的,给LI加上一个宽度并把多出的自动隐藏,如:width:100px;overflow:hidden;就行了
这样长度一样就显得整齐了