CSS float和clear的问题

text的style那里,如果不写float和clear,执行的结果和只写float:left的效果一样(文字出现在蓝块右侧)如果只写clear:both可以到下一行显示... text的style那里,如果不写float和clear,执行的结果和只写float:left的效果一样(文字出现在蓝块右侧)
如果只写clear:both可以到下一行显示(图2),只写clear:left或者写clear:right也是同样的效果
如果写float:right;和clear:both; 文字出现在粉块的下面。

不理解上面三种写法为什么会出现那样的结果,望指教,谢谢
补充:
主要不理解第一条,他是怎么得到left属性的,为什么得到的不是div3中的inherit,也不是父div的right,而是div1和2的left

如果第一个问题中得到的是left,为什么第二个问题中写clear:right也可以清除float呢

关于第3个问题,float:right;和clear:both书写的先后顺序不影响结果,css不是按行读代码的吗?
展开
 我来答
horse爱前端
2015-07-27 · 一个简简单单的前端菜鸟
horse爱前端
采纳数:730 获赞数:3333

向TA提问 私信TA
展开全部
首先,你没有理解什么是float,http://www.w3school.com.cn/cssref/pr_class_float.asp,在这里学习一下float的用法。
其次,clear的问题,这个清除浮动基本上很少单独用,一般是用clear:hoth,就是使标签换行显示。至于单独清除左浮和右浮很少用到。因为本身就是单独左浮或者右浮,浮动以后再清除浮动一点意义都没有,只是多了几句没用的代码。你可以查看一下现在所有的网站的源码,基本上没有用clear:left/right;的,当然也不排除一些新手用这个属性,但是一些成熟的网站是肯定没有的。
最后,float和clear一般是不会写到同一个标签的样式里面的,因为你先添加浮动再清除浮动根本就没有意义,就跟1加上1然后再减去1一样(这里是单纯的想要结果,不要说什么一些时候需要这么做),css是按行解析代码没错,不过有一个前提就是同一个属性是后面的覆盖前面的,如果是不同的冲突的属性是不管先后顺序的。
如果有哪里不明白再追问。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式