巧用padding让图片宽高比固定并自适应布局

1、从上图知道原始图片大小是 800 * 250,即宽高比为 3.2;

2、html 及 css 代码如下,

  可以知道就只是在一个div里面放了一张图片,那么如何让这张图片的宽高比固定呢,看了css之后就知道了原来是神奇的padding帮了我们的忙。

3、当img的宽度为100%时,那么.banner的padding-bottom(padding-top也可以)的值为 100%(图片想要设置的宽度) / 3.2(图片的原始宽高比)= 31.25%;

  (如果你想把 img 的宽度设为50%的话,那么padding-bottom的值为 50% / 3.2 = 15.625%;)

4、最终结果为:

  看图片可以知道自适应后的宽高比 320 / 100 = 800 / 250 (原始宽高比)。

tips: 文章可能写的不好,还望见谅。

有疑问可以留言,看到了之后一定回复。

时间: 2024-11-06 03:36:12

巧用padding让图片宽高比固定并自适应布局的相关文章

加载的过程中图片变形了? --教你自定义自动适配图片宽高比的RatioLayout

很多同行在开发中可能会遇到这样的问题,就是在加载图片的时候会出现图片变形的问题.其实这很可能就是你的图片宽高比和图片所在容器的宽高比不匹配造成的.比如说图片的宽为200,高为100.宽高比就是2,那么这时候把它放在宽高比为1或者3的控件上就会分别出现变窄和变宽的问题.只有在容器宽高比为2的时候图片才会和原始显示效果一样.怎样解决这个问题呢?这个时候就可以创建一个能够自适应图片宽高比的父容器来包裹ImageView就可以了.在使用RatioLayout的时候要注意以下几点: 1)ImageView

上面固定下边自适应布局

<!DOCTYPE HTML><html><head><meta charset="gb2312"><title>头尾固定中间高度自适应布局</title><style>html, body { height:100%; margin:0; padding:0}#dHead { height:100px; line-height:100px; background:#690; width:100%; p

确保img的宽高比固定

html: <div class="wrapper"> <swiper :options="swiperOption"> <swiper-slide> <img class="swiper-img" src="http://img1.qunarzz.com/piao/fusion/1811/7c/8e5c4ab8ee8b7402.jpg_750x200_dd7a38dd.jpg" &g

多列布局之一列、多列定宽及一列自适应布局

命题: <div class="parent"> <div class="left"> <p>left</p> </div> <div class="right"> <p>right</p> <p>right</p> </div> </div> 问题一:一列定宽及一列自适应 方案1: .left{ flo

返回图片宽高比

/*** 图像处理-获取图像信息* @param string $source 源文件图片* @return array(图片的宽.高.类型)*/function get_img_info($source) {$imginfo = array();$ext = strtolower(substr(strrchr($source, '.'), 1)); //获取图片类型$image_type = array(1 => 'gif', 2 => 'jpeg', 3 => 'png', 6 =&

jq获取图片的原始尺寸,自适应布局

原理: each()遍历,width().height()获取宽高, load() 注意: 由于页面加载完了,但图片不一定加载完了,所以直接通过 $("img").width(),$("img").height() 是无法稳定获取到img的准确尺寸,或为0,或偶尔为0: 解决方法: load(),元素加载完了之后执行: 代码如下: <!DOCTYPE html> <html lang="en"> <head>

div css左边固定右边自适应布局

web前端开发之布局:先看效果图,最简单的左右布局.有可能还会被面试问道哈哈哈.一看也没什么特别之处,就是左边固定,右边自适应,就这么简单. 原理:通过设置一个margin-left;或者margin-right就可以搞定.方法有很多,这次就只介绍这种设置margin的. 代码: <!doctype html> <html>  <head>   <meta charset="UTF-8">   <title>Document&

左侧固定 右侧自适应 布局

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style type="text/css"> * {margin:0; padding:0; list-style:none; }

CSS百分比padding实现比例固定图片自适应布局 (转载)

一.CSS百分比padding都是相对宽度计算的 在默认的水平文档流方向下,CSS margin和padding属性的垂直方向的百分比值都是相对于宽度计算的,这个和top, bottom等属性的百分比值不一样. 这么设计的原因在我的新书(应该不出几个月就要出版了)中会有说明,这里不展开. 对于padding属性而言,任意方向的百分比padding都现对于宽度计算可以让我们轻松实现固定比例的块级容器,举个例子,假设现在有个<div>元素: div { padding: 50%; } 或者: di