//调整多张图片,让图片水平垂直居中

function adjustImg(){

let imgDiv = document.getElementsByClassName("img");//找到img标签外面的class 名为img的div盒子

for (let i = 0; i < imgDiv.length; i++){

// console.log(i);

let obj = imgDiv[i].getElementsByTagName("img")[0];

if (obj.complete) {//确保图片已经加载完成

let imgH = obj.offsetHeight;

let imgW = obj.offsetWidth;

let img_scale = imgW/imgH;

let boxH = obj.parentNode.offsetHeight;

let boxW = obj.parentNode.offsetWidth;

let box_scale = boxW / boxH;

// console.log("imgH="+imgH+" imgW="+imgW+" boxH="+boxH+" boxW="+boxW);

if(box_scale > img_scale){

obj.style.width = "100%";

imgH = obj.offsetHeight;

imgW = obj.offsetWidth;

let h = (imgH-boxH)/2;

obj.style.marginTop = -h + "px"; //确保图片垂直居中

}else{

obj.style.height = "100%";

imgH = obj.offsetHeight;

imgW = obj.offsetWidth;

let w = (imgW-boxW)/2;

obj.style.marginLeft = -w + "px";

}

} else {

obj.onload = function(){

let imgH = obj.offsetHeight;

let imgW = obj.offsetWidth;

let img_scale = imgW/imgH;

let boxH = obj.parentNode.offsetHeight;

let boxW = obj.parentNode.offsetWidth;

let box_scale = boxW / boxH;

// console.log("imgH="+imgH+" imgW="+imgW+" boxH="+boxH+" boxW="+boxW);

if(box_scale > img_scale){

obj.style.width = "100%";

imgH = obj.offsetHeight;

imgW = obj.offsetWidth;

let h = (imgH-boxH)/2;

obj.style.marginTop = -h + "px";

}else{

obj.style.height = "100%";

imgH = obj.offsetHeight;

imgW = obj.offsetWidth;

let w = (imgW-boxW)/2;

obj.style.marginLeft = -w + "px";

}

};

// obj.style.height = "100%";

// obj.style.margin = "0 auto";

}

}

}

CSS实现图片在div a标签中水平垂直居中

CSS实现图片在div a标签中水平垂直居中

DIV块中 元素垂直居中

1 DIV块中 元素垂直居中 作者:知乎用户链接:https://www.zhihu.com/question/20543196/answer/99429177来源:知乎著作权归作者所有.商业转载请联 ...

CSS子元素在父元素中水平垂直居中的几种方法

1. 水平居中(margin: auto;)子父元素宽度固定,子元素上设置 margin: auto; 子元素不能设置浮动,否则居中失效. #div1{ width: 300px; height: 3 ...

img标签在div中水平垂直居中--两种实现方式

