关键代码

html

<!--    轮播图开始-->
<div id="header" class="carousel slide">
<!-- 轮播(Carousel)指标 -->
<ol class="carousel-indicators">
<li data-target="#header" data-slide-to="0" class="active"></li>
<li data-target="#header" data-slide-to="1"></li>
<li data-target="#header" data-slide-to="2"></li>
</ol>
<div id="" class="carousel slide">
<!-- 轮播(Carousel)指标 -->
<ol class="carousel-indicators">
<li data-target="#header" data-slide-to="0" class="active"></li>
<li data-target="#header" data-slide-to="1"></li>
<li data-target="#header" data-slide-to="2"></li>
</ol>
<!-- 轮播(Carousel)项目 -->
<div class="carousel-inner">
<div class="item bg1 active">
<!-- <img src="/img/1.jpg" alt="1">-->
</div>
<div class="item bg2">
<!-- <img src="/img/2.png" alt="2">-->
</div>
<div class="item bg3">
<!-- <img src="/img/3.png" alt="3">-->
</div>
</div>
<!-- 轮播(Carousel)导航 -->
<a class="left carousel-control" href="#header" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">上一条</span>
</a>
<a class="right carousel-control" href="#header" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">下一条</span>
</a> </div> <!-- 轮播图结束-->
</div>

css

#header .item{
width:100%;
height: 20em;
min-height:100px;
max-height:500px;
}
#header .bg1{
background: url("/img/1.jpg") no-repeat center fixed;
background-size: cover;
}
#header .bg2{
background: url("/img/2.png") no-repeat center fixed;
background-size: cover;
}
#header .bg3{
background: url("/img/3.png") no-repeat center fixed;
background-size: cover;
}

效果图

问题分析

情况说明

我的轮播图要插入的图片,有一张比较特殊,没错,就是2号图,他是竖屏的。

而我正在使用Bootstrap3(作业要求)制作轮播图。

如果不做调整的话,轮播图到2号时,轮播图区域高度会增加,然后到3号,高度又减小……

我想要的效果是:

1.图片铺满轮播图的框框

2.图片高度统一

方法探索

我很自然想到了css设置背景的方法:

background: url("url") no-repeat center fixed;

但是现在用的是img,我应该怎么去设置img呢?似乎不太方便。

如你所见,3张图分别在3个div里面

切换的时候其实是div之间的切换

所以我可不可以去掉img呢?图片显示的话,就给div设置背景。

于是有了这些:

#header .item{
width:100%;
height: 20em;
min-height:100px;
max-height:500px;
}
#header .bg1{
background: url("/img/1.jpg") no-repeat center fixed;
}
#header .bg2{
background: url("/img/2.png") no-repeat center fixed;
}
#header .bg3{
background: url("/img/3.png") no-repeat center fixed;
}

但是有个问题,这个图片他没有铺满。而我想要他铺满,且不能变形。

所以考虑设置background-size

#header .bg1{
background: url("/img/1.jpg") no-repeat center fixed;
background-size: cover;
}
#header .bg2{
background: url("/img/2.png") no-repeat center fixed;
background-size: cover;
}
#header .bg3{
background: url("/img/3.png") no-repeat center fixed;
background-size: cover;
}

为什么我写是cover而不是100%呢?

从我自己测试来看,设置100%的话,宽度是100%,高度容易出现空白区域。

cover的效果来看:cover能让背景图“紧贴”“盒子”边缘

下面是菜鸟教程上的说明:

cover会保持图像的纵横比并将图像缩放成将完全覆盖背景定位区域的最小大小。

contain:此时会保持图像的纵横比并将图像缩放成将适合背景定位区域的最大大小。

好,最终就得到了这套解决方案。

或许会有更好的办法的。欢迎留言讨论。

