问题:图片的宽度100%,高度要始终自适应为16:9。

  解决方案:

  1、通过js程序算出绝对高度再进行设置。这是解决问题最容易想到的方法。

  2、但是,我们的原则是能用css实现的功能尽量用css,这有利于后期项目的维护。css同样可以实现这个问题,我们可以利用边距的百分比属性定义来优雅实现。

  我们通过百分比设置宽度,根据宽度的比例数值*9/16,计算出高度的百分比数值,设置内边距为高度的数值,最后用绝对定位把图片百分百填充到我们设置的区域里面。

  那么外面盒子宽度100%,高度0,但是因为有padding-bottom为9/16的比例,所以外层盒子始终是16:9等比例,再绝对定位设置图片宽高都100%即可。

<div class="scale">
<img src="" class="item"/>
</div>

  css代码:

.scale {
width: %;
padding-bottom: 56.25%;
height: ;
position: relative;
} .item {
width: %;
height: %;
background-color: aquamarine;
position: absolute;
}

  这样即可,比较简单,就是思维上的灵活运用。

最新文章

  1. 【转】Sqlite 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该...
  2. 修正 Memo 設定為 ReadOnly 後, 無法有複製的功能
  3. jQuery 之 Callback 实现
  4. 3.聚类&ndash;K-means的Java实现
  5. 如何实现ZBrush中部分模型的选择和隐藏
  6. DelayQueue
  7. 【HDOJ】3016 Man Down
  8. C字符数组及其应用
  9. mktime性能问题
  10. 2014 HDU多校弟八场H题 【找规律把】
  11. 基于spark和sparkstreaming的word2vec
  12. 静态代码块详解(原出处:http://versioneye.iteye.com/blog/1129579)
  13. Spring data Redis
  14. 词向量:part 1 WordNet、SoW、BoW、TF-IDF、Hash Trick、共现矩阵、SVD
  15. JS基础速成(一)
  16. MyBatis与MySQL交互
  17. javascript语言扩展:可迭代对象(2)
  18. Oauth2手册 第一章
  19. SpringMVC学习(四)———— 数据回显与自定义异常处理器
  20. *浅解嵌入式中的BootLoader

热门文章

  1. Python学习(十) —— 常用模块
  2. Mysql8远程不能登录报错
  3. JDK自带工具keytool生成ssl证书
  4. B-number 数位dp
  5. day52 js--- bom dom
  6. maya shell 和 UV shell 的区别
  7. JavaEE 之 log4j
  8. 如何找到fastjson.jar这个阿里开源的jar包
  9. Kafka、RabbitMQ、RocketMQ等消息中间件的对比 —— 消息发送性能和区别
  10. C#循环语句整理