CSS里 ul标签怎么居中啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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_百度百科

参考技术A 第一个问题
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?本回答被提问者采纳
参考技术B

要实现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 ultext-align:center;list-style-type:none;
 
#links ul lidisplay:inline;

参考技术C 给样式加width宽度和高度,否则不能居中,display:block; width:100px; height:100px; 参考技术D ul被定了成块元素,即display:block ,它就注定居不了中,所以只要不要变成块元素就可以了,然后用text-align:center居中就可以了。很多的导航条都是没居中的。

怎么将ul下的li标签横着排列,要设置那个属性?

把ul包含的li定义为一个类,在css样式用类选择器设置li的float属性为向左浮动,

即为float:left;

最好将无序列表前面的点去掉。即ul的list-style-type:none;这样设计出来的比较美观。

扩展资料:

CSS 列表属性(list)

1.list-style    简写属性。用于把所有用于列表的属性设置于一个声明中。    

2.list-style-image    将图象设置为列表项标志。    

3.list-style-position    设置列表中列表项标志的位置。    

4.list-style-type    设置列表项标志的类型。    



参考技术A 哈哈,这个我正好有,定义如下样式,然后给UL 设置 class=”box“ ,大功告成。
.box ul
list-style-type: none;
margin:0px;
padding:0px;

.box li
margin:7px;
padding:5px;
float:left;
width:150px;
height:190px;
追问

我也已经自己解决了

追答

如果解决了,望采纳回答。:)

本回答被提问者采纳
参考技术B display:inline;这句就行了...... 参考技术C <style type="text/css">
ullist-style-type:none;
lidisplay:inline
</style>
<ul>

<li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li>
</ul>
如题,只要在style中设置lidisplay:inline

以上是关于CSS里 ul标签怎么居中啊的主要内容,如果未能解决你的问题,请参考以下文章

怎么设置ul ,li标签元素横排且居中啊?

怎样用CSS设置UL标签的列表符号?

急!CSS中,怎么让ul li中的图片和文字横向水平居中

怎么让ul中的li居中显示?

怎么能让ul里的li垂直水平居中

怎么设置ul?