CSS里 ul标签怎么居中啊

首先是一个 div块里面包一个ul
<div><ul><li></li><li></li></ul></div>
CSS里设定如下
*{
padding:0;
margin:0;
}
li{
list-style-type:none;
}
div{
height:300px;
width:300px;
}
ul{
width:200px;
height:200px;
}
li{
height:50px;
width:50px;
}
我是通过给各自加背景颜色来看的
问题1:ul是区块吗?我已经给他定义了 高和宽 但我给他家margin:0 auto; 他的位置从原来贴近左端,向右移了一点, 但是 并没有 真正的左右居中???这是怎么回事?
问题2:怎么让ul这一块200*200的区块 在div中 上下居中?? 如果用padding的话 等于改变了ul的 大小了吧??? 只能用margin吗???还是有其他方法的?
问题3:li在ul中 同样定义了 长 宽之后 margin:0 auto; 无法左右居中。。。 这个不是对区块 都通用的么??怎么ul 和li都没用了???
问题4:一样是上下居中问题 li我定好是50*50的。。怎么不改变大小的情况下 让li这个块 在 ul里 上下居中呢???padding一样会改变大小吧?又只能用margin吗? 以前有人说line-height。。这个的话 加上去 只是让 li里的内容 在li里居中吧?而不是我要的li在 ul里居中吧??

我语言不好 网页制作刚学。。上面写的可能有点啰嗦。。。
4个问题(不是单纯的问ul怎么居中,li怎么居中额,那样的话 我用padding之类的,任意去改变大小 也可以达到效果,请看看上面我的情况,谢谢了。) 希望能回答一下。。 非常感谢了

要实现UL标签水平居中,关键在于CSS中 display:inline 的运用。

HTML代码具体示例:

<div id="links">

<ul>

<li><a href="#">  </a></li>

<li><a href="#">  </a></li>

<li><a href="#">   </a></li>

<li><a href="#">   </a></li>

<li><a href="#">   </a></li>

</ul>

</div>

注意:如果UL没有设置宽度,用margin:0 autl是没有用的,因为它默认了100%,给它一个宽度,实际宽度或者width:auto都可以。

扩展资料:

在HTML中,有两种类型的列表:无序列表 - 列表项标记用特殊图形(如小黑点、小方框等);有序列表 - 列表项的标记有数字或字母。使用CSS,可以列出进一步的样式,并可用图像作列表项标记。

用CSS设置UL标签的列表符号是不需要去设置的,因为ul默认就是标签符号的,如果使用了这个list-style:none;去掉了这个属性,然后又想有的话,就给这个ul一个id或者是class,然后在css中list-style-type:disc !important,这样就又有序号了。

参考资料:UL_百度百科

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-03
第一个问题
UL设置margin:0px auto是指UL本身相对于父级对象居中。你的UL父级对象是DIV,所以并不是相对屏幕居中,而是相对父级DIV300个PX的居中。解决这个问题的方法是把DIV的宽度去掉,让DIV默认为BODY的宽度。或者干脆直接把父级的DIV去掉。
第二个问题
如果要垂直居中,valign很多浏览器兼容性不好,一般解决方法:如果是一行的话可以设置行高line-height属性和高度height相等;如果是多行的话要复杂的多,可以考虑将父级对象设置为相对定位position:relative,要居中的对象设置为绝对定位position:absolute,然后慢慢调整left和top的值。
第二个问题你还有一个错误就是一个对象如果加了padding之后的话,跟它的宽度没有关系,也就是说。如果你设置一个对象的宽度为200px,padding为50px,它的真实宽度就是200px 加上左边的50px的padding,右边的50px的padding,加起来一共300px;
第三个问题
同第一个问题,li的左右居中依然是相对于它的父级对象即ul居中,只浏览器的宽度没有关系。
第四个问题
没明白你的意思,一个UL里有好多个LI,你要是多个li同时居中?就是全部重叠在一起?还是说
什么居中?或者你的意思是比如ul高200,一共有两个LI,两个LI一个人有50的高度,居中的意思就是说两个LI应该本身占100的高度,然后上面空50,下面空50?本回答被提问者采纳
第2个回答  推荐于2017-09-16

要实现UL标签水平居中,关键在于CSS中 display:inline 的运用。

具体示例:

HTML代码

<div id="links">
  <ul>
     <li><a href="#">关于倡萌</a></li>
     <li><a href="#">广告合作</a></li>
     <li><a href="#">版权声明</a></li>
     <li><a href="#">联系倡萌</a></li>
     <li><a href="#">友情链接</a></li>
  </ul>
</div>

CSS样例


#links {height:40px;}

#links ul{text-align:center;list-style-type:none;}
 
#links ul li{display:inline;}

第3个回答  2015-12-03
给样式加width宽度和高度,否则不能居中,display:block; width:100px; height:100px;
第4个回答  2010-12-03
ul被定了成块元素,即display:block ,它就注定居不了中,所以只要不要变成块元素就可以了,然后用text-align:center居中就可以了。很多的导航条都是没居中的。
相似回答