Home Web Front-end uni-app How to change the background size in uniapp

How to change the background size in uniapp

Apr 18, 2023 pm 03:19 PM

In recent years, with the development of mobile Internet technology, cross-platform development technology based on H5 and JavaScript has gradually come into people's vision. Among them, uniapp is a cross-platform development framework that integrates the Vue framework and encapsulates various mobile APIs, which can help developers quickly build cross-platform applications such as native APPs, WeChat applets, and H5. During the development process of uniapp, sometimes you encounter situations where you need to change the background size. This article will introduce in detail how to change the background size of uniapp and the precautions.

1. How to change the background size of uniapp

1. Use CSS to control the size of the background image

The effect of changing the background size can be achieved by setting the size of the background image. In uniapp, we can use the background-size attribute of CSS to set the size of the background image. The syntax is as follows:

background-size: width height;
Copy after login

Among them, width represents the width of the background image, and height represents the height of the background image, which can take values. For units such as pixels (px), percentage (%), vw and vh. It should be noted that when the set aspect ratio is inconsistent with the original aspect ratio of the picture, it may cause the picture to be stretched or compressed.

2. Use JavaScript to dynamically control the size of the background image

In addition to using CSS to control the size of the background image, we can also use JavaScript to dynamically control it. The specific method is as follows:

(1) Define a container with style in the template file, and define the size, url and other attributes of the background image in data;

<template>
  <div class="bg" :style="&#39;background-image: url(&#39; + imgUrl + &#39;); background-size: &#39; + bgSize + &#39;; height: 100vh&#39;">
  </div>
</template>

<script>
export default {
  data () {
    return {
      imgUrl: 'https://xxx.com/bg.jpg',
      bgSize: '100%',
      windowWidth: uni.getSystemInfoSync().windowWidth,
      windowHeight: uni.getSystemInfoSync().windowHeight
    }
  },
}
</script>

<style>
.bg {
  background-repeat: no-repeat;
  background-position: center;
}
</style>
Copy after login

(2) In mounted In the life cycle function, the width of the background image is dynamically calculated through JavaScript, and the calculation result is assigned to bgSize:

mounted () {
  let img = new Image()
  img.src = this.imgUrl
  let imgRatio = img.width / img.height
  let windowRatio = this.windowWidth / this.windowHeight
  if (imgRatio > windowRatio) { // 图片比窗口宽
    this.bgSize = 'auto 100%'
  } else { // 图片比窗口高
    this.bgSize = '100% auto'
  }
}
Copy after login

2. Notes

1. The background image size should be the same as the container, and Keep original aspect ratio.

2. When using CSS to control the size of the background image, you need to pay attention to the value range of the background-size attribute and prevent the image from stretching or compressing.

3. When using JavaScript to dynamically control the size of the background image, you need to obtain the width and height of the image in the mounted life cycle function to calculate the size of the background image.

4. The screen sizes and resolutions of different devices need to be considered to ensure that the background image adapts to different screen sizes.

5. When setting the size of the background image, you need to pay attention to whether the height of the background container is 100vh to avoid insufficient container height.

In short, in uniapp development, to achieve the effect of changing the background size, it is necessary to master the basic HTML, CSS and JavaScript syntax, combined with the characteristics of the uniapp framework, and flexibly use different methods to achieve it. Hope this article helps you!

The above is the detailed content of How to change the background size in uniapp. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How do I handle local storage in uni-app? How do I handle local storage in uni-app? Mar 11, 2025 pm 07:12 PM

This article details uni-app's local storage APIs (uni.setStorageSync(), uni.getStorageSync(), and their async counterparts), emphasizing best practices like using descriptive keys, limiting data size, and handling JSON parsing. It stresses that lo

How to rename UniApp download files How to rename UniApp download files Mar 04, 2025 pm 03:43 PM

This article details workarounds for renaming downloaded files in UniApp, lacking direct API support. Android/iOS require native plugins for post-download renaming, while H5 solutions are limited to suggesting filenames. The process involves tempor

How to handle file encoding with UniApp download How to handle file encoding with UniApp download Mar 04, 2025 pm 03:32 PM

This article addresses file encoding issues in UniApp downloads. It emphasizes the importance of server-side Content-Type headers and using JavaScript's TextDecoder for client-side decoding based on these headers. Solutions for common encoding prob

How do I use uni-app's geolocation APIs? How do I use uni-app's geolocation APIs? Mar 11, 2025 pm 07:14 PM

This article details uni-app's geolocation APIs, focusing on uni.getLocation(). It addresses common pitfalls like incorrect coordinate systems (gcj02 vs. wgs84) and permission issues. Improving location accuracy via averaging readings and handling

How do I manage state in uni-app using Vuex or Pinia? How do I manage state in uni-app using Vuex or Pinia? Mar 11, 2025 pm 07:08 PM

This article compares Vuex and Pinia for state management in uni-app. It details their features, implementation, and best practices, highlighting Pinia's simplicity versus Vuex's structure. The choice depends on project complexity, with Pinia suita

How do I make API requests and handle data in uni-app? How do I make API requests and handle data in uni-app? Mar 11, 2025 pm 07:09 PM

This article details making and securing API requests within uni-app using uni.request or Axios. It covers handling JSON responses, best security practices (HTTPS, authentication, input validation), troubleshooting failures (network issues, CORS, s

How do I use uni-app's social sharing APIs? How do I use uni-app's social sharing APIs? Mar 13, 2025 pm 06:30 PM

The article details how to integrate social sharing into uni-app projects using uni.share API, covering setup, configuration, and testing across platforms like WeChat and Weibo.

How do I use uni-app's easycom feature for automatic component registration? How do I use uni-app's easycom feature for automatic component registration? Mar 11, 2025 pm 07:11 PM

This article explains uni-app's easycom feature, automating component registration. It details configuration, including autoscan and custom component mapping, highlighting benefits like reduced boilerplate, improved speed, and enhanced readability.

See all articles