1、首先先打开我们的开发环境新建一个web项目。
2、在html中引入css文件这里是html页面的代码div和ul。
3、将所有标签的margin和padding初始为0然后将父级div的display设置为flexalign-items设置为center。
4、运行web项目后得到的结果如图所示垂直居中了。
5、 将display设置为table-cell,将vertical-align设置为middle即可。
6、将ul的高度设置为百分比然后使用相对定位设置top为二分之一的百分之百减去ul的高度即可。
7、使用line-height将其设置div的高度必须是确定值,然后将li左或者右浮动即可。
要实现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_百度百科
第一个问题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?