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

为什么父标签要设置float?

不懂,父标签为什么要设置float,子标签要left:-50%

正在回答

4 回答

再帮您加一句,这个是不是固定模式:一定要向左浮动?

0 回复 有任何疑惑可以回复我~
#1

W_V 提问者

非常感谢!
2016-03-12 回复 有任何疑惑可以回复我~

float的作用是取消了块元素只能垂直向下排列的特点(见图一),赋予块元素向水平方向排列的特性(见图二)。而“left”则是让元素块从左往右排列,方便接下来为块元素定位时以浏览器的左边为准线。

56efcf4800018d5705000256.jpg

图一

56efcf480001d05705000228.jpg

图二

同样的,以浏览器的右边为准线,也可以实现同样的效果。代码如下,跟之前的代码作比较就能理解清楚了:

.wrap{
    float:right;
    position:relative;/**/
    right:50%;
}
.wrap-center{
    background:#ccc;
    position:relative;
    right:-50%;   
}

0 回复 有任何疑惑可以回复我~

这是一个画画图才好理解的问题。

  1. float的作用是将width的大小随内容变化。这是我自己试出来的效果。如果不用float,container的width是一行宽,而用float,container的width就和里面有多少内容相关了。

  2. 为什么要向左浮动,这个请看下图http://img1.sycdn.imooc.com//56e4ecd5000165d014010090.jpg

    其中黑色的边框是container,红色的边框是ul。

    我们看到container移动到了距离左边边框50%的位置上,这个位置上,container的左边框在页面正中间,但是container的中心不在中轴线上。

    因此,需要将ul向左移动半个container的距离,才能够使得内容真正居中。

  3. 有点细节,如果还是不懂,请将container和ul都加上边框,尝试几次就能得到结果

5 回复 有任何疑惑可以回复我~

其他人有回答-50%的问题,必须向左,因为右边无限宽。在外面没有其他盒子,相对于浏览器页面也说。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识HTML(5)+CSS(3)
  • 参与学习       1231623    人
  • 解答问题       19087    个

HTML(5)+CSS(3)基础教程8小时带领大家步步深入学习标签用法和意义

进入课程

为什么父标签要设置float?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号