css样式中 li如何居中?

html-css011

css样式中 li如何居中?,第1张

1.文字居中定义

文字居中始终是要的,所以首先给予ul外层div一个text-align(文本对齐:居中),还可以给一个“溢位:隐藏(overflow: hidden)”,当然也可以定义一下高和宽。

2.ul定义

ul不能定义宽度,我们只能给一个定位,类型为相对(position: relative),置入左为50%(left: 50%),当然也可以给一个浮动。请注意,ul千万不能用溢位:隐藏(overflow: hidden),这样,部分li就无法显示。

3.li定义

li的定义跟ul差不多,宽度不固定,同样给一个定位,类型为相对(position: relative),置入右为50%(right: 50%),恰恰和ul相反,这样定义后li就可以无论分页多少始终居中了。

通常情况li上加float:left是为了让标签并排显示,如果不加的话默认就是换行的

而上面加position:

relative

left:

-50%这个可能是写代码的人想让每个标签都向左移动一半的位置,有点像是书页或者纸张层叠的效果,也许可以不用相对定位来处理,可以加例如margin-left:-100px一样可以达到效果,只不过这样需要把li的宽度固定,要不然就效果不太好了

再来说一下让标签居中的样式好了,其实上面加的

有点问题,加了position:

relative

left:

50%就没必要加

float:left

了而且应该是无效的

还有就是position:

relative

left:

50%并不能达到真正居中的效果,因为这样加只是以标签的左边线为中心,实质效果是标签是偏右的,如果非要让标签用position来实现居中的话,那么就应该是下面这种样式,例如:

你把这段标签直接放入body中试试就能看到了,div是绝对处于浏览器的居中位置

不过建议如果你想让标签居中,还是使用常用方法吧margin:0

auto,尽量少用position属性来设定,

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左或者右浮动即可。