宽度为100%的位图面对屏幕放大的解决办法(可拼接时)
2015-12-03 21:17
337 查看
CSS: 宽度为100%的位图面对屏幕放大的解决办法
需求一张长图,宽度占满。
这个要求看似很简单,但仔细想来,位图的尺寸设为100%其实是一件很麻烦的事情。位图不像矢量图,可以伸缩。屏幕宽度缩小还好,两边自动隐藏即可;若是放大,由于图片本身宽度有限,就会出现问题。要么是留白,要么是拉伸。留白显然不满足需求;拉伸就会使得图片变模糊,而且高度也会等比例拉伸;如果限制高度,整个图片都会变形。
方法
一开始就给足够长的图,srcset 判断加载。
这方法比较实在,也是通用方法,但我见识短浅,实在不知道什么叫足够长,而且在不需要时,便成了浪费。
另一种方法,用于特殊情况
有理由相信,这种需求,要放的图片一般不会是照片,而是制作出来的图。就算是照片,也是整个100%作为背景(而不会要做成长条),此时对画质的要求不会很高。要么就会允许留白。
将图片的两边做成可拼接的形式,将主图居中,监听屏幕宽度变化,动态地在两端拼接图片。
假设本身是这样的
<div> <img id="mainImg" alt="主图片" /> </div>
我们需要这样
<div> <img class="left" alt="左部分" /> <img id="mainImg" alt="主图片" /> <img class="right" alt="右部分" /> </div>
为了令这一串图片居中,我们需要
<div> <div id="container" <img class="left" alt="左部分" /> <img id="mainImg" alt="主图片" /> <img class="right" alt="右部分" /> </div> </div>
#container{ white-space: nowrap; position: absolute; left: 50%; transform: translate(-50%, 0); }
只需要每次在两边加的图片尺寸相同,图片的添加就会非常自然了。
相关文章推荐
- Light oj--1275(二次函数)
- 清汤酸菜鱼的做法
- Spark1.5.2安装--Spark学习(基础)
- Failed to load JavaHL Library解决方法
- PAT练习基础编程题目之统计个位数字
- MyEclipse2014中SVN的使用方法
- Jackson序列化和反序列化Json数据完整示例
- Android作业分组与选题
- OC基础(22)
- 反素数(暴力)
- 网上文库文档免费下载
- 从头认识java-12.1 为什么需要RTTI(Run-Time Type Identification)?
- 06 maven问题 "Could not calculate build plan: Plugin 'jarPrefix':'jarName':'jarVersion' "
- 用Intent调用系统中经常被用到的组件
- TS科普17 有条件访问表
- [Python3.4] 从HTTP代理网站批量获取代理并筛选
- Android是否联网判断
- jquery esay ui学习
- 关于缓存使用中的一些看法
- Ramsey theorem in Combinarotics