<html>
<head>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
<div id="app">
<h3> Vue Js Display Image from Array</h3>
<div class="image-gallery">
<div v-for="imageObject in imageObjects" :key="imageObject.src" class="image-item">
<img :src="imageObject.src" :alt="imageObject.title">
<p>{{ imageObject.title }}</p>
</div>
</div>
</div>
<script type="module">
const app = Vue.createApp({
data() {
return {
imageObjects: [
{
title: 'image1.jpg',
src: 'https://www.sarkarinaukriexams.com/images/import/sne4446407201.png',
},
{
title: 'image2.jpg',
src: 'https://www.sarkarinaukriexams.com/images/import/sne86811832.png',
},
{
src: 'https://www.sarkarinaukriexams.com/images/import/sne1586776004.png',
title: 'Image 3 Title',
},
// Add more objects with image URLs and titles here
],
}
},
});
app.mount("#app");
</script>
<style>
#app {
margin: 0 auto;
width: 500px;
text-align: center;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.24);
padding: 20px;
}
h3 {
font-size: 24px;
color: #333;
margin-bottom: 20px;
}
.image-gallery {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
}
.image-item {
background-color: #fff;
border: 1px solid #ccc;
border-radius: 5px;
padding: 10px;
text-align: center;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
transition: transform 0.2s ease-in-out;
}
.image-item img {
max-width: 100%;
height: auto;
}
.image-item p {
font-size: 16px;
margin: 10px 0;
color: #333;
}
.image-item:hover {
transform: scale(1.05);
}
</style>
</body>
</html>