Bootstrap笔记4

本文介绍了如何在Bootstrap中实现图片响应式,包括删除元素内背景图片,使用data-属性存放不同尺寸图片路径,通过JS判断屏幕宽度以选择合适图片,监听window resize事件以应对窗口尺寸变化,以及在小屏幕设备上使用img标签和媒体查询保持图片比例。此外,还提到了使用Bootstrap的媒体对象样式和响应式辅助类型进行布局调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图片响应式
目的:
各种终端都需要正常显示图片
移动端应该使用更小(体积)的图片
实现方式
将元素中直接设置的图片背景删除,换成两个data-属性(如:data-img-sm=“小图路径”,data-img-lg=“大图路径”)
通过JS的方式获取屏幕宽度
判断屏幕宽度是否小于一定的值(如:768)
根据判断情况决定使用具体的大图还是小图

//获取屏幕宽度
var windowWidth=$(window).width();
//判断屏幕属于大还是小
var isSmallScreen=windowWidth<768;
//根据大小为界面上的每一张轮播图设置背景
//$('#main_ad>.carousel-inner>.item').each(function(i,item){
//因为拿到的是DOM对象,需要转换
var $item=$(item);
//var imgSrc=$item.data(isSmallScreen ? 'image-xs':'image-lg');
    var imgSrc=
        isSmallScreen?$item.data('image-xs'):$item.data('image-lg');
    //设置背景图片
    $item.css('backgroundImage','url("'+imgSrc+'")');
});

window resize事件
由于上一步我们实现的过程是指在页面加载完成判断一次,
当用户手动调整页面宽度过后没有及时发生变化,
所以我们可以通过window的resize事件中重新完成以上操作来解决这个问题

function 窗口变化后执行的函数名(){
    //具体操作
}
$(window).on('resize',窗口变化后执行的函数名);

这个事件只会在窗口尺寸发生变化后执行,但是需要一开始执行一次

$(window).on('resize',窗口变化后执行的函数名).trigger('resize');

小图片不需要使用背景的方式
小图如果还是使用背景的方式,当屏幕特别小时,效果很差,所以使用小图时,改用img的方式
因为需要小图时尺寸等比例变化,所以小图时使用img方式

if(isSmallScreen){
    $item.html('<img src="'+imgSrc+''alt=""/>');
}else{
    $item.empty();
}

按照目前的情况,如果小图展示则不需要给容器加上410px的固定宽度,所以可以通过CSS媒体查询的方式解决

媒体对象样式
每一个小块的样式可以通过Bootstrap中的媒体对象样式实现

<a href="#">
    <div class="media">
        <div class="media-left">
            <i class="icon-uniE907"></i>
        </div>
        <div class="media-body">
            <h4 class="media-heading">支付交易保障</h4>
            <p>银联支付全程保证支付安全</p>
        </div>
    </div>
</a>

响应式辅助类型
整个板块在超小屏幕下是隐藏起来的
只需要给当前板块加上hidden-xs的class

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值