CSS 外边距和内边距

1010.png

前面我们学习了这个图片:box盒子。

盒模型主要定义四个区域:内容(content)、内边距(padding)、边框(border)和外边距(margin)。


CSS 内边距 padding

内边距是在内容外、边框内,内边距的属性有5个,其中padding是设置所有的边距,其他4个则分别设置上下左右的边距。

属性          描述    

padding    设置所有的边距    

padding-top    设置上边距    

padding-bottom    设置下边距    

padding-left    设置左边距    

padding-right    设置右边距    

<!DOCTYPE html>
<html>
    <head>
        <title>测试内边距</title>
        <meta charset="utf-8">
        <!-- 调用CSS样式表 -->
        <style type="text/css">            
            #all{padding: 100px;}/*设置所有内边距*/            
            #top{padding-top: 100px;}/*设置上面的内边距*/            
            #bottom{padding-bottom: 100px;}/*设置下面的内边距*/            
            #left{padding-left: 100px;}/*设置左边的内边距*/
            #right{padding-right: 100px;}/*设置右边的内边距*/
        </style>
    </head>
    <body>
        <table border="1">
            <tr>
                <td id="top">我是padding-top,我设置了上边距</td>
            </tr>
        </table>
        <br />
        <table border="1">
            <tr>
                <td id="bottom">我是padding-bottom,我设置了下边距</td>
            </tr>
        </table>
        <br />
        <table border="1">
            <tr>
                <td id="left">我是padding-left,我设置了左边距</td>
            </tr>
        </table>
        <br />
        <table border="1">
            <tr>
                <td id="right">我是padding-right,我设置了右边距</td>
            </tr>
        </table>
        <table border="1">
            <tr>
                <td id="all">我是padding,我设置了所有内边距</td>
            </tr>
        </table>
    </body>
</html>

CSS 外边距  margin

围绕在内容边框的区域就是外边距,外边距默认为透明区域,外边距接受任何长度的单位、百分数。

外边距常用属性:

属性               描述    

margin    设置所有边距    

margin-top    设置上边距    

margin-bottom    设置下边距    

margin-left    设置左边距    

margin-right    设置右边距    

<!DOCTYPE html>
<html>
    <head>
        <title>测试外边距</title>
        <meta charset="utf-8">
        <!-- 调用CSS样式表 -->
        <style type="text/css">            
         
                    #ss {  
                    background-color: #333;  
                    color: #FFF;  
                    margin-top: 10px;  
                    margin-bottom: 10px;  
                    }  
                    #rr {  
                    font: normal 14px/1.5 Verdana, sans-serif;  
                    margin-top: 30px;  
                    margin-bottom: 30px;  
                    border: 1px solid #F00;  
                    }  
        </style>
    </head>
    <body>
       <p id = "ss">盒子模型主要是有margin(外边距)、border(边框)、padding(内边距)、content(内容)组成</P>
             <p id = "rr">盒子模型主要是有margin(外边距)、border(边框)、padding(内边距)、content(内容)组成</P>
    </body>
    
</html>

margin和padding的属性值

        ①、它们的默认值都是0;它们的属性值都可以为auto——margin作用的元素由浏览器计算外边距,padding作用的元素由浏览器计算内边距。

        ②、margin允许指定负的外边距值,不过使用时要小心;padding不允许指定负边距值;

        ③、margin和padding的属性值都可以有1个、2个、3个和4个:

                a、margin有4个属性值(例如margin:10px 5px 15px 20px;), 其含义是:上外边距10px、右外边距5px、下外边距15px、左外边距20px;

                      padding有4个属性值(例如padding:10px 5px 15px 20px;),其含义是:上内边距10px、右内边距5px、下内边距15px、左内边距20px;

                      总结:无论是margin还是padding,如果有4个属性值,那么它们的作用方向顺时针  依次为上、右、下、左;

                b、margin有3个属性值(例如margin:10px 5px 15px ;), 其含义是:上外边距10px、右外边距和左外边距5px、下外边距15px;

                      padding有3个属性值(例如padding:10px 5px 15px;),其含义是:上内边距10px、右内边距和左内边距5px、下内边距15px;

                      总结:无论是margin还是padding,如果有3个属性值,那么它们的作用方向顺时针  依次为上、右左、下;

                c、margin有2个属性值(例如margin:10px 5px;), 其含义是:上外边距和下外边距10px、右外边距和左外边距5px;

                      padding有2个属性值(例如padding:10px 5px;),其含义是:上内边距和下内边距10px、右内边距和左内边距5px;

                      总结:无论是margin还是padding,如果有2个属性值,那么它们的作用方向顺时针  依次为上下、右左;

                d、margin有1个属性值(例如margin:10px;), 其含义是:4 个外边距都是 10px;

                      padding有1个属性值(例如padding:10px;),其含义是:4 个内边距都是 10px;

                      总结:无论是margin还是padding,如果有1个属性值,那么它们的边距值都是相等的;


Weiter lernen
||
<!DOCTYPE html> <html> <head> <title>测试边距</title> <meta charset="utf-8"> <!-- 调用CSS样式表 --> <style type="text/css"> body{ margin:0px; } .test1{ width:150px; height:150px; border:6px solid red; } .test2{ margin-top:40px; padding-top:40px; width:150px; height:150px; border:6px solid gray; } .test2_son{ width:80px; height:50px; border:12px solid blue; } </style> </head> <body> <div class="test1">test1</div> <div class="test2"> <div class="test2_son">test2_son</div> </div> </body> </html>
einreichenCode zurücksetzen