【Web前端】【疑难杂症】轮播图图片自适应显示问题(bootstrap3轮播图)的更多相关文章

  1. web前端开发初学者必看的学习路线(附思维导图)

    很多同学想学习WEB前端开发,虽然互联网有很多的教程.网站.书籍,可是却又不知从何开始如何选取.看完网友高等游民白乌鸦无私分享的原标题为<写给同事的前端学习路线>这篇文章,相信你会有所收获 ...

  2. iview carousel 图片不显示;iview 轮播图 图片无法显示(转载)

    转载来源:https://segmentfault.com/q/1010000016778108 相关代码 <Carousel autoplay v-model="value2&quo ...

  3. 15个web前端的美轮美奂的 jQuery 图片特效

    jQuery是一个非常优秀的 JavaScript 框架,使用简单灵活,同时还有许多成熟的插件可供选择.其中,jQuery 最令人印象深刻的应用之一就是对图片的处理,它可以让帮助你在你的项目中加入各种 ...

  4. web前端-移动端响应式与自适应

    一. 在HTML的头部加入meta标签 在HTML的头部,也就是head标签中增加meta标签,告诉浏览器网页宽度等于设备屏幕宽度,且不进行缩放,代码如下: <meta name="v ...

  5. 前端性能优化之优化图片 && 优化显示图片

    前端图片优化一直以来都是热门话题,从需求上来看,很多站点往往是图片体积大于代码体积, 图片请求多余代码文件请求, 给前端的性能带来了很大的困扰,那么应该如何解决呢? 零. 认识图片 我们通常使用的图片 ...

  6. web前端处理订单待支付倒计时计算显示问题

    在商城类项目的时候,有很多待支付的订单,有时候在订单列表页面会分别显示倒计时,就是页面会有很多倒计时的订单. 处理方法: 1.调用后端接口拿到所有的订单,获取所有的倒计时订单,获取到期时间(尽量时间戳 ...

  7. 整理六百篇web前端知识混总

    9个有用的和免费的工具来支持动态网页开发 8个基本的引导工具的网页设计师 11款CSS3动画工具的开发 2016年某前端群题目答案参考 9最好的JavaScript压缩工具 创建响应式布局的10款优秀 ...

  8. web 前端 html

    1,什么是web 在网络中,大量的数据需要有一个载体,而很多人都能够访问这个载体,利用浏览器的这个窗口链接一个有一个载体,这个载体就是网站也就是web的前身. 1,web标准:结构标准,表现标准,行为 ...

  9. 在word中粘贴的图片为什么显示不完整

    一.背景 整理系统测试说明文档,截得图片粘贴到word中显示不完整. 二.错误问题 问题:在word中粘贴的图片为什么显示不完整,如图所示: 三.分析问题: 原因是原来设置的行间距是固定值,图片也作一 ...

  10. 微信小程序之swiper轮播图中的图片自适应高度

    小程序中的轮播图很简单,官方都有例子的,但是唯一的缺陷就是swiper是固定死的150px高度,这样如果传入的图片大于这个高度就会被隐藏.辣么,怎样让图片自适应不同分辨率捏. 我的思路是:获取屏幕宽度 ...

随机推荐

  1. SMMU中stage1 和stage2 的意思

    ARM SMMU(System Memory Management Unit)是一种用于ARM架构的内存管理单元,它支持两阶段的地址转换机制,即Stage 1和Stage 2.这种机制允许操作系统和虚 ...

  2. golang中使用多线程和channel通道

    package controller import ( "context" "github.com/gogf/gf/v2/os/grpool" "sy ...

  3. tekton初次安装报错“containers with incomplete status: [place-tools]”

    报错内容 在按照官方部署方式部署完毕以后,执行第一个taskrun的时候就报错了,报错如下 Status: Conditions: Last Transition Time: 2022-08-08T0 ...

  4. 一文搞定 KubeKey 3.1.1 离线部署 KubeSphere 3.4.1 和 Kubernetes v1.28

    本文将详细介绍,如何基于操作系统 openEuler 22.03 LTS SP3,利用 KubeKey 制作 KubeSphere 和 Kubernetes 离线安装包,并实战部署 KubeSpher ...

  5. KubeSphere 集群配置 NFS 存储解决方案

    作者:申红磊,QingCloud 容器解决方案架构师,开源项目爱好者,KubeSphere Member 在正式阅读本文之前,先友情提醒一下:不建议您在生产环境中使用 NFS 存储(特别是 Kuber ...

  6. 在 KubeSphere 中部署高可用 Redis 集群

    作者:余生大大,大数据开发工程师,云原生爱好者,KubeSphere 社区用户. 前言 Redis 是在开发过程中经常用到的缓存中间件,在生产环境中为了考虑稳定性和高可用一般为集群模式的部署. 常规部 ...

  7. python之调用高德、百度api解析经纬度地址

    调用高德 # 高德地图根据经纬度反查地址,每天只能调用5000次 def gaode_excute_single_query(coordStrings ,currentkey='你自己的api-key ...

  8. VS2019插件更新慢的解决办法

    VS2019更新巨慢,可以尝试通过以下几个方法解决: 1. 关闭IPV6 关闭IPV6:Win10怎么样禁用IPV6 如何关闭IPV6协议-百度经验 (baidu.com) 2. 选择最快的DNS 百 ...

  9. 狂神说-Docker基础-学习笔记-03 日志、元数据、进程的查看

    狂神说-Docker基础-学习笔记-03 日志.元数据.进程的查看 视频链接:https://www.bilibili.com/video/BV1og4y1q7M4?p=1 1.docker logs ...

  10. 基于案例分析 MySQL 权限认证中的具体优先原则

    在 MySQL 的日常管理过程中,大家或多或少会遇到权限认证相关的问题. 例如,本来能够正常执行的操作,可能在新增一个账号或授权后就突然失败了. 这种现象往往让人误以为是 bug,但很多时候,其实并不 ...