为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这串代码中 没有用 clear:both 清除第一个div浮动,而是使用右浮动 float:right 就能让两个div 分行?

为什么这串代码中 没有用 clear:both 清除第一个div浮动,而是使用右浮动 float:right 就能让两个div 分行?

Parmer 2015-12-13 18:44:52
<!DOCTYPE HTML><html><head><meta charset="utf-8"><title>不定宽块状元素水平居中</title><style>.container{    float:left;    position:relative;    left:50%;}.container ul{ list-style:none; margin:0; padding:0;    position:relative;    left:-50%;}.container li{float:left;display:inline;margin-right:8px;}/*下面是代码任务区*/.wrap{    position:relative;    float:right;    right:50%;}.wrap-center{    background:#ccc;    position:relative;    right:-50%;}</style></head><body><div class="container"> <ul>    <li><a href="#">1</a></li>        <li><a href="#">2</a></li>        <li><a href="#">3</a></li>    </ul></div><br><!--下面是代码任务区--><div class="wrap">    <div class="wrap-center">我们来学习一下这种方法。</div></div></body></html>
查看完整描述

4 回答

?
李晓健

TA贡献1036条经验 获得超461个赞

//img1.sycdn.imooc.com//566e19b60001c15d08400406.jpg


确实没有覆盖

查看完整回答
反对 回复 2015-12-14
  • Parmer
    Parmer
    确实没有。但我有几个问题请教你:1.这里用float:right 的目的是什么?为什么不用float:left;2.在wrap 样式里,怎么实现 居中显示第二个div;
  • 李晓健
    李晓健
    right 就是让他显示到最右边,然后通过定位,再往左拉回来一半,就居中了。 /*下面是代码任务区*/ .wrap{ width: 200px; margin: 0 auto; } .wrap-center{ background:#ccc; } 这样就可以居中了
?
echo_kinchao

TA贡献600条经验 获得超86个赞

只要没有影响到 其实可以不写

查看完整回答
反对 回复 2015-12-13
  • Parmer
    Parmer
    影响到了,在网页上显示出来,是看不到第一个div的
?
LUCK星001

TA贡献19条经验 获得超21个赞

  1. clear;both;是清楚浮动的; 当第一个div向左浮动的时候,那么后面的div也会跟着向左浮动啊,因此就会出现被覆盖掉;

  2. float:left;就不受position:relative;的影响了,如果你想让第二个居中的话

  3. .wrap{

  4.   text-align:center;   

  5. }

  6. .wrap-center{

  7.     background:#ccc;

  8. }

查看完整回答
反对 回复 2015-12-13
  • Parmer
    Parmer
    你这种方法两个div确实都居中了,但还是会覆盖。除了clear 浮动,还有没有其他办法
  • 4 回答
  • 0 关注
  • 1742 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信