css 图片上使用position定位图片,缩小屏幕 图片会跑(已解决)

67 篇文章 1 订阅
20 篇文章 0 订阅

需求

绿色框为背景图片,两个绿色箭头需要按照要求显示在框内的对应位置上

在这里插入图片描述
看到需求直接使用 position定位来解决,但是因为要求的分辨率为1024x768 ,比自身开发的电脑屏幕要小很多,所以也遇到了一些问题

问题

绿色边框背景图 ,考虑到页面呈现效果 设置了 93%的宽度,

.flow-img {
  width: 93%;
}

绿色箭头 均为 position: absolute;

在这里插入图片描述
然后发现 小屏幕时,箭头位置偏移了,不能固定在要求的位置上,在尝试修改后发现,绿色边框图片外面还包有一层div应该给这个div 设置宽度 93%,而绿色边框图片 宽度应为 100%
在这里插入图片描述

完整代码

  <div class="middlePart">
        //绿色边框背景图
        <img src="../../../assets/images/status/flow.png" class="flow-img" />
        <!-- 左侧下箭头 -->
        <div class="arrow-left"><img :src="arrowRedUrl" class="arrowImg" /></div>
          <!-- 左侧上箭头 -->
        <div class="arrow-right">
            <img :src="arrowRedUrl" class="arrowImg arrowImg-up" />
        </div>
   </div>
 data() {
        return {
            arrowGreenUrl: require("../../../assets/images/status/redDown.png"),
            arrowYellowUrl: require("../../../assets/images/status/yellowDown.png"),
            arrowRedUrl: require("../../../assets/images/status/greenDown.png"),
        };
    },
<style rel="stylesheet/scss" lang="scss" scoped>
  .middlePart {
    position: relative;
    width: 93%;
    margin: 11px 0px 11px 35px;
}
.flow-img {
    width: 100%;
}
.arrowImg {
    width: 100%;
    height: 100%;
}
.arrow-left {
    position: absolute;
    top: 40%;
    left: 6%;
}
.arrow-right {
    position: absolute;
    top: 42%;
    right: 4%
}
.arrowImg-up {
    transform: rotate(180deg);
}
</style>

效果

大屏

在这里插入图片描述

小屏幕

在这里插入图片描述

tips:

1. 使用定位时,父级应使用 position: relative;相对定位,子级使用 position: absolute;

2. 在有图片做背景时,考虑到适配不同屏幕,图片宽度不能写死图片宽度应为100%

3. 定位时,使用百分比来匹配位置

  1. 一定要注意外层是否有多个div嵌套如果有 要找到最外层的作为父级!!!
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值