目录

  • 1 课程介绍
    • 1.1 课程介绍
    • 1.2 思政设计
    • 1.3 软件安装
  • 2 任务一 创建第一个HTML5网页
    • 2.1 教学设计
    • 2.2 任务描述
    • 2.3 知识准备
    • 2.4 任务实现
    • 2.5 任务小结
    • 2.6 测试
    • 2.7 拓展
    • 2.8 教学反思
  • 3 任务二 搭建学院简单网站
    • 3.1 教学设计
    • 3.2 任务描述
    • 3.3 知识准备
    • 3.4 任务实现
    • 3.5 测试
    • 3.6 任务小结
    • 3.7 拓展
  • 4 任务三 美化学院简单网站
    • 4.1 教学设计
    • 4.2 任务描述
    • 4.3 知识准备
    • 4.4 任务实现
    • 4.5 任务小结
    • 4.6 测试
    • 4.7 拓展
  • 5 任务四 制作学院介绍页面
    • 5.1 教学设计
    • 5.2 任务描述
    • 5.3 知识准备
    • 5.4 任务实现
    • 5.5 任务小结
    • 5.6 测试
    • 5.7 拓展
  • 6 任务五 制作学院网站导航条
    • 6.1 教学设计
    • 6.2 任务描述
    • 6.3 知识准备
    • 6.4 任务实现
    • 6.5 任务小结
    • 6.6 测试
    • 6.7 拓展
  • 7 任务六 制作学院新闻块
    • 7.1 教学设计
    • 7.2 任务描述
    • 7.3 知识准备
    • 7.4 任务实现
    • 7.5 任务小结
    • 7.6 测试
    • 7.7 拓展1 盒子模型
    • 7.8 拓展2 CSS常见数值单位
    • 7.9 拓展3 行内元素与块级元素
    • 7.10 拓展4 flex布局
  • 8 任务七 制作学生信息表
    • 8.1 教学设计
    • 8.2 任务描述
    • 8.3 知识准备
    • 8.4 任务实现
    • 8.5 任务小结
    • 8.6 测试
    • 8.7 拓展
  • 9 任务八 制作学生信息注册表单
    • 9.1 教学设计
    • 9.2 任务描述
    • 9.3 知识准备
    • 9.4 任务实现
    • 9.5 任务小结
    • 9.6 测试
    • 9.7 拓展
  • 10 任务九布局学院网站主页
    • 10.1 教学设计
    • 10.2 任务描述
    • 10.3 知识准备
    • 10.4 任务实现
    • 10.5 任务小结
    • 10.6 测试
    • 10.7 拓展
  • 11 任务十 使用CSS3制作动画效果
    • 11.1 教学设计
    • 11.2 任务描述
    • 11.3 知识准备
    • 11.4 任务实现
    • 11.5 任务小结
    • 11.6 测试
    • 11.7 拓展
  • 12 任务十一 学院网站
    • 12.1 教学设计
    • 12.2 任务描述
    • 12.3 任务实现
    • 12.4 任务小结
    • 12.5 拓展
  • 13 任务十二 制作化妆品网站
    • 13.1 教学设计
    • 13.2 任务描述
    • 13.3 任务实现
    • 13.4 任务小结
    • 13.5 拓展
拓展1 盒子模型
  • 1 盒子模型扩展
  • 2 视频介绍

盒子模型

 盒子的概念

1. 页面中的每一个标签,都可看做是一个 “盒子” ,通过盒子的视角更方便的进行布局

2. 浏览器在渲染(显示) 网页时,会将网页中的元素看做是一个个的矩形区域,我们也形象的称之为盒子

盒子模型:

CSS中规定每个盒子分别由:

内容区域(content)、

内边距区域(padding)、

边框区域(border)、

外边距区域(margin) 构成,这就是盒子模型



