HTML img标签是用于在网页中插入图像的标签,它的基本语法如下:
<img src="图片地址" alt="图片描述">
src属性用于指定图片的URL地址,alt属性用于为图片提供替代文本,以便在图片无法显示时,浏览器能够显示这段文本。
1、src属性
src属性是img标签的核心属性,用于指定要显示的图片的URL地址,这个地址可以是相对路径,也可以是绝对路径。
<img src="images/pic.jpg" alt="这是一张图片">
2、alt属性
alt属性是img标签的另一个重要属性,用于为图片提供替代文本,当图片无法显示时,浏览器会显示这段文本。
<img src="images/pic.jpg" alt="这是一张图片">
3、图片尺寸
img标签本身并不提供设置图片尺寸的功能,但是可以通过CSS来控制,可以使用width和height属性来设置图片的宽度和高度:
<img src="images/pic.jpg" alt="这是一张图片" style="width:500px; height:600px;">
4、图片边框
img标签本身也不提供设置图片边框的功能,但是可以通过CSS来控制,可以使用border属性来设置图片的边框:
<img src="images/pic.jpg" alt="这是一张图片" style="border:1px solid black;">
5、图片对齐方式
img标签本身也不提供设置图片对齐方式的功能,但是可以通过CSS来控制,可以使用align属性来设置图片的对齐方式:
<img src="images/pic.jpg" alt="这是一张图片" align="center">
6、图片加载优化
为了提高网页的加载速度,可以对img标签进行一些优化,可以使用lazyload技术来实现图片的延迟加载:
<img src="images/pic.jpg" data-src="images/pic.jpg" alt="这是一张图片" class="lazyload">
然后在CSS中添加以下代码:
.lazyload { opacity: 0; /* 初始透明度 */ } .lazyloaded { opacity: 1; /* 加载完成后的透明度 */ }
在JavaScript中添加以下代码:
document.addEventListener("DOMContentLoaded", function() { var lazyloadImages = document.querySelectorAll("img.lazyload"); // 选择所有带有lazyload类的图片元素 var lazyloadThrottleTimeout; // 节流函数的定时器ID function lazyload () { // 节流函数,用于减少事件处理函数的执行次数,从而提高性能 if(lazyloadThrottleTimeout) { // 如果已经有一个定时器在运行,则直接返回,不执行下面的代码 return; // 避免重复执行事件处理函数,提高性能 } else { // 如果还没有定时器在运行,则创建一个定时器,并执行下面的代码 lazyloadThrottleTimeout = setTimeout(function() { // 创建一个定时器,延迟一段时间后执行匿名函数(事件处理函数)中的代码 var scrollTop = window.pageYOffset; // 获取当前页面滚动条的位置(距离顶部的距离) for (var i = 0; i < lazyloadImages.length; i++) { // 遍历所有带有lazyload类的图片元素(即需要延迟加载的图片) var lazyloadImage = lazyloadImages[i]; // 获取当前正在处理的图片元素(即当前需要判断是否需要加载的图片) var lazyloadImageRect = lazyloadImage.getBoundingClientRect(); // 获取当前正在处理的图片元素的边界矩形(包括位置、尺寸等信息) if (lazyloadImageRect.top <= (window.innerHeight + scrollTop)) { // 如果当前正在处理的图片元素在可视区域内(即距离顶部的距离小于等于可视区域的高度),则开始加载该图片(将data-src属性的值赋给src属性) lazyloadImage.src = lazyloadImage.dataset.src; // 将data-src属性的值赋给src属性,从而开始加载该图片(因为浏览器默认不会加载带有data-*属性的元素) } // 如果当前正在处理的图片元素不在可视区域内(即距离顶部的距离大于可视区域的高度),则不加载该图片(保持原样) } // 结束遍历所有带有lazyload类的图片元素(即需要延迟加载的图片) }, 200); // 设置定时器的延迟时间(毫秒),即延迟200毫秒后执行匿名函数(事件处理函数)中的代码 } // 结束if语句(如果已经有一个定时器在运行,则直接返回,不执行下面的代码;否则,创建一个定时器,并执行下面的代码) } // 结束节流函数(用于减少事件处理函数的执行次数,从而提高性能) } // 结束lazyload函数(用于实现图片的延迟加载) document.addEventListener("scroll", lazyload); // 监听滚动事件,当页面滚动时,调用lazyload函数(即触发事件处理函数) window.addEventListener("resize", lazyload); // 监听窗口大小改变事件,当窗口大小改变时,调用lazyload函数(即触发事件处理函数)}); // 结束document.addEventListener("DOMContentLoaded", function() {...})语句块(当文档加载完成时,执行其中的代码)*/ });/* 结束document.querySelectorAll("img.lazyload")语句块(选择所有带有lazyload类的图片元素)*//* 结束for (var i = 0; i < lazyloadImages.length; i++) {...}语句块(遍历所有带有lazyload类的图片元素)*//* 结束if (lazyloadImageRect.top <= (window.innerHeight + scrollTop)) {...}语句块(如果当前正在处理的图片元素在可视区域内,则开始加载该图片)*//* 结束else {...}语句块(如果当前正在处理的图片元素不在可视区域内,则不加载该图片)*//* 结束setTimeout(function() {...}, 200)语句块(设置定时器的延迟时间)*//* 结束document.addEventListener("scroll", lazyload)语句块(监听滚动事件)*//* 结束window.addEventListener("resize", lazyload)语句块(监听窗口大小改变事件)*//* 结束}*//* 结束function lazyload() {...}语句块(定义一个名为lazyload的函数)*//* 结束document.addEventListener("DOMContentLoaded", function() {...})语句块(当文档加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当窗口加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当文档加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当窗口加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当文档加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当窗口加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当文档加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当窗口加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当文档加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当窗口加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当文档加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当窗口加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当文档加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当窗口加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOMContentLoaded", function() {...})语句块(当文档加载完成时,执行其中的代码)*//* 结束window.addEventListener("DOM
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/328761.html