为什么设置了ul的外边距为auto之后仍然不能居中

为什么设置了ul的外边距为auto之后仍然不能居中

 

<span>

  <h1>Portfolio</h1><p>Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmodtempor incididunt ut labore et<br>dolore magna aliqua.enim ad minim veniam.</p>

  <ul>

  <li>All</li>

  <li>WEB</li>

  <li>SOFTWARE</li>

  <li>WORKS</li>

  <li>BRANDS</li>

  </ul>

  </span>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
Miss路 2017-06-16 14:52:30

1、span是行级标签,给他设定宽高是没用的,要想给他设置宽高,必须把它变成块级元素,可以添加 display: block;或者   display: inline-block;

2、要让元素中的内容居中显示,给父元素添加margin:auto,不是给子元素,你要让ul里面的内容相对于span居中显示,那么就要给span添加margin属性。

3、你给ul设置了position: absolute;属性,当你设置了定位属性之后,ul已经脱离了文档流,及时你给父元素设置margin:auto也是无用的,因为它脱离了文档流。

4、上面是让ul居中,但是你ul里面的li没有办法居中,因为你让他们左浮动了,所以肯定不会居中,因此需要做填充一下就可以了,但是要事先计算一下。

祝学习愉快!

  • 提问者 关于解五次方程 #1
    那老师,我明白你说的前三点了,可是如果不设置li为左浮动 ,怎么能够让li这样的块级元素在同一行上呢
    2017-06-16 15:07:10
  • Miss路 回复 提问者 关于解五次方程 #2
    只能左浮动,所以我给力你第四点,需要左填充。重填充来实现居中。
    2017-06-16 16:33:40
提问者 关于解五次方程 2017-06-16 12:55:51

自己做的效果是这样的http://img1.sycdn.imooc.com/climg//594363cd0001f19c11640336.jpg

如果我想要这个ul列表居于span容器的中央,而且列表项内容是并排显示,是否用nav标签替代ul列表?

Miss路 2017-06-16 11:28:32

你想要让它居中在哪里,是相对整个屏幕居中还是相对真个main居中,如果想一个容器内的内容居中显示,首先这个容器要有宽高,然后给容器添加margin:auto;你现在没有把需求说明白。建议以后题问题的时候把问题描述清楚,不然老师不知道你到底想要实现什么样的 效果。祝学习愉快!

  • 提问者 关于解五次方程 #1
    老师好,就是ul列表相对于它的容器span居中,我设置了span的高度,宽度没有设置,得到的效果就是ul列表只是左浮动。
    2017-06-16 12:42:07
  • 提问者 关于解五次方程 #2
    我是想通过将ul设置为绝对定位,它的容器span设置为相对定位,然后设置ul{bottom:53 left:0;right:0;margin:auto;}让他固定在离span的底部53px的位置,且相对于span居中
    2017-06-16 13:32:50
提问者 关于解五次方程 2017-06-16 05:10:17

.

.main{height:971px;}

.main > span{ text-align:center;background-color:#fff;height:413px;position:relative;}

.main > span > h1{margin-top:121px;color:#f46208;margin-bottom:53px;}

.main > span > p{margin-bottom:68px;}


.main >  span > ul{position:absolute; margin:auto;bottom:53px;right:0px;left:0px;width:530px;}

.main>  span > ul > li{border:1px solid #f46208;

                              float:left;

                              margin-left:16px;}


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师