[关闭]
@panhonhang 2018-05-12T09:32:43.000000Z 字数 1249 阅读 576

display的属性及其区别


display属性
    display属性是我们在前端开发中常常使用的一个属性,其中,最常见的有:none;block;inline;inline-block;inherit
  1. display:none;

    此元素不会被显示。
    
  2. display:block;

        使用了display:block;之后, 此元素将显示为块级元素,此元素前后会带有换行符。我们先来回顾以下块级元素是什么,他有什么特点。
        既然要区分块级元素和行内元素,就得先说说标准文档流了。标准文档流:简称标准流,指的是在不使用其他的与排列和定位相关的css规则时,各种元素的排列规则。于是,我们将“各种元素”分为块级元素和行内元素。(注:实际上还有空元素,如<br>用于换行,<hr>为一条水平线,这里对空元素不做过多讨论)
        块级元素特点:总是以一个块的形式表现出来,占领一整行。若干同级块元素会从上之下依次排列(使用float属性除外)。可以设置高度、宽度、各个方向外补丁(margin)以及各个方向的内补丁(padding)。当宽度(width)缺省时,它的宽度时其容器的100%,除非我们给它设定了固定的宽度。块级元素中可以容纳其他块级元素或行内元素。常见的块级元素由<p><div><h1><li>等等。块级元素的display属性值默认为block。
    
  3. display:inline

        此元素会被显示为内联元素,元素前后没有换行符。在第二部分中,我们介绍了行内元素和块级元素。显然,display:inline的作用即可以将一个块级元素转换成行内元素,那么这个块级元素将不能再设置宽和高以及上下方向的margin和padding。
        行内元素特点:
    它不会单独占据一整行,而是只占领自身的宽度和高度所在的空间。若干同级行内元素会从左到右(即某个行内元素可以和其他内元素共处一行),从上到下依次排列。行内元素不可以设置高度、宽度,其高度一般由其字体的大小来决定,其宽度由内容的长度控制。行内元素只能设置左右的margin值和左右的padding值,而不能设置上下的margin值和上下的padding值。因此我们可以通过设置左右的padding值来改变行内元素的宽度。常见的行内元素由<a><em><img>等等。行内元素般不可以包含块级元素。块级元素的display属性值默认为inline。
    
  4. display:inline-block

        display:inline-block是什么呢?大家对这个属性一定是不陌生的。根据名字,实际上我们就可以才出来它是结合了inline和block的特性于一身。即设置了inline-block属性的元素既具有block元素可以设置width和height属性的特性,又保持了inline元素不换行的特性。举例说明,我们之前在做横向导航菜单的时候,一般是用ul li a组合,然后将li设置为float,这样就可以得到横向的导航标签了。而现在我们可以通过li和display:inline-block;来实现。 
    
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注