在做banner居中时 碰到的问题,知道可以用背景图实现居中显示,但是内心是想深究下的,故找到几种办法收集一下,后面两种真的是奇技淫巧

来着下面两处

https://www.zhihu.com/question/39742237

https://www.v2ex.com/t/187544

  1. flex
  2. position:absolute + negative margin
  3. background-image + background-size + background-position

4.父元素position:relative,子元素

{ transform: translate(-50%,-50%);
position: absolute;
top: 50%;
left: 50%; }

父子元素都可以不定宽度。translate百分比根据自身高度宽度。只在UC浏览器及overflow:hidden叠加时会有问题

5.p元素 和隐藏的img扩充父元素的宽高

http://nec.netease.com/library/141122

<div class="m-demo">
<p>
<img src="http://nec.netease.com/img/s/1.jpg" class="hidden"/>
<img src="http://nec.netease.com/img/s/1.jpg" alt=""/>
</p>
</div>
<div class="m-demo">
<p>
<img src="http://nec.netease.com/img/m/1.jpg" class="hidden"/>
<img src="http://nec.netease.com/img/m/1.jpg" alt=""/>
</p>
</div>
<div class="m-demo">
<p>
<img src="http://nec.netease.com/img/l/1.jpg" class="hidden"/>
<img src="http://nec.netease.com/img/l/1.jpg" alt=""/>
</p>
</div>
/* 图片居中溢出隐藏  */
.m-demo{position:relative;width:300px;height:300px;overflow:hidden;border:1px solid #ddd;}
.m-demo p{position:absolute;top:50%;left:50%;margin:;padding:;}
.m-demo img{position:absolute;top:-50%;left:-50%;display:block;}
.m-demo img.hidden{visibility:hidden;position:static;}

6.将a设置top: -100%; bottom: -100%; left: -100%; right: -100%;扩充至原来的3倍,然后text-align: center;居中

http://dabblet.com/gist/e191e05066016cb040d4

<div class="banner">
<a href="#"><img src="//placehold.it/500x300" alt=""/></a>
</div> <div class="banner">
<a href="#"><img src="//placehold.it/100x100" alt=""/></a>
</div>
.banner { width: 300px; height: 200px; overflow: hidden; position: relative; }
.banner > a { position: absolute; top: -100%; bottom: -100%; left: -100%; right: -100%; text-align: center; }
.banner > a:before { content: ""; display: inline-block; vertical-align: middle; height: 100%; }
.banner > a > img { vertical-align: middle; }

div中img依据不同分辨率居中显示,超出部分隐藏的更多相关文章

  1. 解决echart在IE中使用时,在div中加入postion后图表不显示问题

    <!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="height:400px;width:1 ...

  2. div中宽高度自适应文字换行居中问题解决

    <html> <head> <meta charset="UTF-8"/> <title>div中宽高度自适应文字换行居中demo& ...

  3. 在指定的div中搜索内容,并滚动显示到当前搜索到的内容处

    我想要的是页面中有个带滚动条的div对象,里面有很多内容,想要用js搜索到div中的某个字符串内容,然后将div的滚动条滚动到搜索到的内容处显示,自动定位.先是查找页面中的内容,然后将找到的内容创建t ...

  4. 浮动的div无论窗口大小变化都能居中显示的js

    当div是浮动的时候浏览器窗口发生变化的时候不能居中显示(因为浮动的时候一般设定的有left或者right值) 可以先用jquery获取外围的div随浏览器变化而变化的宽度(加上监听事件) 之后再获取 ...

  5. js控制div滚动条,滚动滚动条使div中的元素可见并居中

    1.html代码如下 <div id="panel"> <div id="div1"></div> <div id=& ...

  6. 要让div中的float不会自动显示到下一行来?

    使用 高度 + hidden: 要尝试 恰当的 高度, 设置合适的 div的 height: ... 要让 float的 "最直接的" "亲生的 " " ...

  7. 浏览器的兼容模式下的button中文字垂直方向不居中显示

    <button style="cursor:pointer;vertical-align: middle;" >删除</button> 这时候垂直不居中. ...

  8. html中表格table的内容居中显示

    align——表示左右居中——left,center,right valign——控制上下居中——left,center,right <td> 标签内加入:  vertical-align ...

  9. css 一行内显示 超出自动隐藏

    一般的文字截断(适用于内联与块): Example Source Code [www.mb5u.com].text-overflow {display:block;/*内联对象需加*/width:31 ...

随机推荐

  1. Python遍历List集合四种方法

    这篇文章主要介绍了Python 列表(List) 的四种遍历方法实例 详解的相关资料,需要的朋友可以参考下 分别是:直接遍历对象 通过索引遍历 通过enumerate方法 通过iter方法. 使用Py ...

  2. 写了2年python,知道 if __name__ == '__main__' 什么意思吗?

    相信刚接触Python的你一定有过如此经历,把所有的代码都写在 if __name__ == '__main__'下,因为有人告诉你,这样比较符合 Pythonista 的代码风格. 殊不知这段代码的 ...

  3. remote: Incorrect username or password ( access token )

    解决问题 进入控制面板 用户账号,选择管理您的凭据 修改凭据 修改完成后,保存即可

  4. 【面试篇】寒冬求职季之你必须要懂的原生JS(中)

    互联网寒冬之际,各大公司都缩减了HC,甚至是采取了“裁员”措施,在这样的大环境之下,想要获得一份更好的工作,必然需要付出更多的努力. 一年前,也许你搞清楚闭包,this,原型链,就能获得认可.但是现在 ...

  5. mysql 开发基础系列14 字符集

    字符集是一套文字符号及其编码,比较规则的集合.第一个字符集是ascll(american standard code for information interchange).  1.  选择合适的字 ...

  6. mysql 开发基础系列5 运算符

    1. 算术运算符 2.比较运算符 注意NULL值不能用= 运算符 SELECT * FROM t WHERE c =NULL; -- 需要改成 SELECT * FROM t WHERE c IS N ...

  7. sql server 索引阐述系列二 索引存储结构

    一.概述. "流光容易把人抛,红了樱桃,绿了芭蕉“ 转眼又年中了,感叹生命的有限,知识的无限.在后续讨论索引之前,先来了解下索引和表数据的内部结构,这一节将介绍页的存储,页分配单元类型,区的 ...

  8. DWR第一篇之入门示例

    1. 新建maven-web项目,目录结构如下: 2. 在pom.xml里添加dwr所需的依赖 <dependency> <groupId>org.directwebremot ...

  9. Win32文件系统编程

    Win32文件系统编程 一丶了解什么是文件系统 文件系统是抽象的.是windows在软件层面提供的一层虚拟的数据结构. 文件系统分为NTFS 跟 FAT32. 具体看看两者的区别吧. 磁盘分区容量. ...

  10. RabbitMQ系列(四)RabbitMQ事务和Confirm发送方消息确认——深入解读

    RabbitMQ事务和Confirm发送方消息确认--深入解读 RabbitMQ系列文章 RabbitMQ在Ubuntu上的环境搭建 深入了解RabbitMQ工作原理及简单使用 RabbitMQ交换器 ...