批改状态:合格
老师批语:总得来说写的很好,建议加上效果图,方便以后查看时加深理解!
<!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: 200px;}.box.one {/* 内边距 */padding: 10px;/* 加1px的实线边框 */border: 1px solid #000000;/* 背景色 */background-color: aquamarine;/* 对背景进行裁切 默认是 border-box (边框级别),content-box(内容区) */background-clip: content-box;/* 顺序按照上、右、下、左 来设置 *//* margin: top right bottom left; *//* 外边距 */margin: 0 0 20px 0;/* 作用同上 */margin-bottom: 20px;}.box.two {/* 内边距 */padding: 10px;/* 加1px的实线边框 */border: 1px solid #000000;/* 背景色 */background-color: lightgreen;/* 对背景进行裁切 默认是 border-box (边框级别),content-box(内容区) */background-clip: content-box;/* 当两个盒子在垂直方向上,外边距会产生折叠 */margin-top: 30px;}.box.parent {background-color: lightpink;/* 一旦一个元素被添加了position 且值非static 那么它就是定位元素 */position: relative;/* 从左边向右移动30px *//* 相对定位是相对自己做了偏移,这个元素在文档流中的位置不释放 */left: 30px;top: 40px;}.son {width: 100px;height: 100px;background-color: lime;/* 绝对定位 *//* 如果没有定位父级元素,会向上一级找,直到找到,就是body元素 */position: absolute;/* 固定定位 会忽略定位父级 总是相对于body定位*/position: fixed;left: 50px;top: 50px;}</style></head><body><!-- 块级元素默认垂直排列 --><div class="box one"></div><div class="box two"></div><hr /><!-- 嵌套关系--><div class="box parent"><div class="box son"></div></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: 0;padding: 0;box-sizing: border-box;}.box {width: 200px;height: 180px;background-color: blueviolet;border: 3px solid violet;background-clip: content-box;padding: 10px;/* box-sizing: 重新计算盒大小 content-box默认是以内容区为准*/box-sizing: content-box;/* border-box: 有效范围到边框 */box-sizing: border-box;}.box2 {width: 80px;height: 120px;background-color: red;}</style></head><body><div class="box"><div class="box2"></div></div><!-- width: content_width + padding_left/rigth + border_left/right --><!-- 宽: 200 + 20 + 6 =226--></body></html>
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>margin:auto 块元素的垂直居中</title><style>.container {width: 300px;height: 300px;background-color: red;}.container .item {width: 100px;height: 100px;background-color: violet;/* 水平居中 *//* 让浏览器自动计算左右外边距 *//* margin-left: auto;margin-right: auto; *//* 垂直居中 *//* 不能用margin-top:auto 和 margin-bottom:auto 来垂直居中 *//* 通过绝对定位来实现垂直居中 */position: absolute;/* 让当前元素绝对定位的上下文充满整个父级容器 *//* 左上角开始 */top: 0;left: 0;/* 右下角结束 */right: 0;bottom: 0;margin: auto;}</style></head><body><div class="container"><div class="item"></div></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>.box {width: 200px;height: 180px;padding: 10px;border: 2px solid #000;margin: 10px;background-color: violet;background-clip: content-box;}.pos {position: relative;top: 30px;left: 50px;}</style></head><body><div class="box pos"></div></body><script>const box = document.querySelector(".box");// 1、内容区大小与位置// 宽高大小=宽/高 +poddingconsole.log(box.clientWidth);// 高度console.log(box.clientHeight);// clientleft/clienttop :就是边框宽度 用得很少。console.log(box.clientLeft);console.log(box.clientTop);// 获取可视区的大小:视口console.log(document.documentElement.clientWidth);console.log(document.documentElement.clientHeight);// 2、当前元素的定位偏移量,与定位有关// 定位父级console.log(box.offsetParent);// 这个元素现在是一个真正的盒子,包括了内容,podding,border// 真实宽度要加上borderconsole.log(box.offsetWidth);console.log(box.offsetHeight);console.log(box.offsetLeft);console.log(box.offsetTop);//3、当前文件的滚动大小// 视口大小:可视区大小// 文档大小:当前html大小// 通常视口大小 > 文档大小,所以要通过滚动条才能看到全部html文档内容// 获取html元素const html = document.documentElement;// 给页面一个900PX的高html.style.height = "1200px";// 当前文档的高度console.log(html.scrollHeight);// 当前可视区的高度console.log(html.clientHeight);// 获取滚动条console.log(html.scrollTop);document.addEventListener("scroll", function (ev) {console.log(ev.target.documentElement.scrollTop);});</script></html>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号