merchi_product_editor
Version:
A React component for editing product images using Fabric.js
102 lines (88 loc) • 1.64 kB
CSS
/* ImageZoomModal styles */
.zoom-modal {
position: fixed;
inset: 0;
background-color: rgba(0, 0, 0, 0.75);
z-index: 999999;
display: flex;
align-items: center;
justify-content: center;
}
.zoom-modal-container {
position: relative;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.close-button {
position: absolute;
top: 1rem;
right: 1rem;
color: white;
z-index: 999999;
font-size: 1.5rem;
cursor: pointer;
}
.close-button:hover {
color: #d1d5db;
}
.nav-button-zoom {
position: absolute;
color: white;
z-index: 999999;
font-size: 2rem;
width: 48px;
height: 48px;
padding: 0;
background-color: rgba(0, 0, 0, 0.2);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.2s;
}
.nav-button-zoom:hover {
color: #d1d5db;
background-color: rgba(0, 0, 0, 0.4);
}
.nav-button-zoom.left {
left: 1.5rem;
}
.nav-button-zoom.right {
right: 1.5rem;
}
.nav-button-zoom.left,
.nav-button-zoom.right {
display: block;
}
/* Hide zoom nav buttons on small screens (mobile) */
@media (max-width: 767px) {
.nav-button-zoom.left,
.nav-button-zoom.right {
display: none;
}
}
.zoom-image-container {
position: relative;
width: 90vw;
height: 90vh;
overflow: hidden;
z-index: 999999;
}
.zoom-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: contain;
transform: translateZ(0);
z-index: 999999;
}
/* Ensure modal is above everything when open */
body.has-preview-modal-open {
overflow: hidden;
}