css--盒子模型

 盒子模型

边框属性

边框宽度:border-width

边框颜色:border-color

边框样式:border-style

4个方向来表示(上下左右)

设置元素边框宽度

border-width:thin | medium | thick |长度值

边框颜色

border-color:颜色

边框样式

border-style:值 | none | hidden

padding

padding为内边距属性,设置元素的内容与内 边框之间的距离(内边距或填充),分四个方向(上、右、下、左)

padding-top:长度值 | 百分比

padding-right:长度值 | 百分比

padding-bottom:长度值 | 百分比

padding-left:长度值 | 百分比

注意:值不能为负数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
     <style>
            div{width: 100px;height: 100px;
            border: 1px red solid}
     </style>
</head>
<body>
        <div>测试</div>
</body>
</html>
View Code

上面的代码效果是一个100*100的边框,测试两个字在左上角,如果我们想让文字距离顶部20px,就可以加上padding-top

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
     <style>
            div{width: 100px;height: 100px;
            border: 1px red solid;
            padding-top: 20px;
            }
     </style>
</head>
<body>
        <div>测试</div>
</body>
</html>
padding-top

说明,因为加了内填充padding-top: 20px,所以之前的100*100的边框的高度就变为了120,宽度还是100

如果想距离左边30px,就可以加上padding-left

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
     <style>
            div{width: 100px;height: 100px;
            border: 1px red solid;
            padding-top: 20px;
            padding-left: 30px;
            }
     </style>
</head>
<body>
        <div>测试</div>
</body>
</html>
padding-left

说明:边框的宽度增加了30px

如果要给内容的上下左右都增加padding,我们可以简写‘

padding:值1;            4个方向都为值1
padding:值1值2; 上下=值1,左右=值2
padding:值1值2值3; 上=值1,左右=值2,下=值3
padding:值1值2值3值4: 上=值1,右=值2,下=值3,左=值2

 

margin

margin为内边距属性,设置元素与元素之间的距离(外边距),分四个方向(上、右、下、左)

margin-top:长度值 | 百分比 | auto

margin-right:长度值 | 百分比 | auto

margin-bottom:长度值 | 百分比 | auto

margin-left:长度值 | 百分比 | auto

 

说明:值可为负值

margin:值1;            4个方向都为值1
margin:值1值2;         上下=值1,左右=值2
margin:值1值2值3;      上=值1,左右=值2,下=值3
margin:值1值2值3值4:   上=值1,右=值2,下=值3,左=值2

外边距属性

默认情况下,相应HTML块级元素存在外边距

body、h1~h6、p......

声明margin属性,覆盖默认样式

body,h1,h6,p{margin:0;}

margin值为auto,实现水平方向居中显示,由浏览器计算外边距

垂直方向,两个相邻元素都设置外边距,外边距会发生合并,合并后外边距高度=两个发生合并外边距的高度中的最大值

盒子模型的计算

 在CSS中,width和height指的是内容区域的宽度和高度

增加内边距,边框,和外边距不会影响内容区域的尺寸,但会增加元素框的总尺寸

 display属性

inline:元素将显示为内联元素,元素前后没有换行符

block:元素将显示为块级元素,元素前后会带有换行符

inline-block:行内块元素,元素呈现为inline,具有block相应特性

none:此元素不会被显示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
     <style>
        div{color: red;}
         span{display: none}
         div:hover span{display: inline}
     </style>
</head>
<body>
        <div href="#">指我。。。
            <span  >
                捉迷藏。。。
            </span>
        </div>
</body>
</html>
捉迷藏

1.相应内联元素及使用 display: inline设置成内联元素的元素width和 height属性无效。

水平方向 margin-left/ margin- right/ padding-left / padding-right有效

垂直方向 margin-top/ margin- bottom/ padding-top/padding- bottom无效

2.块级元素及使用 display: block设置成块级元素的元素width/ height/ margin/ padding属性都生效

posted @ 2019-06-16 22:26  邹邹很busy。  阅读(157)  评论(0编辑  收藏  举报