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

2016-12-5 16:50 来自本站原创 20,393 6 4
[摘要]

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

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

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

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

图片高度参差不齐

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

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>图片高度自适应demo</title>
 <style type="text/css"> 
 *{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%;} 
 </style>
</head>
<body>
 <div class="wrap">
 <p>图片高度自适应demo</p>
 <ul>
 <li><img src="1.jpg"></li>
 <li><img src="2.jpg"></li>
 <li><img src="3.jpg"></li>
 <li><img src="4.jpg"></li>
 </ul>
 <span>demo by yaxi.net</span>
 </div>
</body>
</html>

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

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

<script type="text/javascript">
 //元素高度自适应宽度
 $(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 );
 });
 </script>

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

添加高度自适应js代码后

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

需要注意的是,本例依托于jquery框架,所以需要在网页<head>里引入jquery.js文件。其中ratio=0.8是指你想要实现的图片宽高比例;liWidth是图片父元素宽度,图片会自动适应此宽度,注意代码中元素选择器的填写。

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

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

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

如果认为本文对您有所帮助请赞助本站

支付宝扫一扫赞助微信扫一扫赞助

  • 支付宝扫一扫赞助
  • 微信扫一扫赞助
  • 声明:凡注明“本站原创”的所有文字图片等资料,版权均属 雅兮网 所有,欢迎转载,但务请注明出处;
    利用css3动画功能制作鼠标放上 元素跳动效果 给难以关闭的悬浮广告位增加关闭按钮
    目前评论:6   其中:访客  0   博主  0
    加载中...
    1. 一介小民 3
      7年前 (2016-12-06) 0楼
      回复

      y固定高度,按比例宽度就行

      • Wing
        飞鸟 站长
        7年前 (2016-12-07)  地下1层
        回复

        @ 一介小民: 都固定高度了还能叫响应式自适应么? [坏笑] 况且固定高度在PC上显示可能无碍,但在移动设备上呢?屏幕窄了,元素宽度小了,高度还是固定的,必然会变形的。

    2. 动感单车网 4
      7年前 (2016-12-06) 0楼
      回复

      不会整这些,所以对于我来说,选择一款已经较为成熟的主题模板很重要!

    3. 小萝博客 3
      7年前 (2016-12-06) 0楼
      回复

      雪中送炭,好好研究一下

    4. 龙笑天 3
      7年前 (2016-12-06) 0楼
      回复

      只会简单的CSS,一直被图片的自适应所困扰~~ [强]

    5. boke112导航 5
      7年前 (2016-12-05) 0楼
      回复

      这个方法很实用,可以解决很多响应式主题的图片布局等 [鼓掌]

    发表评论
    取消回复

    疑问 调皮 难过 抠鼻 吓 微笑 可爱 坏笑 惊讶 发呆 疑问 大兵 偷笑 咒骂 发怒 白眼 鼓掌 得意 擦汗 亲亲 大哭 呲牙 晕 强

    分享 6 4 20,393
    Top

    PHP网站源码木棉湾建站同乐企业网站设计沙井seo网站推广石岩网站优化软件双龙模板网站建设双龙网站制作设计东莞外贸网站建设南联网页设计横岗百姓网标王广州网站制作坑梓网站优化按天收费观澜网站优化按天扣费宝安SEO按天扣费宝安如何制作网站宝安网站优化推广龙华网站关键词优化龙岗网站优化按天收费双龙网站设计模板福永企业网站制作塘坑关键词按天扣费石岩网站搭建塘坑seo优化观澜模板制作观澜至尊标王光明百度竞价包年推广广州网站搭建大芬关键词按天计费南澳品牌网站设计吉祥seo排名民治网站关键词优化歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化