CSS简单学习(四)-盒子模型

盒子模型

可以把页面中的元素都可以看做一个盒子,占据着一定的页面空间,这些占据的空间往往比单纯的内容要大,换句话说,我们可以通过调整盒子的边框和距离的参数来调整盒子的位置。

形式如下:

Border

border有style,width和color属性

 

内边距

padding用于控制content于border之间的距离(元素的边框和内容的距离),如下所示:

padding-top,padding-right,padding-bottom,padding-left

padding的属性概念很简单,但在CSS中与margin配合能使得页面千变万化。

示例:

<!--内边距-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>内边距</title>
    <style type="text/css">
        body{
            padding: 20px;
            background-color: yellowgreen;
        }
        p{
            /*padding-top: 5px;
            padding-right: 10px;
            padding-bottom: 5px;
            padding-left: 10px;*/
            /*等价形式,四个方向都写,顺时针方向,上右下左*/
            /*padding:5px 10px 5px 10px;*/
            /*等价形式,左右相同,上下相同时,上下5px,左右10px*/
            /*padding:5px 10px;*/

            /*若是上下左右都相同:*/
            padding: 10px;

            border: solid 1px pink;
        }
        span{
            border: 1px blue;
        }
    </style>
</head>
<body>
    <p><span>CSS是一种定义样式结构如字体、颜色、位置等的语言,被用于描述网页上的信息格式化和现实的方式。
        CSS样式可以直接存储于HTML网页或者单独的样式单文件。无论哪一种方式,样式单包含将样式应用到指定类型的元素的规则。
        外部使用时,样式单规则被放置在一个带有文件扩展名_css的外部样式单文档中。<br/>
        样式规则是可应用于网页中元素,如文本段落或链接的格式化指令。样式规则由一个或多个样式属性及其值组成。
        内部样式单直接放在网页中,外部样式单保存在独立的文档中,网页通过一个特殊标签链接外部样式单。<br/>
        名称CSS中的“层叠(cascading)”表示样式单规则应用于HTML文档元素的方式。
        具体地说,CSS样式单中的样式形成一个层次结构,更具体的样式覆盖通用样式。
        样式规则的优先级由CSS根据这个层次结构决定,从而实现级联效果。</span></p>
</body>
</html>

外边距

元素边框和周围元素的距离,可能是父级,可能是统计

margin-left, margin-right, margin-bottom, margin-top

元素类型:

  • 块级元素,上下左右margin都可以
  • 行级元素,左右margin可以设定,上下最好不要设定,否则会很混乱
  • 元素可以通过CSS中的display属性去改变,块级(block),行级(inline),行内快(inline-block)
  • 块级元素可以嵌套块级元素和行级元素
  • 行级元素只能嵌套行级元素
  • 对于两个元素的垂直方向外边距:取较大值,而不会叠加
  • 水平方向外边距:取两个外边距之和(并非两个都要调整,能达到目的就行)
  • margin除了设置正数以为,也可以设置负数(往相反的方向移动,甚至覆盖在另外的块上)
  • margin可以针对当个方向设定,也可以整合,语法与padding一样(margin:1px,23px,34px,234px; .. ....)

调试:可以在浏览器中调试,Chrome浏览器按F12调试

示例:

<!--外边距-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>外边距</title>
    <style type="text/css">
        div{
            border: solid 1px blue;
            padding:3px;
        }
        /*.p1{
            border: solid 1px green;
            margin-top: 0px; !*默认左右是0*!
            margin-bottom: 5px;
        }
        .p2{
            border: solid 1px red;
            margin-top: 20px; !*垂直方向取最大值,5和20中20大,所以取20*!
        }*/

        /*使两个元素挨在一起,两个都设为0*/
        .p1{
            border: solid 1px green;
            margin-top: 0px;
            margin-bottom: 0px;
        }
        .p2 {
            border: solid 1px red;
            margin-top: 0px;
        }

        .s1{
            margin-right: 10px;
        }
        .s2{
            margin-left: 10px;
        }/*水平方向取和,所以10+10,所以取20(注:并非两个都要设置,能达到目的就行*/

    </style>
</head>
<body>
    <div>
        <p class="p1">这是一个段落</p>
        <p class="p2">这也是一个段落</p>

        <span class="p1 s1">span1</span>
        <span class="p2 s2">span2</span>
    </div>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值