html 图片高度 页面高度自适应,怎样让网页图片高度自适应宽度

[摘要]

你肯定知道width百分比可以实现图片宽度的自适应,那么你知道高度也可以根据宽度变话而自适应比变化么,看下本文就了解了!

当前响应式布局,内容尺寸自适应设备是众多网站开发者的选择,毕竟现在显示器、笔记本、移动设备的尺寸太过于繁多了,其中大家都知道使用width="100%"样式可以实现元素的自适应宽度,但是让元素的高度根据宽度变化而变化却并不能直接通过css简单实现。下面咱们举个栗子...

比如,我在布局的时候想要实现一个横向排列的图片效果,要求是图片能够根据屏幕的大小自动调整,以四张图片为例,我们很简单的就能实现,直接给让图片所在的元素宽度为25%就可以了啊。但是如果图片的宽高比例并不相同,那么就会出现下图的情况:四张图片的宽度是相同的,但是高度却参差不齐,视觉效果差。

b59608409bb3ee4535444ed23e4b07e1.png

图片高度参差不齐

下面贴出demo代码,大家可以在本地调试。(代码中图片路径请自行修改)

图片高度自适应demo

*{margin: 0; padding: 0; border: 0;}

ul,ol,li{list-style: none;}

.wrap{margin: 100px auto 0; width: 600px; padding: 10px; border: 1px dashed #3e3e3e; overflow: hidden;}

.wrap p{font-size: 16px; font-weight: bold; text-align: center; height: 30px; line-height: 30px;}

.wrap span{float: right; display: inline-block;}

.wrap ul{overflow: hidden;}

.wrap ul li{float: left; width: 23%; padding: 1%}

.wrap ul li img{width: 100%;}

图片高度自适应demo

  • 1.jpg
  • 2.jpg
  • 3.jpg
  • 4.jpg

demo by yaxi.net

此时如果想让图片高度都保持一样,我们可以给图片自定义高度,但如果图片宽度变化了,高度是不会跟着变的,就会出现图片变形的情况。

那么这个时候就要解决图片高度的自适应问题了,由于当前浏览器都是从上而下浏览,页面高度随着内容的变化而变化,并不像宽度一样是固定的,使用百分百比的height显然不现实。这就需要请出来js大法了,将下例js代码放入demo中,刷新页面后整个页面变得整洁美观,强迫症们表示太棒了。

//元素高度自适应宽度

$(function(){

var ratio = 0.8;/*此处是宽高比例*/

var liWidth = $('.wrap ul li').width();/*括号中为父元素选择器*/

var liHeight = liWidth * ratio;

$('.wrap li img').width( liWidth );

$('.wrap li img').height( liHeight );

});

9bb80e7d63fa3b0e9bccd44265054298.png

添加高度自适应js代码后

查看元素后我们可以看出,此段js给图片增加了行内样式,所以此时如果再调整浏览器宽度,图片宽高并不会变化。

需要注意的是,本例依托于jquery框架,所以需要在网页

里引入jquery.js文件。其中ratio=0.8是指你想要实现的图片宽高比例;liWidth是图片父元素宽度,图片会自动适应此宽度,注意代码中元素选择器的填写。

有些前端基础的朋友估计也懂了,此代码不仅适用于图片,所有的块状元素都可以通过此代码来实现宽高固定比例的,这样一来在自适应布局上就简单很多了。

本文代码兼容主流浏览器(包括IE),需提前引入jquery文件,代码简洁却有大功能,可以说是响应式布局的一个神器了。

本文最后更新于2016年12月5日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

伦巴时间步的动作要领_军训动作要领已到,请签收

点击上方蓝字关注我吧军训动作要领已到,请签收小20的军训已经开始两天了!经过两天的辛苦训练,相信同学们已经对训练项目有所了解,但是要做到很好,还需要不断练习。趁着空闲时间,温习一下已学的提前熟悉一下…

subline3插件html,Sublime Text3与html的插件

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?因为学习web课程,需要一些环境来支持web的高效率开发,于是就将sublime text3进行进一步的优化,是他更适合html和css的编辑&…

小程序和vue语法对比_React语法开发微信小程序 Demo

前言从16年微信小程序内测的时候至今,微信小程序用实践证明了自己的创新和价值,微信小程序的规则也在社区的影响下变得更加完善。但是不得不说,用惯了VSCode,官方的开发工具确实不怎么好用。之前没有接触过小程序开发,…

计算机科学与技术mobi,080901-计算机科学和技术.PDF

080901-计算机科学与技术按照教育部计算机科学与技术教学指导委员会制定的《计算机科学与技术专业规范》要求,本专业的主要知识领域包括:离散结构、算法与复杂性、计算机体系结构与组织、操作系统、以网络为中心的计算、软件工程、程序设计语言、程序设计…

cookie 在线人数列表_前端学习随笔2 在线简历

​一 心得体会今天的任务是利用HTML制作一份在线简历,先不考虑样式,只从结构和语义化方面着手。对于已经有了前端b编程经验的我来说挺简单的,但是我还是当作我是一个刚入门的菜鸟,在学习过程中发现其实还有很多基础知识被我忽略了…

html表单传值,如何将用户输入的表单值从html传递给javascript?

通过将值写入标记,可以将值从javascript传递给html.但是,如果我希望将用户定义的值(等,由查看网页的人输入)传递给java脚本,以便我可以用它做什么,那么最简单的方法是什么?目前,我有这样的事情:如何将表单中的值传递给我的javascript?或者,我…

打开黑色_垃圾桶里的黑色塑料袋,打开一看,倒吸一口气!

江山多娇我和我的家乡 大直播明天很热注意防晒萍乡天气18—32℃晴来源 | 都市现场(jxtvdsxc)综合安徽公共频道非经允许请勿转载 如删除来源必究5月19号下午,在合肥市春晖园小区内,有两位老人竟偶然从小区垃圾桶内翻出了六万多元的现金。这是怎么回事…

计算机应用技术教程的答案,计算机应用技术教程第3章办公自动化答案

计算机应用技术教程参考答案答案:Word部分一、单选题1. 在Word中,如果在英文文章中出现红色波浪下划线,表示( )。A.单词拼写错 B.要全部小写 C.语法错 D.要全部大写2. 在Word中,如果…

根据父类id查询所有的父级_031、组函数和子查询

1.组函数(聚合函数)(1)组函数介绍组函数操作行集,给出每组的结果。组函数不象单行函数,组函数对行的集合进行操作, 对每组给出一个结果。这些集合可能是整个表或者是表分成的组。组函数与单行函数区别单行函数对查询到…

工业设计对计算机技术的应用,计算机在产品设计的应用

摘要:通过在产品设计中引入计算机技术,不仅能够大大提升产品功效,而且其开发周期也得以大幅缩减。在产品设计的各环节,包括调查、分析、定位等由于有了计算机技术的应用而更加便捷,而且计算机技术也在产品设计的草图、…

checksum命令 linux_linux命令详解:md5sum命令

作为一个运维工作者,日常肯定会频繁的更新,怎样区分每次的更新 更清楚的区别两次更新的文件的不同呢 推荐一个比较实用的方法,即获取每次更新文件的md5值。前言在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不…

未来计算机是什么结合的产物,计算机未来发展趋势 (2)

计算机发展趋势计算机网络技术是通信技术与计算机技术相结合的产物。计算机网络是按照网络协议,将地球上分散的、独立的计算机相互连接的集合。连接介质可以是电缆、双绞线、光纤、微波、载波或通信卫星。计算机网络具有共享硬件、软件和数据资源的功能,…

搜索文献_如何有效地搜索及阅读文献

解读论文写作与发表策略助您成功发表关注文献的阅读与科研息息相关,不做好文献调研,就无法真正开展课题,也无法掌握当前最新的研究进展,创新也就无从谈起。但是,相信很多同学,特别是刚读研的同学&#xff0…

显卡直通_英伟达RTX 30系显卡发布:性价比打哭2080Ti

9 月 2 日消息,英伟达在今天凌晨正式发布了 GeForce RTX 30 系列显卡,首发型号包括 RTX 3070、RTX 3080 及 RTX 3090 共三款。新一代 RTX 30 系列显卡基于三星 8nm 制程工艺打造,采用了全新的安培(AMPERE)架构,搭载第二代 RT Core…

学计算机应用用画画吗,宝宝学画画

宝宝学画画电脑版是专为儿童设计的画图软件,是一款界面友好的触摸式平台,宝宝学画画功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。宝宝学画画为儿童用户提供友好并富有创意的使用环境,让他们感受用计算机…

计算机网络电子邮件的基本格式,怎样的格式才是正确的电子邮件格式?

楼主:你好,很高兴为你解答。电子邮件(E-mail)是建立在计算机网络上的一种通信形式。计算机用户可以利用网络传递电子邮件,实现相互通信。电子邮件可在计算机局域网上进行,也可在计算机广域网上进行。进行电子邮件通信,…

华为tsm_台积电:如果不能向华为销售芯片,其他订单可快速取代华为空缺

6月9日消息,据国外媒体报道,台积电周二表示,如果美国禁令禁止公司向华为销售芯片,其他订单可以很快取代华为空缺。台积电在年度股东会上,台积电董事长刘德音表示,我们希望(禁止公司向华为销售芯片)不要发生…

戴尔便携式计算机无法开机,戴尔笔记本电脑开不了机如何解决【解决方法】

生活在互联时代下,我们对笔记本的需求是无处不在的,不管是上班族还是学生党,使用笔记本办公和学习给我们的生活带来很大的便捷。但使用的过程中,总有可能会遇到无法预料的问题。比方说 笔记本电脑 无法开机的问题,当遇…

ida导入jni头文件_IDA动态调试无法导入JNI文件的解决办法

前言:学习过程中遇到了,特此记录一下。样本app链接在这里:https://pan.baidu.com/s/1pVLBBuBKRzDzHlBClrBA2A 提取码: 9tz8它是 2015年阿里的一个反调试app,我是参考这篇文章来过反调试的:https://blog.csdn.net/Viewz…

计算机软件名称用什么符号,[计算机软件及应用]第九章符号表.ppt

[计算机软件及应用]第九章符号表第9章 符号表 符号表 用来存放在词法分析过程中生成的有关标识符的语义特征属性信息 符号表中所登记的信息在编译的不同阶段都要用到。 例如作为语义检查的依据,目标代码生成阶段地址分配的依据等。 不同种类的表格所涉及的操作往往是…