引言
一、Vue基础
1.1 Vue实例
Vue实例是Vue应用的核心。每个Vue应用至少有一个根实例。
const app = Vue.createApp({ /* ... */ });
app.mount('#app');
1.2 数据绑定
Vue使用v-bind
或简写为:
来绑定数据到HTML元素。
<div id="app">
<img v-bind:src="imageUrl">
</div>
1.3 模板语法
Vue模板提供了丰富的语法,如插值表达式、指令、过滤器等。
<div id="app">
<img :src="imageUrl" :alt="imageDescription">
</div>
二、锚点图片的动态布局
2.1 CSS定位
.anchor-image {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
2.2 Vue数据绑定
const app = Vue.createApp({
data() {
return {
imageUrl: 'path/to/image.jpg',
imageDescription: 'Descriptive text for the image'
};
}
});
2.3 动态调整大小
const app = Vue.createApp({
data() {
return {
imageUrl: 'path/to/image.jpg',
imageDescription: 'Descriptive text for the image',
imageWidth: 0,
imageHeight: 0
};
},
mounted() {
const img = new Image();
img.onload = () => {
this.imageWidth = img.width;
this.imageHeight = img.height;
};
img.src = this.imageUrl;
}
});
2.4 使用Vue组件
<template>
<div class="anchor-image">
<img :src="imageUrl" :alt="imageDescription" :width="imageWidth" :height="imageHeight">
</div>
</template>
<script>
export default {
props: {
imageUrl: String,
imageDescription: String
},
data() {
return {
imageWidth: 0,
imageHeight: 0
};
},
mounted() {
const img = new Image();
img.onload = () => {
this.imageWidth = img.width;
this.imageHeight = img.height;
};
img.src = this.imageUrl;
}
};
</script>
<style>
.anchor-image {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
</style>