display , position , float

491 阅读2分钟

一、display 属性可以设置元素的内部和外部显示类型

元素的外部显示类型将决定该元素在流式布局中的表现(块级或内联元素)

元素的内部显示类型可以控制其子元素的布局例如:flow layout,grid 或 flex)

    1. display:none;   元素隐藏,页面不保留物理空间
    2. display:block; 块级元素,块级元素默认是此属性
    3. display:inline; 行内元素,行内元素默认是此属性
    4. display:inline-block; 行内块元素,可以对该元素进行宽高,内外边距的设置
    (inline-table,table-cell..等等)
    
    行内元素和块级元素的主要区别是盒子模型:即 行内元素不能设置宽高,上下位置的内外边距

二、position 属性指定一个元素(静态的,相对的,绝对或固定)的定位方法的类型

    1. absolute  生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位
                 元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定
    2. fixed     生成绝对定位的元素,相对于浏览器窗口进行定位
                 元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定
    3. relative  生成相对定位的元素,相对于其正常位置进行定位
                 例:”left:20” 会向元素的 LEFT 位置添加 20 像素
    4. static    默认值。没有定位,元素出现在正常的流中
    5. inherit   规定应该从父元素继承 position 属性的值

三、float 属性定义元素在哪个方向浮动,浮动可以使得多个块级元素可以放置在同一行上

   float:left/right/none,默认为none    
   浮:漂浮起来脱离文档流,动:朝着指定方向移动
   元素加了浮动后,会脱离文档流,提升了半层层级,向着指定方向移动,直到遇到父元素的边界或另一个浮动元素停止