div中img依据不同分辨率居中显示,超出部分隐藏
在做banner居中时 碰到的问题,知道可以用背景图实现居中显示,但是内心是想深究下的,故找到几种办法收集一下,后面两种真的是奇技淫巧
来着下面两处
https://www.zhihu.com/question/39742237
https://www.v2ex.com/t/187544
- flex
- position:absolute + negative margin
- 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依据不同分辨率居中显示,超出部分隐藏的更多相关文章
- 解决echart在IE中使用时,在div中加入postion后图表不显示问题
<!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="height:400px;width:1 ...
- div中宽高度自适应文字换行居中问题解决
<html> <head> <meta charset="UTF-8"/> <title>div中宽高度自适应文字换行居中demo& ...
- 在指定的div中搜索内容,并滚动显示到当前搜索到的内容处
我想要的是页面中有个带滚动条的div对象,里面有很多内容,想要用js搜索到div中的某个字符串内容,然后将div的滚动条滚动到搜索到的内容处显示,自动定位.先是查找页面中的内容,然后将找到的内容创建t ...
- 浮动的div无论窗口大小变化都能居中显示的js
当div是浮动的时候浏览器窗口发生变化的时候不能居中显示(因为浮动的时候一般设定的有left或者right值) 可以先用jquery获取外围的div随浏览器变化而变化的宽度(加上监听事件) 之后再获取 ...
- js控制div滚动条,滚动滚动条使div中的元素可见并居中
1.html代码如下 <div id="panel"> <div id="div1"></div> <div id=& ...
- 要让div中的float不会自动显示到下一行来?
使用 高度 + hidden: 要尝试 恰当的 高度, 设置合适的 div的 height: ... 要让 float的 "最直接的" "亲生的 " " ...
- 浏览器的兼容模式下的button中文字垂直方向不居中显示
<button style="cursor:pointer;vertical-align: middle;" >删除</button> 这时候垂直不居中. ...
- html中表格table的内容居中显示
align——表示左右居中——left,center,right valign——控制上下居中——left,center,right <td> 标签内加入: vertical-align ...
- css 一行内显示 超出自动隐藏
一般的文字截断(适用于内联与块): Example Source Code [www.mb5u.com].text-overflow {display:block;/*内联对象需加*/width:31 ...
随机推荐
- [Postman]拦截器扩展(15)
什么是拦截器 注意: Interceptor功能仅在我们的Postman Chrome应用程序中受支持,目前在Postman桌面应用程序中不可用.如果您希望我们的桌面应用程序中提供此功能,请在此处告知 ...
- CAS单点登录原理简单介绍
1. SSO简介 1.1 单点登录定义 单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统. ...
- 解决transition动画与display冲突的几种方法
如demo(如果没有显示,请查看源地址http://jsfiddle.net/ihardcoder/HNduT/2/)所示,基本的效果是在点击“Translate”按钮后,蓝色区域透明度变为0,然后隐 ...
- sql server 性能调优之 资源等待 CXPACKET
一.概述 CXPACKET是指:线程正在等待彼此完成并行处理.什么意思呢? 当sql server发现一条指令复杂时,会决定用多个线程并行来执行,由于某些并行线程已完成工作,在等待其它并行线程来同步 ...
- HashMap源码之常用方法--JDK1.8
常用方法 hash(key) static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCo ...
- salesforce零基础学习(九十一)Facet
说Facet以前,我们先说一下浏览器加载解析以及渲染的过程.浏览器获取一个HTML的文件时,会按照自上向下的顺序进行解析,并在加载过程中进行渲染.对html解析成DOM树,对CSS 解析成CSS Ru ...
- [NewLife.XCode]数据模型文件
NewLife.XCode是一个有10多年历史的开源数据中间件,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含 ...
- 07 训练Tensorflow识别手写数字
打开Python Shell,输入以下代码: import tensorflow as tf from tensorflow.examples.tutorials.mnist import input ...
- Vc数据库编程基础MySql数据库的常见库命令.跟表操作命令
Vc数据库编程基础MySql数据库的常见操作 一丶数据库常见的库操作 1.1查看全部数据库 命令: show databases 1.2 创建数据库 命令: Create database 数据库名 ...
- ES6躬行记(6)——Symbol
本节将会重点分析ES6引入的第6种基本类型:Symbol(符号).符号可以像字符串那样作为对象的属性名,只是它有唯一性的特点,可以避免属性名之间的冲突. 一.创建 符号没有字面量形式,只能通过Symb ...