• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

为什么wrap中要加float:left左浮动(源自:HTML+CSS基础课程 15-5)

一开始我一直在想玩什么wrap要加上float:left,不加会怎么样?然后尝试着不加float:left,结果发现如果不加就不会出现居中效果,会跟一开始一样文字在最左边。    后来反复试验,终于有点理解为什么要加上float:left,不过我自己不太能表达出来,简单来说,我个人理解就是:    如果不加float:left,因为div class="wrap"是块状元素,所以是独占一行的,文字后面延伸到浏览器最右侧,导致这个div class="wrap"里面的元素(指div class="wrap-center")也是延伸到浏览器最右侧的,假设div class="wrap"的宽度是100,那么div class="wrap-center"的宽度也是100,所以前面所说的,在wrap里面用left:50%往右移动50%,然后又在wrap-center里面用left:-50%,因为wrap和wrap-center宽度是相等的,导致它们抵消了,所以最后不会出现任何居中效果。    然而,如果在wrap里面加了float:left,意思就是左浮动,根据前面第12章里面所说的浮动模型的特征,wrap是不能独占一行的,wrap如果加了左浮动,然后里面又嵌套有其他元素的话(这里指wrap-center),第一个重点来了:wrap将会在“我们来学习一下这种方法。”这句话之后把wrap-center放进去,也就是说“我们来学习一下这种方法。”这句话后面不会出现可以一直延伸到浏览器最右侧的空白,而是出现了wrap-center。而且第二个重点也来了:就是wrap-center的宽度会跟wrap的宽度保持一致(当然这里是指wrap-center里面没有指定width而是保持默认的情况下)。    此时,假设“我们来学习一下这种方法。”这段话的长度为10,那么wrap-center的长度就是10,此时再在wrap-center里面用left:-50%,就是往左移动-50%,大家脑补一下,这个时候就实现了把这段文字居中的效果。到现在我们可以看到,之前是根据wrap的长度100移动了50%,后来是根据wrap-center,其实就是“我们来学习一下这种方法。”这段文字的长度移动了-50%。这就是原理。    不知道大家看懂没,我是尽力了。。。

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

我觉得,如果你用代码来写,会更容易让人看懂。。。还有,如果你要wrap居中的话,给他父元素一个width,给他一个width,然后margin:0 auto;就能实现了~

使用道具 举报

善于总结……赞一个

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!