动态设置背景图容器大小
起因
最近在做一个官网的效果的时候,出现了背景图过大,导致不同显示器显示的图片大小不一样,和影响下面内容的布局问题。所以记录一下这个坑。
用到的知识
css3
background-position:指定背景图像位置
background-size:指定背景图像的大小
js
onresize:当窗口大小发生变化时触发某一段代码
分析
问题
- 遇到的问题是,1.图片不能根据不同的显示器(不同的窗口大小),调整最佳的大小而显示。2.背景图的容器不能根据不同的显示器(不同的窗口大小),调整自身大小,导致影响下面内容的布局。
解决
- 第一个问题可以通过上述提到的两个css的属性来做,第二个问题通过获取背景容器的宽度,再根据图片的比例,来计算适合的高度即可。
代码演示
CSS
1 |
|
HTML
1 |
|
JS
1 |
|
在Vue中使用
可以在组件的mounted中使用onresize事件,在通过this.$refs来获取到你的容器,然后操作就是一样了
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!