批改状态:合格
老师批语:不错, 图很直观
css样式将一个元素以矩形框的形式生成出来,显示在页面上。这个矩形框必须有中心内容区(content),四周有内边距(padding)、边框(border)、外边距(margin),由里向外,里面一层总被外层包围,这就是盒模型的主要构成。
盒模型的几个常用属性:
1.content:中心内容区,四周区域可选。
2.padding:内边局,透明的,只可设置宽度,不能设置背景色。但默认情况下,内容区的背景色会延伸到padding区域。所以不做处理,我们不易看到内边距部分,影响盒子的大小。
3.border:边框线,可设置框线颜色、类型、大小,如果边框是虚线,从虚线的间隔出可以看到内容区元素的背景色。
4.margin:外边距。背景透明,只能设置宽度。影响盒子的位置。
5.outline:位于边框(border)和外边距(margin)之间,不占用空间,多用于布局开发。
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><title>盒子模型</title><style>.box{width:200px;height:180px;}.box.box1{/* 设置内边距宽度 */padding:15px;/* 设置边框宽度 */border:2px solid red;color:brown;/* 裁剪出内容区背景色,显示出内边距。因为内容区背景色默认会延伸到内边距,所以这样做便于看出内边距在哪里 */background-color:brown;background-clip:content-box;}.box.box2{/* 设置外边距 */margin:20px;/* 设置内边距宽度 */padding:15px;/* 设置边框宽度 */border:2px solid red;/* 裁剪出内容区背景色,显示出内边距。因为内容区背景色默认会延伸到内边距,所以这样做便于看出内边距在哪里 */background-color:brown;background-clip:content-box;}</style></head><body><div class="box box1"></div><div class="box box2"></div></body></html>

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>用户自定义元素大小的计算方式</title><style>/* 样式初始化举例 */*{margin:0px;padding:0px;/* 设置元素的计算方式,这里为了突出两种使用情况的区别,就不在页面初始化中使用了 *//*box-sizing:border-box;*/}.box{width:100px;height:100px;}.box.one{padding:20px;border:3px solid black;background-color:coral;background-clip:content-box;}.box.two{padding:30px;border:3px solid black;background-color:coral;background-clip:content-box;}.box.three{padding:20px;border:3px solid black;background-color:coral;background-clip:content-box;box-sizing:border-box;}.box.four{padding:30px;border:3px solid black;background-color:coral;background-clip:content-box;box-sizing:border-box;}</style></head><body><!-- box-sizing默认值为content-box --><div class="box one"></div><!-- 改变padding后的box --><div class="box two"></div><!-- box-sizing默认值为border-box --><div class="box three"></div><!-- 改变padding后的box --><div class="box four"></div></body></html>

css样式中利用position属性(用于将元素转化为定位元素,常用的有绝对定位、相对定位、固定定位)及margin属性的auto(让浏览器自动计算外边距,它会让浏览器尽可能把边距分配给你设置的方向部分)值来实现元素的对齐。
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>定位元素的水平和垂直对齐方式</title></head><style>/* margin:auto 实现元素的水平垂直居中 */.box{width:300px;height:300px;background-color: blueviolet;position:relative;}.box1{width: 100px;height:100px;background-color:red;/* 水平居中,在它的父容器中居中 ,auto会使浏览器自动计算元素的外边距,这样做就做到左右外边距平均分配了。不能用设置固定值来计算,如果父容器的宽度大小发生改变,你自己计算出然后设置的固定值就不在是居中位置所需的值。在日常中,我们设备宽度的改变就是一个宽度经常改变的例子*/margin-left:auto;margin-right:auto;}.continer{width:300px;height:300px;background-color: blueviolet;position:relative;}.box2{width: 100px;height:100px;background-color:red;/* 垂直居中,通过观察我们发现,设备屏幕的高度处于无限的状态。所以在高度不确定(不受限)的情况下,我们很难垂直居中,margin-top/bottom的值默认为0,不能通过这种设置来实现垂直居中*//* 通过绝对定位的方式实现垂直居中,我们将元素的父容器转化为一个定位元素 ,让当前元素的上下文充满整个父级*/position:absolute;/* 左上角开始 */top:0;left:0;/* 右下角结束 */right:0;bottom:0;/* 因为需要设置margin四个方向的属性,margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;这里我们可以简化写成下面这种形式。 */margin:auto;}</style><body><div class="box"><div class="box1"></div></div><hr/><div class="continer"><div class="box2"></div></div></body></html>

以上主要运用了元素定位的知识,及css样式中的margin属性的特性来实现。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号