vue.js 获取当前屏幕的宽度_vue 获取当前屏幕的宽度,图片等比例缩放,动态设置css样式...

这篇博客介绍了如何在Vue.js应用中获取当前屏幕宽度并据此实现图片的等比例缩放,同时动态设置蒙层的CSS样式,以确保在窗口大小变化时仍能保持正确位置。主要涉及的技术包括监听窗口大小变化、计算新的尺寸以及更新元素样式。
摘要由CSDN通过智能技术生成

vue 获取当前屏幕的宽度,图片等比例缩放

这个是一个背景图,点击对应的圆圈就会出现一个蒙层上面显示详情,但是只要当前窗口大小变化了,因为我的蒙层大小是固定的px,所以不会变,就不在图片对应的位置了

我们要绑定样式style,等后面要根据当前的屏幕来给蒙层动态设置宽高

:to="{name:'/streetDetails',query:{code:'310151101'}}"

:style="style01"

class="street-item item1"

>详情

>

css主要代码

.main {

background: transparent url("../../src/assets/img/street.png") no-repeat;

padding-top: 50.78%;

position: relative;

background-size: 100%;

& .content {

border: 0px;

}

}

.street-item {

height: 92px;

width: 92px;

position: absolute;

max-width: 92px;

min-width: 70px;

min-height: 92px;

min-height: 70px;

text-align: center;

display: block;

line-height: 92px;

// background: #c1bcbc82;

border-radius: 50%;

// border: 1px solid red;

& span {

color: white;

display: none;

}

}

a:hover {

& span {

display: inline-block;

}

background: #4b42426b;

}

.item1 {

position: absolute;

top: 11.3%;

left: 18.1%;

}

主要js代码*

data() {

return {

style01: {

width: 92,

height: 92,

lineheight: 92,

borderRadius: 50

},

centerWidth: "",

centerHeight: ""

};

},

mounted() {

//立即执行

window.onresize = () => {

return (() => {

this.resizeWin();

})();

};

this.resizeWin();

},

methods: {

resizeWin() {

console.log(document.documentElement.clientWidth);

//当前window 宽

this.centerWidth = document.documentElement.scrollWidth;

//最小宽度 1440

var boxH = 92,

boxW = 92;

if (this.centerWidth > 1440) {

boxH = boxW = Math.ceil((this.centerWidth / 1920) * 92);

// console.log("H", boxH);

} else {

boxH = boxW = Math.ceil((1440 / 1920) * 92);

}

// var item = document.getElementsByClassName("street-item");

console.log(this.style01.width);

this.style01.width = boxW + "px";

this.style01.height = boxH + "px";

this.style01.lineHeight = boxH + "px";

this.style01.borderRadius = boxW / 2 + "px";

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值