美文网首页
display属性探索

display属性探索

作者: 你好自己 | 来源:发表于2020-12-30 10:24 被阅读0次

    html代码

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>myDiv</title>
            <link rel="stylesheet" type="text/css" href="mydiv.css"/>
        </head>
        <body>
            <div class="container">
                <span>行内元素1</span>
                <span>行内元素2</span>
                <span>行内元素3</span>
              <span>行内元素4</span>
              <span>行内元素5</span>
                
                <div class="myDiv1">行内块状元素1</div>
                <div class="myDiv2">行内块状元素2</div>
                
                <div class="myDiv3">块状元素1</div>
                <div class="myDiv4">块状元素2</div>
            </div>
        </body>
    
    
    </html>
    

    css代码

    .container{
        width: 600px;
        height: 600px;
        border: 1px solid green;
        color: #000000;
    
    }
    
    span,.myDiv1,.myDiv2,.myDiv3,.myDiv4{
        /* 此时span为inline; */
        width: 200px;
        height:100px;
        border: 1px solid red;
    }
    

    浏览器加载如图:


    截屏2020-12-30 上午8.53.21.png

    1 通过浏览器打开,你会发现,在块级元素container 内,

    行内元素的特点:

    • 设置宽高无效
    • 不自动换行
    • 默认排列从左到右。
    • 设置margin左右有效,上下无效
    • 设置padding上下左右都有效
    • 但会撑大空间
    • 常见的标签为span b i sub sup做出平方效果
    • 行内元素可通过 display: inline-block; 转换为 行内块级元素

    块级元素的特点:

    • 设置宽高有效
    • 对margin、padding上下左右都有效
    • 自动换行,一行1个,从上到下排列

    2将行内元素转为行内块级元素,

    css代码

    span{
        display: inline-block;
    } 
    
    

    浏览器加载如图:


    截屏2020-12-30 上午10.11.13.png

    此时行内元素span 转为 行内块级元素
    其特性如下:

    • 设置宽高有效
    • 不自动换行

    3 将行内元素转为块级元素

    span{
        display: block;
    } 
    

    浏览器加载如图:


    块级.png

    此时行内元素span也是块级元素起具有块级元素的特点

    4以上是行内元素转为 行内块级元素 和 块级元素.

    那是否可以将块级元素转为 行内元素或者 行内块级元素 转为 行内元素.

    .myDiv1,.myDiv2{
        display:inline;
    } 
    

    浏览器加载如图:


    块级1.png

    5 在以上测试时发现 行内元素 span之间有诡异的3em的间隔,解决办法如下:

    • 行内元素拼接起来,不要换行. 这也是行内元素的通常做法.
    • 在js里拼接好字符串后再通过innerHtml方法显示出来
    • 换行符号的宽度是由所在标签的字体大小有关,以上面的代码为例,span的font-size越大,块1与块2之间的空白就越宽,反之则越小,所以将字体设置为0即可
    • 将margin-right: -3em; 这个比较麻烦 当行内元素多时.

    相关文章

      网友评论

          本文标题:display属性探索

          本文链接:https://www.haomeiwen.com/subject/gbwcoktx.html