当一个元素被浮动后,它的display是否会被默认指定为block?
2024-08-31 10:30:50
css 浮动后的元素不论是什么display的都默认是block就是设置inline也是block
IE/6出现双边框的原因
出现双边距的条件是当浮动元素的浮动方向和margin的方向一致时才会出现。也就是说,并不是只有块状元素左浮动,且具有左外边距时才有这个BUG,当一个盒子右浮动的同时有一个向右的margin-right的时候,IE6也会把margin-right解析为原来的2倍。当有多个同行元素都浮动了,而且都有同方向的margin,则只有最靠近浮动方向的元素有双边距bug。(如果都是一个方向的浮动那么第一个只有双边距,但同时也有右边的浮动,那么也同样是双边距,原理是相对谁浮动的)
解决这个bug有两个方法:
- 给float的元素添加一个display:inline (错误!!!) 其实不用加,浮动的元素本身会变成block元素,加了也不会生效
- 给ie6写一个hack,其值是正常值的一半,即_margin-right:10px;这个方法不推荐,因为要加hack写法,而这个是要尽量避免写的。但是这个正好能够说明这个bug的真实存在。
本来以为,将display设置为inline后,就改变了BUG产生的条件之一,即必须是块状元素。但是后来又看到了下面这段话:“熟悉规则的人知道浮动元素自动设置为”block”元素,而不管他们之前是什么。这说明浮动元素上的{display: inline;}会被忽略,事实上所有的浏览器没有呈现任何改变,包括IE。但是,它不知何故让IE停止将浮动元素的边界翻倍。”
参考博客
最新文章
- 打电话,发短信,发邮件,app跳转
- Dapper学习笔记(3)-增、删、改、查
- [NOIP2010初赛]烽火传递+单调队列详细整理
- AR
- 【jQuery】关于选择器中的 :first 、 :first-child 、 :first-of-type
- MFC创建非模态对话框并修改CStatic文字
- 【JavaScript学习笔记】调用google搜索
- mysql中 group_concat长度限制
- 添加MIME类型
- [Medusa-dev] psp_handler - embed python in HTML like ASP
- Unity 3D Framework Designing(1)—— MVVM 模式的设计和实施(Part 1)
- 老李分享:robotium3.6与4.0 later 的区别 1
- tomca配置文件自动还原问题的解决 server.xml content.xml 等
- python基础3、4---流程控制、运算符
- mysql索引及优化
- 计算机信息类ComputerInfo(车)
- Graphviz安装及简单使用
- ASP.Net MVC(1) 之走进MVC
- 转:检查c#代码内存泄露工具-CLR Profiler工具使用
- Android: TextView 及其子类通过代码和 XML 设置字体大小的存在差异的分析