当前位置: 首页 > news >正文

建设工程教育网视频网站网站所有权问题

建设工程教育网视频网站,网站所有权问题,dw网站开发教程,黑马程序员培训机构官网1、通过js创建<image?>标签来获取背景图片的宽高比&#xff1b; 2、当元素的高度大于原有比例计算出来的高度时&#xff0c;背景图片的高度拉伸自适应100%&#xff0c;否则高度为auto&#xff0c;会自动被裁减 3、背景图片容器高度变化时&#xff0c;自动计算背景图片的…

1、通过js创建<image?>标签来获取背景图片的宽高比;
2、当元素的高度大于原有比例计算出来的高度时,背景图片的高度拉伸自适应100%,否则高度为auto,会自动被裁减
3、背景图片容器高度变化时,自动计算背景图片的高度
在这里插入图片描述

const setBackgroundImageHeight = (element) => { //todo 设置背景图片的高度const getWidthNum = (width) => width ? width.slice(0, -2) : width; //todo 手动截掉宽度的px后缀const img = new Image();const { height, width, backgroundImage } = getComputedStyle(element); //? 获取到该元素的宽高img.src = backgroundImage.replace(/^url\(["']?/, '').replace(/["']?\)$/, '');img.onload = function() {var aspectRatio = img.width / img.height; //? 获取该背景图片的宽高比const backgroundImageHeight = getWidthNum(height) > (getWidthNum(width)/aspectRatio) ? '100%' : 'auto'; //* 当元素的高度大于原有比例计算出来的高度时,背景图片的高度拉伸自适应100%element.style.backgroundSize = `100% ${backgroundImageHeight}`;console.log('%c 🍎 张浩雨: img.onload -> element.style.backgroundSize ', 'font-size:16px;background-color:#ea00ea;color:white;', element.style.backgroundSize)};
}
const imageHeightOnChange = (element) => { //todo 背景图片容器高度变化时,自动计算背景图片的高度// 创建一个观察者对象const observer = new MutationObserver((mutationsList, observe) => {for(let mutation of mutationsList) {if (mutation.attributeName === 'style') {const style = mutation.target.getAttribute('style');if (style.includes('height')) {setBackgroundImageHeight(element)}}}});// 传入目标节点和观察目标节点的属性变动observer.observe(element, {attributes: true,attributeOldValue: true,attributeFilter: ['style']});return observer
}var imgBox = document.getElementById('img_box');
imageHeightOnChange(imgBox)

案例讲解

1、初始化时的默认宽高;
在这里插入图片描述
2、背景图片的宽高;
在这里插入图片描述
3、执行上面的代码,并执行imgBox.setAttribute(‘style’, ‘height: 380px’),此时高度小于图片的宽高比计算出来的高度,图片高度被裁减;
在这里插入图片描述
4、执行imgBox.setAttribute(‘style’, ‘height: 580px’),此时高度大于图片的宽高比计算出来的高度,图片高度被拉伸100%;

在这里插入图片描述
5、当执行imgBox.setAttribute(‘style’, ‘height: 480px’),此时高度等于图片的宽高比计算出来的高度,图片高度正常展示;
在这里插入图片描述

http://www.yayakq.cn/news/902808/

相关文章:

  • 从零开始学做网站 网站网站的改版怎么做
  • 重庆二级站seo整站优化排名wordpress默认设置页面
  • 上网站建设公司设计工作室网站推荐
  • 网页制作与网站建设技术大全查指数
  • 站长百度网站展示程序
  • 网站的优化策略pis粉丝做的网站
  • 福永网站建设国内哪个网站做水产比较大
  • 深圳东门有什么好玩的云南seo刷关键词排名优化
  • 网站没有备案可以做百度推广吗自己设计一款新产品
  • 简述电子商务网站的建设流程图陕西省两学一做网站
  • 丽江做网站asp系统网站源码
  • 网站左侧固定代码杨凌网站建设公司
  • 云主机重装系统后网站重新部署吗如何扁平化设计网站
  • 网站建设的平面设计国外做饮用来源的网站
  • 电子商务网站建设需求说明书山东思达建筑公司排名
  • 做网站都要多少钱网站正在建设中源码
  • 濉溪建设投资网站上海市网
  • 不是网站可以用云主机吗wordpress无法上传mp3
  • 织梦网站首页模板更换百度官网网站登录
  • 网站永久镜像怎么做龙岩网站建设专家
  • 免费网站制作平台推荐上海网站建设企业排名
  • 做网站策划用什么软件找网站公司做网站用了织梦可以吗
  • 校园内部网站建设方案网站开发与app开发原理
  • 毕设做网站工作量够吗一个网站备案两个域名
  • 淘客做网站运营温州seo优化排名公司
  • 成都医疗网站建设wordpress 教育
  • 商丘哪里有网站建设互联壹佰做企业网站
  • 调查网站赚钱除了速卖通还有什么网站做外贸
  • 江苏省建设协会网站企业响应式网站建设报价
  • wordpress+整站下载中层管理者培训课程有哪些