<style>

       /* 纸箱子,填充泡沫 */

       div {

           width: 300px;

           height: 300px;

           background-color: pink;

           /* 边框线 == 纸箱子 */

           border: 1px solid #000;

           /* 内边距 == 填充泡沫: 出现在内容和盒子直接边缘 */

           padding: 20px;

 

           /* 外边距:出现在两个盒子之间,出现在盒子的外面 */

           margin: 50px;

        }

</style>


盒子模型的浏览器效果

浏览器效果介绍:用谷歌浏览器检查 蓝色正方形是宽高,绿色是内边距,黄色是外边距



盒子模型- 内减模式

          需求:盒子尺寸300*300,背景粉色,边框10px实线黑色,上下左右20px的内边框,如何完成?


          解决方法一:手动内减


          操作:自己计算多余大小,手动在内容中减去


          缺点:项目中计算量大小,很麻烦


          解决方法二:自动内减


          操作:给盒子设置属性 box-sizing:border-box;即可


          优点:浏览器会自动计算多余大小,自动在内容中减去

<style>

div{

width: 100px;

height: 100px;

background: #FCB5B6;

border: 10px solid #000;

padding: 20px;

/*变成CSS3的盒子模型,加了border和padding不需要手动减法*/

box-sizing: border-box;

}

</style>


盒子模型- 版心居中  

           版心:版心(可视区)指网页中的主体内容区域。

<style>

        div {

            width: 1000px;

            height: 300px;

            background-color: pink;

            margin: 0 auto;

         }

</style>


盒子模型- 外边距合并问题

            外边距折叠现象-合并现象


            场景:垂直布局 的 块级元素, 上下的margin会合并


            结果:最终两者距离选取margin的最大值


            解决方法:只给其中一个合作设置margin即可

<style>

       div {

           width: 100px;

           height: 100px;

           background-color: pink;

       }

 

       .one {

           /* margin-bottom: 50px; */

           margin-bottom: 60px;

 

       }

 

       .two {

           margin-top: 50px;

       }

</style>


盒子模型- 外边距塌陷问题

            外边距折叠现象-塌陷现象


            场景:互相嵌套 的 块级元素,子元素的 margin-top 会作用在父元素上


            结果:导致父元素一起往下移动


            解决方法:

            1. 给父元素设置border-top 或者 padding-top (分隔父子元素的margin-top)


             2. 给父元素设置overflow:hidden


             3. 转换成行内块元素


              4. 设置浮动


<style>

      .father {

          width: 300px;

          height: 300px;

          background-color: pink;

          /* padding-top: 50px; */

 

          /* 如果设计稿没有border,不能使用这个解决方法*/

          /* border: 1px solid #000; */

 

          /* 给父元素设置overflow:hidden */

          /* overflow:hidden; */

 

          /*3. 转换成行内块元素  */

          /* display: inline-block; */

 

          /*4. 设置浮动 */

            float: left;

    }

 

      .son {

          width: 100px;

          height: 100px;

          background-color: skyblue;

          margin-top: 50px;

      }

</style>


盒子模型- 行内元素的垂直内外边距问题

html行内元素有:a、b、u、span、img、input、strong、select、sub、sup、label、em、button、textarea、tt、var、samp、br、cite、code、font、strike等等。

             场景:行内元素使用内外边距来改变位置


             结果:行内元素垂直位置无法改变,只生效水平位置的改变


             解决方法:1. 转换为别的显示模式

                           

                                转换为块元素:display: block;

                                转换为行内元素:display: inline;

                                转换为行内块元素:display: inline-block;


                               2. 设置行高来改变垂直位置


 <style>

        body {

            background-color: skyblue;

        }

        span {

            /* margin: 100px; 

            padding: 100px;  */

         

            /* 不转显示模式,加行高就能使它垂直方向变动 */

            line-height: 100px;

        }

    </style>

</head>

 

<body>

    <!-- 行内元素     内外边距     margin     padding  -->

 

    <!--  行内元素如果想要通过margin或padding改变行内标签的垂直位置,无法生效,只生效水平位置 -->

    <!--  行内标签的margin-top和bottom 不生效 -->

    <!--  行内标签的padding-top或bottom 不生效 -->