zoukankan      html  css  js  c++  java
  • 转: 详解css中的display属性

      在一般的CSS布局制作时候,我们常常会用到display对应值有block、none、inline这三个值。下面我们来分别来认识和学习什么时候用什么值。这里通过CSS display知识加实例讲解方法来学习和了解DIV CSS display。

    首先,所有主流浏览器都支持 display 属性。其次,我们都知道display 属性规定元素应该生成的框的类型。默认值:inline

    我们常用的display属性值有:

    inline
    block
    inline-block
    none
    把 display 设置成 none 不会保留元素本该显示的空间,但是 visibility: hidden 还会保留。

    那么,display:inline、display:block和display:inline-block有什么区别呢?

    代码如下:

    <style>
    .inline{display:inline; 100px; height:100px; padding:5px; }
    .block{display:block; 100px; height:100px; padding:5px;background-color:#0f0;}
    .inline-block{display:inline-block; 100px;height:100px; padding:5px;background-color:#00f;}
    </style>
    <body>
    <span class="inline">
    inline
    </span>inline
    <span class="block">
    block
    </span> block
    <span class="inline-block">
    inline-block
    </span>inline-block
    </body>

    我们发现内联对象`inline`给它设置属性`height`和`width`是没有用的,致使它变宽变大的
    原因是内部元素的宽高`+padding`。观察inline对象的前后元素我们会发现`inline`不单独占一行,
    其它元素会紧跟其后。

    而块对象`block`是可以设置宽高的,但是它的实际宽高是本身宽高`+padding`。
    观察`block`的前后元素我们会发现`block`要单独占一行。
    然而,当我们即需要div有宽高,又不希望它独占一行怎么办?

    这个时候我们就需要使用`inline-block`了,再观察一下上面的demo,我们会发现`inline-block`
    即具有`block`的宽高特性又具有`inline`的同行元素特性。
    然而,在IE6/7下padding对inline的宽高是对其没影响的。

    那么,display的其他属性值呢?

    list-item 此元素会作为列表显示。

    run-in此元素会根据上下文作为块级元素或内联元素显示。

    compact CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。

    marker CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。

    table 此元素会作为块级表格来显示(类似table),表格前后带有换行符。
    inline-table 此元素会作为内联表格来显示(类似table),表格前后没有换行符。
    table-row-group 此元素会作为一个或多个行的分组来显示(类似tbody)
    table-header-group 此元素会作为一个或多个行的分组来显示(类似thead)
    table-footer-group: 此元素会作为一个或多个行的分组来显示(类似tfoot)
    table-row 此元素会作为一个表格行显示(类似 tr )。
    table-column-group 此元素会作为一个或多个列的分组来显示(类似 colgroup )。
    table-column 此元素会作为一个单元格列显示(类似 col )
    table-cell 此元素会作为一个表格单元格显示(类似 td 和 th)
    table-caption 此元素会作为一个表格标题显示(类似 caption)

  • 相关阅读:
    Java回调理解 (step by step)
    Android中网络流量控制(防火墙)——Iptables
    JavaScript学习总结1
    怎样在Android实现桌面清理内存简单Widget小控件
    linux文件夹介绍
    git版本号回滚
    页面载入完毕后表单获得焦点
    (转)Arcgis for JS之Cluster聚类分析的实现
    (转)Arcgis for javascript实现百度地图ABCD marker的效果
    (转)Hadoop入门进阶课程
  • 原文地址:https://www.cnblogs.com/shadowduke/p/4969176.html
Copyright © 2011-2022 走看看