第一种方式: text-align:center; vertical-align:middle; div{ text-align: center; vertical-align:middle;widt ...

css实现高度不固定的div元素模块在页面中水平垂直居中

Laravel

【div&plus;css】两个div,如何让内层的div在外层div中水平垂直居中

好久没有写样式,很是很生疏 ==================================================================== 方法1: .parent { wi ...

p标签在div中水平垂直居中且文本左对齐

...

img图片自适应div盒子,前提是不要把盒子的高给写死了,就是不要写高,如下

div{width:100%;}//写高就自适应盒子不起来了 img{width: 100%; height: 100%;}

div 里面内容水平垂直居中

css .main{ background: #999999; width: 600px; height: 400px; /*采用flex方式*/ display: flex; /*div内容垂直居中 ...

随机推荐

完美卸载oracle11g步骤

完美卸载oracle11g步骤:1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务.2. 开始->程序->Oracle - OraHome ...

记一本关于thinkphp&amp&semi;&amp&semi;MVC的好书

看过好多书,写thinkphp就蜻蜓点水般,而且语言比较书面.看到了李开涌写的php mvc开发实战.他本人是技术方面的专家,写的书结合了对技术的理解.我读起来感觉收获颇多.比如model这块,我一直 ...

Python文件处理之文件写入方式与写缓存(三)

Python的open的写入方式有: write(str):将str写入文件 writelines(sequence of strings):写多行到文件,参数为可迭代对象 首先来看下writelin ...

恢复SD卡错删数据

对于众多米粉来说,手机里存储的很多资料都非常宝贵,如果不小心删除了,想要重新收集这些资料就显得非常困难.有道是千金易得,数据无价,特别是一些珍贵照片之类的充满回忆的数据,丢失了甚至会抱憾 ...

Activity的&quot&semi;singleTask&quot&semi;之谜

官方文档称 以这种方式启动的Activity总是属于一个任务的根Activity.果真如此吗?本文将为你解开Activity的"singleTask"之谜. 任务(Task)是个什 ...

Linq 入门 顺带 Func与Action

Linq的优点: 查询是一种从数据源检索数据的表达式. 查询通常用专门的查询语言来表示. 随着时间的推移,人们已经为各种数据源开发了不同的语言:例如,用于关系数据库的 SQL 和用于 XML 的 XQ ...

SQLServer中间接实现函数索引或者Hash索引

本文出处:http://www.cnblogs.com/wy123/p/6617700.html SQLServer中没有函数索引,在某些场景下查询的时候要根据字段的某一部分做查询或者经过某种计算之后 ...

【Django】 初步学习

这个系列(或者成不了一个系列..)预计会全程参考Vamei様的Django系列,膜一发.说句题外话,其实更加崇拜像Vamei那样的能够玩转生活.各个领域都能取得不小成就的人. [Django] ■ 概 ...

线性表-&gt&semi;链式存储-&gt&semi;线形链表&lpar;单链表&rpar;

文字描述: 为了表示前后两个数据元素的逻辑关系,对于每个数据元素,除了存储其本身的信息之外(数据域),还需存储一个指示其直接后继的信息(即直接后继的存储位置,指针域). 示意图: 算法分析: 在单链表 ...

css图片在盒子里居中,让图片在div盒子中水平垂直居中相关推荐

  1. 子盒子在父盒子中水平垂直居中

    子盒子在父盒子中水平垂直居中的几种实现方式. 方式一:margin; HTML: <!-- 以下样式全为此结构 --> <div class="father"&g ...

  2. [css] 写出固定子容器在固定的父容器下水平垂直居中的布局

    [css] 写出固定子容器在固定的父容器下水平垂直居中的布 1.父容器 position: relative,子元素 position: absolute;left: 50%;top: 50%;tra ...

  3. html盒子整体向下移动,盒子上下左右居中方法全(持续更新中)

    总是忘记这几个方法,今天来记录一下 一.已知大小盒子:左右居中 1. 使用定位,左右拉取方法: html: css: .box{width: 300px;height: 300px;border: 1 ...

  4. CSS的12中水平垂直居中方法

    文章目录 一.水平垂直居中的12种方法 1.absolute + 负margin 2. absolute + margin:auto 3.absolute + calc 4.absolute + tr ...

  5. php输出图片没有,ThinkPHP里无法输出图片 设置响应头

    今天写了一个PHP生成图片,想用浏览器查看,但是每次打开都是一串乱码,看样子是图片源二进制数据,然后查看了下响应头是text/html,那我明明设置了image/jpeg header("C ...

  6. 让行内元素(如图片)在div中水平垂直居中 (干货)

    (1)第一种:用vertical-align <div class="method1"><span class="tiptop">< ...

  7. CSS:仅对子盒子修饰样式,三种让其在父盒子中水平垂直居中的方法及其优缺点(父盒子宽高未知)

    1.给父盒子相对定位,子盒子绝对定位,left,top,right和bottom,都设置为0: position: absolute; left: 0; right: 0; top: 0; botto ...

  8. 哪个游戏盒子里有JAVA_关于点和盒子游戏的Java minimax

    我想建议您完全重新考虑代码.查看代码的问题(以及为什么这里没有很多响应)是很难遵循并且很难调试.例如,什么是gs.getRemainingLines,它究竟做了什么? (为什么剩下的线而不是所有合法的 ...

  9. 常用CSS实现DIV文本内容水平垂直居中

    第一种:利用CSS中的  display的table-cell  实现 /*让元素渲染为表格单元格*/     display:table-cell; /*设置文本水平居中*/     text-al ...

最新文章

  1. PostgreSql 功能和操作
  2. highly dynamic working process is a great approach for learning
  3. Python较为经典的53个Python库
  4. java替换特殊字符_Java StringBuffer替换特殊字符
  5. jpetstore开发实战--(1)
  6. 最新谷歌算法面试真题:将字符串翻转到单调递增
  7. python打开qq并登录_python爬虫入门之qq登陆初探
  8. 临沂最美乡村医生彭玉梅:救人遇车祸身亡
  9. VS2019 后面有“::”的名称一定是类名或命名空间名 解决办法汇总
  10. Spring JMS CLIENT_ACKNOWLEDGE
  11. Ctrl+Space冲突解决及输入法精简
  12. linux命令—文件压缩解压缩
  13. Haiku将通过GSoC获得对x86_64的支持
  14. 个人博客开源系统XBlog介绍和部署
  15. hdu 4043 FXTZ II [ 概率 + Java大数]
  16. 解决maven库中没有Oracle jdbc驱动的问题Cannot resolve com.oracle:ojdbc14:10.2.0.1.0
  17. WebServer项目介绍
  18. Cucumber Rerun Formatter
  19. python四种方式打印九九乘法表
  20. Photoshop 去掉图片上的文字的几个方法

热门文章

  1. FLAST——测试是否flaky的快速静态预测方法
  2. 全球最大油田、金矿、煤矿、铁矿、铜矿,究竟哪个最值钱?
  3. UI设计培训分享:UI设计师的设计思路
  4. Python语法基本单词
  5. [附源码]计算机毕业设计springboot第三方游戏零售平台
  6. 实战分析,薪酬缩水,(1)
  7. PW4555芯片,完全集成的高输入电压单电池锂离子电池充电器,适用于手机
  8. Android热修复及插件化原理
  9. android机顶盒点播源码,基于Android机顶盒VOD视频点播系统的设计与实现
  10. 足球大师服务器维护,《足球大师2018》新服活动介绍