在项目中,我们可能经常使得自己设计的网页能自适应。特别是网站中的图片,经常要求在网页放大(或缩小)时,宽高同时放大(或缩小),而且不变形(即保持正常的长宽比)。为了不变形,常用的方法就是设置width值,然后高度height设置auto。如果是div,我们该如何处理呢。

背景图片宽高比固定

下面,我仿照了移动端的聚划算网站中(https://ju.m.taobao.com/)中间一部分的布局。

高度自适应

*{

margin: 0;

padding: 0;

}

div{

width: 100%;

background-color: pink;

position: relative;

}

div:after{display:block;content: "";visibility: hidden;clear: both;}

div p{

float: left;

width: 30%;

padding-top: 35%;

margin-left: 3%;

border:1px black solid;

border-radius: 10px;

box-sizing: border-box;

}

div p:nth-child(1){

background: url(images/banner1.jpg) no-repeat;

background-size: cover;

}

div p:nth-child(2){

background: url(images/banner2.jpg) no-repeat;

background-size: cover;

}

div p:nth-child(3){

background: url(images/banner3.jpg) no-repeat;

background-size: cover;

}

图中三个DIV的宽高都会随着页面的大小保持原有比例放大或缩小。其核心思想就是利用padding来拓宽盒子高度。通过padding-top来设置百分比,使其百分比与宽度的百分比为需要的比例。这里需要注意的是:padding-top中设置的百分比与width中设置的百分比都是以父元素的width为参考的。

div宽高比固定

由于背景图片能覆盖包括padding在内的空间,但是如果需要在子元素中放置其他内容,会扩大子元素的高度,这时应该如何处理呢。为了让其不占用文档流空间,可设置其position:absolute;具体代码如下:

高度自适应

*{

margin: 0;

padding: 0;

}

.main{

width: 100%;

background-color: pink;

position: relative;

}

.main:after{display:block;content: "";visibility: hidden;clear: both;}

.main div{

float: left;

width: 30%;

position: relative;

padding-top: 35%;

margin-left: 3%;

border:1px black solid;

border-radius: 10px;

box-sizing: border-box;

}

.main div:nth-child(1){

background: url(images/banner1.jpg) no-repeat;

background-size: cover;

}

.main div:nth-child(2){

background: url(images/banner2.jpg) no-repeat;

background-size: cover;

}

.main div:nth-child(3){

background: url(images/banner3.jpg) no-repeat;

background-size: cover;

}

.p1{

position: absolute;

height: 100%;

width: 100%;

left: 0;

right: 0;

top: 0;

bottom: 0;

background-color: red;

overflow: hidden;

}

图中三个DIV的宽高都会随着页面的大小保持原有比例放大或缩小。其核心思想就是利用padding来拓宽盒子高度。通过padding-top来设置百分比,使其百分比与宽度的百分比为需要的比例。这里需要注意的是:padding-top中设置的百分比与width中设置的百分比都是以父元素的width为参考的

为了能清楚的展示,我们把第一个div中的P元素背景色标记为红色,我们可以看到P元素的大小也能随着div的大小变化而变化。

---------------------

作者:诗渊

来源:CSDN

原文:https://blog.csdn.net/u014607184/article/details/52661760?utm_source=copy

版权声明:本文为博主原创文章,转载请附上博文链接!

移动端 css实现自适应正圆 ( 宽高随着手机屏幕宽度自适应 )

序言:应朋友要求随手写了一下移动端 css实现自适应正圆 ( 宽高随着手机屏幕宽度自适应 ) ,以备后用 LESS代码: .adaptive-circle { margin: 50px auto 0; ...

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

1.从上图知道原始图片大小是 800 * 250,即宽高比为 3.2: 2.html 及 css 代码如下, 可以知道就只是在一个div里面放了一张图片,那么如何让这张图片的宽高比固定呢,看了css之 ...

css媒体查询aspect-ratio宽高比在less中的使用

css媒体查询有一个 宽高比很方便,aspect-ratio ,可以直接使用宽/高 来进行页面适配   使用样例如下: // 宽高比在((320/50)+(728/90))/2 两个尺寸中间值以内 适 ...

使用css让动态容器按固定宽高比显示

需求:页面上有一个div的宽度是随着屏幕宽度的改变而改变的,但其宽高比始终是2:1,也就是当宽度是1000px时,高度为500px 分析:无论浏览器窗口如何改变,始终要让目标元素的宽高比保持2:1,我 ...

CSS流体(自适应)布局下宽度分离原则

CSS流体(自适应)布局下宽度分离原则 这篇文章发布于 2011年02月28日,星期一,00:48,归类于 css相关. 阅读 73990 次, 今日 5 次 by zhangxinxu from h ...

CSS 图片自适应容器

https://www.jb51.net/css/660677.html 经常有这样一个场景,需要让图片自适应容器的大小. 1.img标签的方式 我们马上就能想到,把width.height 设置为1 ...

CSS+DIV自适应布局

CSS+DIV自适应布局 1.两列布局(左右两侧,左侧固定宽度200px;右侧自适应占满) 代码如下:

...

常见css垂直自适应布局(css解决方法)

css3的盒模型, css3中添加弹性盒模型,最新弹性盒模型是flex,之前为box

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

很多同行在开发中可能会遇到这样的问题,就是在加载图片的时候会出现图片变形的问题.其实这很可能就是你的图片宽高比和图片所在容器的宽高比不匹配造成的.比如说图片的宽为200,高为100.宽高比就是2,那么 ...

随机推荐

探索c#之一致性Hash详解

阅读目录: 使用场景 算法原理 虚拟节点 代码示例 使用场景 以Redis为例,当系统需要缓存的内容超过单机内存大小时,例如要缓存100G数据,单机内存仅有16G时.这时候就需要考虑进行缓存数据分片, ...

nio 弊端

java-nio在Android上使用的种种弊端 August 12, 2013programming 我们知道,手机上的网络一般会比较慢(使用wifi除外),用户非常不希望自己在使用手机时被考验耐心 ...

简单设置,解决使用webpack前后端跨域发送cookie的问题

最近用vue来做项目,用webpack来做前端自动化构建.webpack-dev-server会在本地搭建一个服务器,在和后端调试的时候,就会涉及到跨域的问题. 刚开始时,没有用vue-cli来构建项 ...

HDFS的Shell

调用文件系统(FS)Shell命令应使用 $HADOOP_HOME/bin/hadoop fs 的形式. 所有的FS Shell命令使用URI路径作为参数. URI格式是scheme://author ...

北大ACM(POJ1012-Joseph)

Question:http://poj.org/problem?id=1012 问题点:约瑟夫环. Memory: 220K Time: 329MS Language: C++ Result: Acc ...

jmeter中webdriver插件,进行自动化压测

1.下载JMeterPlugins-WebDriver-1.1.2 2.将JMeterPlugins-WebDriver-1.1.2\lib\ext中的*.jar拷贝到D:\apache-jmeter ...

MVC Razor视图下ViewData传递html内容被转义

页面输出: html源码:

付凯航 阿豆 ADOU

...

网络操作系统 第六章 Window Server 2008 活动目录

本章小结 在企业网络中,活动目录是必不可少的,它将网络中各种对象组织起来进行管理,方便了网络对象的查找,增强了网络的安全性,为用户的物流管理提供了极大的便利,本章首先介绍了活动目录的基本概念,然后通过 ...

P124黎曼可积性刻画 的两个备注

1.这里为什么是开集?   2.请问为什么说了是开集马上就说是有界可测函数? 开集为可测集

shiro测试常见错误

org.apache.shiro.authc.IncorrectCredentialsException: Submitted credentials for token [org.apache.sh ...

css 大图保持宽高比压缩,CSS实现自适应下保持宽高比相关推荐

  1. gulp压缩css文件夹,使用 gulp 压缩 CSS

    压缩 css 代码可降低 css 文件大小,提高页面打开速度. 我们接着将规律转换为 gulp 代码 ## [](https://github.com/nimojs/gulp-book/blob/ma ...

  2. webpack4--提取css到单独文件并且压缩css

    提取css到build/css目录下:mini-css-extract-plugin插件 压缩css:optimize-css-assets-webpack-plugin插件 Uglify是压缩js: ...

  3. css 大图保持宽高比压缩,css 保持宽高比缩放

    参考 需求简介: 在大的div中放九个小div, 小div需要保持4:3的宽高比, 小div中会有图片, 图片按照4:3拉伸 下图效果是div1:1 , 图片宽度100%, 高度自适应 思路 1, 使 ...

  4. webpack3.0 压缩css 但是不在html中引用,webpack怎样压缩css?

    Webpack是前端一个工具,可以让各个模块进行加载,预处理,再进行打包.现代的前端开发很多环境都依赖webpack构建,比如vue官方就推荐使用webpack. webpack可以使用css压缩插件 ...

  5. webpack怎样压缩css?

    webpack是前端一个工具,可以让各个模块进行加载,预处理,再进行打包.现代的前端开发很多环境都依赖webpack构建,比如vue官方就推荐使用webpack. webpack可以使用css压缩插件 ...

  6. 【数仓建模】传统建模与宽表建模有何差异?基于宽表建模实践

    [数仓建模]传统建模与宽表建模有何差异?基于宽表建模实践 一.业务背景 1.1 数据建模现状: 1.2 当前业务特性与趋势 二.面临的问题 2.1 在数据驱动业务越来越重要的大趋势下,面临的问题 2. ...

  7. 将多张图整合到一张大图中,再用css定位技术

    2019独角兽企业重金招聘Python工程师标准>>> 以前做网站的时候,经常有地方要用小图标.第一次接触bootstrap的时候,下载打开它的源文件的时候只看到了两张图,就是包含很 ...

  8. js和css和img,Node.js压缩web项目中的js,css和图片

    安装node.js 这个非常简单,下载下来,配置下环境变量就可以了,使用node -v查看是否安装成功 安装压缩需要的模块分别是uglify-js,clean-css,node-smushit 命令是 ...

  9. php 使用压缩css文件,PHP-使用GZIP压缩静态CSS文件

    所以我有一个CSS文件style.css.在同一目录中,我有images /文件夹. 如何制作一个从另一个文件夹压缩style.css的脚本? 现在我有这个: if(isset($_GET['css' ...

最新文章

  1. 在CentOS 6.6 64bit上基于源码安装全功能的vim 7.4实录
  2. 【数据结构】二叉排序树
  3. 赛普拉斯 12864_如何使用赛普拉斯自动化辅助功能测试
  4. 4.1_ 1_ 初识文件管理
  5. mysql索引_MySQL索引介绍和实战
  6. c语言程序中必不可少的,C语言程序设计(第3章程序控制语句)2
  7. JVM01----JVM结构
  8. 湖北 政府项目 软件 测试,湖北电子政务应用系统技术验收测试规范.doc
  9. RubyInstallers无法下载或下载缓慢的问题
  10. 在夜神模拟器内部安装App
  11. linux recovery模式是什么,recovery.img是什么
  12. 学习大数据,为大家推荐几本好书
  13. Android LocalServices解耦妙用: system_server进程中各个服务之间的连通器LocalServices
  14. MySQl 表基本查询操作
  15. Spring 核心 之 AOP
  16. 2022-2027年中国酒店及酒店管理市场竞争态势及行业投资前景预测报告
  17. C/C++指针的经典笔试面试题
  18. 2023最新最全vscode插件精选
  19. java license机制dll_(转)使用truelicense实现用于JAVA工程license机制(包括license生成和验证)...
  20. 百度前端学院---耀耀学院---任务1

热门文章

  1. 超详细的建站流程,如何建立一个网站
  2. curl post json数据
  3. React Native热修复CodePush以及react-native-update
  4. Alice saide: when rainning__
  5. `在mysql中是什么含义
  6. 20211229日语学习笔记
  7. ubuntu 工作中常用的终端命令
  8. 2021 最新版 JDK 1.8 下载与安装 步骤演示 (图示版)
  9. 电脑麦块java环境安装包下不上怎么办
  10. python怎么统计文本中的字频_【python】实现文档中的多频词统计