zoukankan      html  css  js  c++  java
  • 布局display

    什么是布局: 浏览器以正确的大小将元素摆放在正确的位置上。

    布局:元素摆放的模式。

    影响元素大小和位置的css属性: display  position   float  flex

    display

    设置元素的显示方式 ,包括 大小和位置 , display的取值有:

    block

    inline

    inline-block

    none

    display : block

    block元素又称为『块级元素』

    image

    特性:

    1 .默认宽度为父元素宽度

    2. 可以设置宽高

    3. 换行显示( 前序元素 相对于 display : block 是换行显示的, 后续元素相对于 display : block 也是换行显示的。)

    默认的html 元素中,  div, p , h1-h6, ul, form, … 默认的display 是  block

    display : inline

    image红色边框为父级元素

    image

    display: line的特性:

    1.默认宽度为内容宽度

    2.不可设置宽高  ,因为行级元素是不可设置宽高的

    3.同行显示。  如果 前序元素和后续元素都是 display:inline  (行级元素) ,那么他们是同行显示的。可以在元素内部换行。

    默认display: inline 元素  span , a , label, cite , em, …

    举个栗子:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>display_inline</title>
        <style type="text/css">
        .sample{
            background-color: pink;
        }
    
        /* 行级元素设置宽高无效 */
        .sample{
            width: 200px;
            height: 200px;
        }
    
        /* 指定em为块级元素 ,块级元素换行显示(自身相对前序元素是换行的)*/
        em{
            display: block;
        }
    
        </style>
    </head>
    <body>
    
    <span>before inline</span>
    <span class="sample">display : inline;</span>
    <em>after inline</em>
    </body>
    </html>

    image

    block vs inline 对比

    display 默认宽度 可设置高度 起始位置

    block

    父元素宽度

    换行

    inline

    内容宽度

    同行

    display : inline-block

    image

    图1

    image

            图二

    image

          图三

    display: inline-block 特性

    1.默认宽度为内容宽度  (图一所示)

    2.可设置宽高 

    3.同行显示 (图三所示)

    4.整块换行 如果超过了 inline-block的宽度,会『整行换行』。而『inline』是可以在『元素内』换行的。

    默认 display: inline-block 元素  input , textarea , select , button …

    举一个栗子:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>display_inline-block</title>
        <style type="text/css">
        .sample{
            background-color: pink;
        }
        .sample{
            display: inline-block;
        }
        .sample{
            width: 200px;
            height: 200px;
        }
        /* inline-block元素还具有其他inline元素的特征 ,  比如设置垂直居中(由于sample比较高,所以sample的前序和后序两个元素在『一行』垂直居中)*/
        .sample{
            vertical-align: middle;
        }
        </style>
    </head>
    <body>
    <span>before inline-block</span>
    <span class="sample">display : inline-block;</span>
    <em>after inline-block</em>
    </body>
    </html>

    image

    display : none

    设置元素不显示

    image

    dislplay: none  vs visibility:hidden

    imagevisibility:hidden会继续占据位置。

    举个栗子:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>display_none vs visibility_hidden</title>
        <style type="text/css">
        .parent{
            margin: 30px;
            border: 1px solid pink;
        }
        .dn{
            /*display: none;*/
        }
    
        .vh{
            /*visibility: hidden;*/
        }
    
        </style>
    </head>
    <body>
    <div class="parent">
            <div class="dn">display : none;</div>
    </div>
    <div class="parent">
            <div class="vh">visibility : hidden;</div>
    </div>
    
    </body>
    </html>

    image

    ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

    image

  • 相关阅读:
    Redis 多项目序列化问题
    Java序列化的相关认知
    《Proxy系列专题》:代理模式(静态、JDK、CGLib)
    好文章地址
    @ServletComponentScan
    Spring 自动配置的原理
    B+Tree
    Sentinel
    ThreadPoolUtil
    UUID
  • 原文地址:https://www.cnblogs.com/qq-757617012/p/6019488.html
Copyright © 2011-2022 走看看