批改状态:合格
老师批语:很好, 推荐到群中了
利用HTML和JavaScript简单实现懒加载:
<body><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"><img src="头像.jpg" alt="" data-src="逃跑.jpg"></body><script>// 视口大小: 窗口大小const viewHeight = document.documentElement.clientHeight;// 监听文档对象的滚动事件document.addEventListener("scroll", showImg);// 初始化window.addEventListener("load", showImg);// 回调function showImg() {// 获取所有图片let imgs = document.querySelectorAll("img");// 遍历每一张图片,判断当前的图片是否进入到入用户的可视区域imgs.forEach(function (img) {let imgTop = img.offsetTop;// 滚动高度 = 视口高度 + 滚动距离let scrTop = viewHeight + document.documentElement.scrollTop;// 图片已进入可视区if (imgTop < scrTop) {img.src = img.dataset.src;}});}</script>
例图:
浮动元素只会影响到它后面的元素布局,对前面没有影响
基本浮动方式:
<style>body{border: 5px solid blue;padding: 300px;}div{border: 1px solid black;width: 500px;height: 500px;margin: auto;}/* box1左浮动 */.box1{background-color: chartreuse;float: left;}/* box2右浮动 */.box2{background-color: chocolate;float: right;}/* box3不变 */.box3{background-color: cyan;clear: left;clear: right;clear: both;}a,span{background-color: darkorange;width: 300px ;height: 300px;float:right;}</style></head><body><div class="box1">box1</div><div class="box2">box2</div><div class="box3">box3</div><hr><a href="">php.cn</a><span>PHP中文网欢迎您!</span></body>
例图:
浮动塌陷和解决方法:
<style>.container{border: 10px dashed black;}.item{width: 150px; height: 150px;}.item:first-of-type{background-color: chartreuse;}.item:nth-last-of-type(2){background-color: coral;}.item:last-of-type{background-color: cyan;}/* 浮动 */.item{float: left;}/* 解决方案1:给父元素添加一个高度,但是此方法无法自适应 *//* .container{height: 180px;} *//* 解决方案2: 把父元素浮动起来 ,会产生传导效应,级数越多很麻烦*//* .container {float: left;}.box {float: left;} *//* 解决方案3: 添加一个专用元素用于清浮动 ,但依赖DOM结构*//* div.clear {clear: both;} *//* 解决方案4: 添加一个伪元素来解决,也可以 *//* .container::after {content: "";display: block;clear: both;} *//* 解决方案5: 最简单的解决方案,加overflow属性(hidden/auto) */.container {overflow: hidden;overflow: auto;}</style></head><body><!-- <div class="box"> --><div class="container"><div class="item">1</div><div class="item">2</div><div class="item">3</div><!-- <div class="clear"></div> --></div><!-- </div> --></body>
例图:
浮动实现三列布局:
<style>/* 初始化 */body{margin: 0;padding: 0;box-sizing: border-box;}li{list-style: none;}a{text-decoration: none;color: teal;}/* 页眉与页脚 */.header,.footer{height: 100px;background-color: tomato;color: white;}/* 页眉与页脚内容区 */.content{width: 1500px;margin: auto;}.content ul li {float: left;line-height: 100px;padding: 0 25px;}.content ul li :hover{background-color: turquoise;}/* 页脚样式: */.content p{text-align: center;line-height: 50px;}/* 主体样式用定位 */.container{width: 960px;margin:10px auto;height: 1210px;/* 用定位元素做定位父级 */position: relative;}.container > .left{width: 200px;background-color: violet;height: 1210px;position: absolute;top: 0;left:0;}.container>.right{width: 200px;background-color: yellowgreen;height:1210px;position: absolute;top: 0;right: 0;}.container>.main{width: 560px;background-color: aqua;min-height: 1210px;position: absolute;top: 0;left: 200px;}</style></head><body><!-- 页眉 --><div class="header"><div class="content"><ul><li><a href="">首页</a></li><li><a href="">产品介绍</a></li><li><a href="">排行板</a></li><li><a href="">联系我们</a></li></ul></div></div><!-- 主体 --><div class="container"><div class="left">产品分类</div><div class="main">轮播图</div><div class="right">其他样式</div></div><!-- 页脚 --><div class="footer"><div class="content"><p>xxxxx科技有限公司;|备案号:ICP*********</p></div></div></body>
例图:
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号