`
zccst
  • 浏览: 3291763 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

display,position和float之间的关系

css 
阅读更多
作者:zccst

对‘display’,‘position’和‘float’之间关系的定义
英文原文:http://dbaron.org/css/test/sec0907
影响框的生成和布局的三个属性——'display','position'和'float'——间的相互关系如下:
1,如果'display'设置为'none',用户端必须忽略掉'position'和'float'。在这种情况下,元素不产生框。
2,否则,'position'设置为'absolute'或'fixed','display'设置为'block'且'float'设置为'none'。框的位置将由'top','right','bottom'和'left'属性和该框的包含块确定。
3,否则,如果'float'的值不是'none','display'设置为'block'并且该框浮动。
4,否则,应用指定的其它'display'属性。
即如果'position'设置为'absolute'或'fixed'且‘float’的值不为‘none’,display的值就会被设置为‘block’,所以设置display: inline; float: left;等同于float:left,display:inline 的属性并未生效。因为用户端会忽略掉对’display‘的设置。float:left和display:inline-block当然是不等同的。



position:absolute和float会隐式的改变display类型,
不论之前是什么类型的元素(display:none除外),只要设置了position:absolute或float,都会让元素以display:inline-block的方式显示,可以设置长宽,默认宽度并不占满父元素,就算是显示的设置display:inline或display:block,仍然无效。
float在IE6下的双倍边距bug就是利用添加display:inline来解决的
注意一点的是,position:relative并不能够隐式的改变display的类型


The three properties display, float, and position interact in certain ways.

If an element’s display property is set to none, no box is generated. In this case, float and position are ignored.

If an element’s position property is set to absolute or fixed, it’s absolutely positioned. In this case, float is ignored (the computed value is none).

For absolutely positioned elements, floated elements (elements whose float property is set to left or right), and the root element, the computed value for display is set according to Table 1.

Otherwise, the computed value for display is the same as the specified value.
分享到:
评论

相关推荐

    浅谈CSS中display/float/position属性值的相互影响

    有3个属性和布局以及box的创建有关:’display’, ‘position’ 和 ‘float’,彼此交互作用如下: 如果’display’值为’none’,则’position’ 和 ‘float’无作用。这种情况下,不生成box。 否则,如果’...

    css(display,float,position)深入理解

    display 用来设置元素的显示方式 display : block | none | inline | inline-block inline:指定对象为内联元素 block:指定对象为块元素 inline-block:指定对象为内联块元素 none:隐藏对象 float 控制元素是否...

    如何用float配合position:relative实现居中

    今天发现自己做的一个项目中有个图片切换的下面的按钮不是固定个数,程序那边根据循环实现放几个切换的按钮,但是按钮相对于整体的要居中,刚开始想着用display:inline-block;实现,但是ie6和ie7对块元素使用这个...

    position图片定位

    float:left;} .bg span{display:block;width:25px;height:25px;background:url(images/tu.gif) no-repeat left bottom;position:absolute;left:20px;bottom:20px;} .bg p{display:none;width:226px;height:226px;...

    右下角弹出窗口 javascript

    #rbbox{position:absolute;right:0;bottom:0;width:300px;height:0px;overflow:hidden} .button{display:inline;float:right;font-size:12px;cursor:pointer} </style> <body><div id="rbbox">()">关闭</a>...

    div-css-漂亮的导航条

    float:left; width:100%; background:#F4F7FB; font-size:93%; line-height:normal; border-bottom:1px solid #BCD2E6; } #tabs1 ul { margin:0; padding:10px 10px 0 50px; list-style:none; } #...

    用hover配合(纯css)position实现网页动态展示效果

    如上网页效果用js很容易实现,但用纯css实现此动态功能,意在加深对hover和position定位的理解。与大家分享,欢迎指正。 可以看到,这种效果底层是a标签,hover状态中凭空弹出一个解释框,我们称为元素2。那么要想让...

    CSS中的元素定位方法详解

    其中,position 属性控制页面上元素间的位置关系, display 属性控制元素是堆叠、并排,还是根本不在页面上出现, float 属性提供控制的方式,以便把元素组成成多栏布局。 盒子属性分三组:  边框(border)。可以...

    javascript菜单

    部分代码*{ margin:0px; padding:0px;... float:left; } #caidan ul{ display:none; } #caidan li{ position:relative; } #caidan ul ul{ position:absolute; top:0px; left:102px; } </style>

    jQuery实现居于左侧的弹出菜单

    .box-163css{ position:absolute; left:0; top:220px; background:#f5f5f5; line-height:117px;} #box{ width:0; overflow:hidden; float:left;} .btn1{ display:block; border:none; cursor:pointer; float:left; ...

    css和css3的ppt全部内容课件.rar

    ccs和cc3的完整上课内容,可用于做上课课件。display,float,position。动画,过渡,2d等

    三星9305收索

    top:3px}#shouji{margin-right:14px}#u{display:none}#c-tips-container{display:none}.bdsug{position:absolute;width:418px;background:#fff;display:none;border:1px solid #817f82}.bdsug li{width:402px;color:...

    js抓人游戏

    img{display:inline;float:left;position:absolute;} #chat{display:inline;float:left;position:absolute;font-weight:bold;font-size:16px;} h1{float:left} span{float:left;font-size:32px;font-weight:bold;...

    scrollbar_js实现竖向滚动条

    .picul li a{ display:block;} .picul li img{width:100%; height:100%;} #dv_scroll{position:absolute;height:310px;overflow:hidden;width:570px; top:15px;} .Scroller-Container{width:100%;} #dv_scroll_bar{...

    仿MAC官网导航菜单样式源文件

    #nav li,#nav li a { float:left; display:block; width:117px; height:38px; background:#fff; } #nav li a { width:100%; text-indent:-9999px; background:url(images/mac.png) no-repeat 0 0; } #nav .n01 { ...

    H5响应式网页翻牌小游戏代码.zip

     float: left;  border-radius: 5%;  overflow: hidden;  position: relative;  cursor: pointer; } .tile:nth-of-type(4n 1) {  clear: left; } .tile:after {  content: '';  display: ...

    css3代码属性Flexbox实现内部div上下居中效果.zip

    在布局的传统解决方案中,都是基于盒状模型,依赖display属性、position属性、float属性,这种方式比较传统,对于那些特殊布局来说非常不方便,比如,垂直居中就不容易实现。 尤其是现在移动设备如此多的今天,需要...

Global site tag (gtag.js) - Google Analytics