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

    前言

      display在网页的设计中经常用到,对页面的布局和尺寸等内容有着很大影响,常用的主要有none、block、inline(默认值)、inline-block等几个属性,本文详细介绍关于display的各种属性。

    1.定义

      display属性用于规定元素生成的框类型,影响显示方式

      值:none | inline | block | inline-block | list-item | run-in | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-colume-group | table-colume | table-cell | table-caption | inherit

      初始值:inline

      继承性:无

      【注意】IE7-浏览器不支持table类属性值和inherit

    2.分类

    【1】block

      【特征】

        【1】不设置宽度时,宽度为父元素宽度

        【2】独占一行

        【3】支持宽高

      【标签】

    <address><article><aside><blockquote><body><dd><details><div><dl><dt>
    <
    fieldset><figcaption><figure><footer><form><h1><header><hgroup><hr>
    <
    html><legend><menuitem><nav><ol><optgroup><option><p><section><summary><ul>

      【不支持的样式】

        【1】vertical-align

    【2】inline

      【特征】

        【1】内容撑开宽度

        【2】并非独占一行

        【3】不支持宽高

        【4】代码换行被解析成空格

      【标签】

    <a><abbr><area><b><bdi><bdo><br><cite><code><del><dfn><em><i><ins><kbd>
    <
    label><map><mark><output><pre><q><rp><rt><ruby><s><smap><small>
    <
    span><strong><sub><sup><time><u><var><wbr>

      【不支持的样式】

        【1】background-position

        【2】clear

        【3】clip

        【4】height | max-height | min-height

        【5】width | max-width | min-width

        【6】overflow

        【7】text-align

        【8】text-indent

        【9】text-overflow

    3.inline-block

      【特征】

        【1】不设置宽度时,内容撑开宽度

        【2】非独占一行

        【3】支持宽高

        【4】代码换行解析成空格

      【标签】

    <audio><button><canvas><embed><iframe><img><input>
    <keygen><meter><object><progress><select><textarea><video>

      【不支持的样式】

        【1】clear

      【IE兼容】

        IE7-浏览器不支持给块级元素设置inline-block样式,解决方法如下:首先将其变成行内元素,使用具有行内元素的特性,然后触发haslayout,使其具有块级元素的特性,如此就可以模拟出inline-block的效果

    4.none

      【特征】

        隐藏元素并脱离文档流

      【标签】

    <base><link><meta><title><datalist><dialog><param><script><source><style>

    5.list-item

      【特征】

        【1】不设置宽度时,宽度撑满一行

        【2】独占一行

        【3】支持宽高

    6.run-in

      【特征】

        run-in是一个有意思的块/行内元素混合,可以使某些块级元素成为下一个元素的行内部分。如果一个元素生成run-in框,而且该框后面是一个块级框,那么该run-in元素将成为块级框开始处的一个行内框,run-in框格式化成另一个元素中的行内框,但它们仍从文档中的父元素继承属性

        若run-in框后面不是块级框时,run-in框本身将成为块级框

      【注意】只有Safari和IE8+支持

    【表格类元素】

    table{display: table;}
    thead{display: table-header-group;}
    tbody{display: table-row-group;}
    tfoot{display: table-footer-group;}
    tr{display: table-row;}
    td,th{display: table-cell;}
    col{display: table-column;}
    colgroup{display: table-column-group;}
    caption{display: table-caption;}

      表格类元素的display共有以上几种,<thead><tbody><tfoot><tr><col><colgroup>因为无法设置margin和padding用的较少,下面将着重介绍下<table>、<td>、<th>、<caption>这四个标签对应的display属性

    1.table

      【特征】

        【1】不设置宽度时,宽度由内容撑开

        【2】独占一行

        【3】支持宽高

        【4】默认具有表格特征,能够设置table-layout  

        【注意】对于display为table和inline-table,若处于分隔边框模型即border-collapse:separate;,margin和padding都可设置;若处于合并边框模型即border-collapse:collapse,只可设置margin

    2.inline-table

      【特征】

        【1】不设置宽度时,宽度由内容撑开

        【2】非独占一行

        【3】支持宽高

        【4】默认具有表格特征

    3.table-cell

      【特征】

        【1】不设置宽度时,宽度由内容撑开

        【2】非独占一行

        【3】支持宽高

        【4】垂直对齐

        【5】同级等高

      【注意】display:table-cell的元素不能设置margin,但是可以设置padding

    4.table-caption

      【特征】

        【1】不设置宽度时,宽度由内容撑开

        【2】独占一行

        【3】支持宽高

      【注意】

        display:table-caption元素的margin和padding都可以设置

      

  • 相关阅读:
    gulp常用插件之gulp-plumber使用
    gulp常用插件之gulp-load-plugins使用
    gulp常用插件之yargs使用
    ql自动化测试之路-概述篇
    ql的python学习之路-day11
    ql的python学习之路-day10
    ql的python学习之路-day9
    python实现简易工资管理系统(Salary Manage)源码
    python控制台实现打印带颜色的字体
    ql的python学习之路-day8
  • 原文地址:https://www.cnblogs.com/controlms/p/7762012.html
Copyright © 2011-2022 走看看