关于网页前端中的 display框类型

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <link rel="shortcut icon" href="img/mynote.ico"/>
        <title>display框类型</title>
        <style type="text/css">
            div {
                width: 200px;
                height: 200px;
                margin: 5px;
                border: 1px solid black;
                background: greenyellow;
            }
            
            #d1>div,
            span {
                width: 50px;
                height: 50px;
                background: red;
                margin: 5px;
                border: 1px solid black;
            }
            
            #div1 {
                /*将块元素转化为行元素*/
                display: inline;
            }
            
            #span1 {
                /*将行元素转化为块元素*/
                display: block;
            }
            
            #div2 {
                /*将块元素转化为行内块元素*/
                display: inline-block;
            }
            
            #span2 {
                /*将行元素转化为行内块元素*/
                display: inline-block;
            }
            /*水平的主轴(main axis)和垂直的交叉轴(cross axis)。
主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;
交叉轴的开始位置叫做cross start,结束位置叫做cross end。
项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。*/
            
            #d2 {
                display: flex;
                /*flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap
     row(默认值):主轴为水平方向,起点在左端。    nowrap(默认):不换行。
     row-reverse:主轴为水平方向,起点在右端。      wrap:换行,第一行在上方。
     column:主轴为垂直方向,起点在上沿。                wrap-reverse:换行,第一行在下方。
     column-reverse:主轴为垂直方向,起点在下沿。*/
                flex-flow: row-reverse wrap-reverse;
            }
            
            #d2>div {
                width: 60px;
                height: 60px;
                background: red;
                border: 1px solid black;
                margin: 5px;
            }
            
            #d3 {
                background: greenyellow;
                display: flex;
                /*justify-content属性定义了项目在主轴上的对齐方式。
     * flex-start(默认值):左对齐 
    flex-end:右对齐 
    center: 居中 
    space-between:两端对齐,项目之间的间隔都相等。 
    space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。*/
                flex-wrap: wrap;
                justify-content: space-around
            }
            
            #d4 {
                background: greenyellow;
                display: flex;
                /*align-items属性定义项目在交叉轴上如何对齐。
         flex-start:交叉轴的起点对齐。
        flex-end:交叉轴的终点对齐。
        center:交叉轴的中点对齐。
        baseline: 项目的第一行文字的基线对齐。
        stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。*/
                flex-wrap: wrap;
                align-items: center;
            }
            
            #d5 {
                background: greenyellow;
                display: flex;
                /*align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
         flex-start:与交叉轴的起点对齐。
        flex-end:与交叉轴的终点对齐。
        center:与交叉轴的中点对齐。
        space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
        space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
        stretch(默认值):轴线占满整个交叉轴。*/
                flex-wrap: wrap;
                align-content: stretch;
            }
            
            #s51 {
                /*order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。*/
                order: 3;
            }
            
            #s52 {
                /*flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。数值越大,越先改变*/
                /*flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。数值越大,越先改变*/
                /*flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。
     * 浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
     * 它可以设为跟width或height属性一样的值(比如350px),则项目将占据固定空间。*/
                flex: 3 3 60px;
            }
            
            #s41 {
                /*align-self属性允许单个项目有与其他项目不一样的对齐方式,
     * 可覆盖align-items属性。默认值为auto,
     * 表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。*/
                align-self: ;
            }
            
            #div6 {
                display: none;
            }
        </style>
    </head>

    <body style="margin-left: 50px;">
        <div id="d1">
            <div id="div1">块元素</div>
            <div id="div2">块元素</div>
            <span id="span1">行元素</span>
            <span id="span2">行元素</span>
        </div>
        <p>flex-flow属性</p>
        <div id="d2">
            <span>1</span>
            <span>2</span>
            <span>3</span>
            <span>4</span>
        </div>
        <p>justify-content属性定义了项目在主轴上的对齐方式。</p>
        <div id="d3">
            <span>1</span>
            <span>2</span>
            <span>3</span>
            <span>4</span>
        </div>
        <p>align-items属性定义项目在交叉轴上如何对齐。</p>
        <div id="d4">
            <span id="s41">1</span>
            <span>2</span>
            <span>3</span>
            <span>4</span>
        </div>
        <p>align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。</p>
        <div id="d5">
            <span id="s51">1</span>
            <span id="s52">2</span>
            <span id="s53">3</span>
            <span id="s54">4</span>
        </div>
        <p>none让此元素不显示</p>
        <div id="div6"></div>
    </body>

</html>

猜你喜欢

转载自blog.csdn.net/qq_41210350/article/details/81134129