CSS定位属性之间的相互作用_html/css_WEB-ITnose
原文:bitsofcode的HOW POSITIONING CSS PROPERTIES INTERACT
译者:爱前端,乐分享的FedFun,前端痴王海庆的博客。
译言:来看下CSS标布局情况下,定位相关属性之间的相互作用,意译为主,不当之处敬请指正。
阅读建议5分钟。
在定位元素时,我们经常用到四个属性display、position、float和偏移属性top right bottom left等。但不是在每个元素上都可以同时应用这四个属性,一些特殊的值组合会覆盖其他属性的应用,这些组合有:
接下来,我们就一起来研究这些组合之间如何相互作用。
2.1 DISPLAY: NONE
当display设置成none时,其它定位属性统统失效,因为没有产生盒模型(the box model)。
.foo { display: none; /* None of these apply,以下这些将不会应用 */ position: absolute; float: left; top: 10px;}
2.2 POSITION: ABSOLUTE (OR FIXED)
如果将position属性设置为absolute或fixed时,将会产生以下作用:
Float
对float属性设置的任何值都会被覆盖,float属性的计算值(the computed value)自动设置为none。
.foo { position: absolute; float: left; /* 被忽略, 计算值为none */}
DISPLAY
随着display属性值的不同,计算值可能会被覆盖,如下表所示。
inline, inline-block, table-row-group, table-column, table-column-group, table-header-group, table-footer-group, table-row, table-cell, table-caption | block |
inline-table | table |
其他值 | 跟指定值相同 |
下面的代码中,.foo和.bar表现上没有区别。
.foo { position: fixed; display: inline-block; /* ignored, computed value is block */}.bar { position: fixed; display: block;}
2.3 FLOAT: LEFT (OR RIGHT)
除了上面两种情况,当我们把float属性设置为left或right时,相互作用如下:
DISPLAY
跟上面绝对定位、固定定位类似,元素浮动后display属性变换如上表所示。
下面代码中,.foo和.bar的表现效果也一样。
.foo { float: left; display: inline-block; /* ignored, computed value is block */}.bar { float: left; display: block;}
2.4 POSITION: STATIC
除了上面的变化,当position属性值为static时,相互作用如下:
偏移值
当元素静态定位时,偏移属性将失效,如下代码所示。
.foo { position: static; top: 50px; /* does not apply */}3. 声明
上一篇: 我们公司的对外的接口有个IP 访问不了事什么原因。
下一篇: 分析师预计雅虎目标价位至少560亿美元
推荐阅读
-
为什么我的div与父div之间有距离?_html/css_WEB-ITnose
-
下面的代码为何不能将具有title属性的标题设为红色_html/css_WEB-ITnose
-
请问,页面之间的链接如何设置?_html/css_WEB-ITnose
-
HTML
-
火狐和IE之间的7个JavaScript差异_html/css_WEB-ITnose
-
iframe中的页面来设置该iframe的属性(width, height)_html/css_WEB-ITnose
-
一段代码弄清楚CSS属性display和visibility的差别_html/css_WEB-ITnose
-
绝对定位和浮动的问题,求大神帮忙解决_html/css_WEB-ITnose
-
ie6设置select下拉列表的属性不起作用_html/css_WEB-ITnose
-
iframe中的页面来设置该iframe的属性(width, height)_html/css_WEB-ITnose