Files
LifeFaq/static/sass/components/_modals.scss

177 lines
4.2 KiB
SCSS
Raw Normal View History

2024-12-17 17:10:37 +01:00
// Variables
2024-12-17 22:03:47 +01:00
$modal-bg: rgba(0, 0, 0, 0.7); // Modal baggrund
2024-12-17 17:10:37 +01:00
$modal-blur: 8px;
$modal-z-index: 999999;
$modal-content-bg: #fff;
$modal-content-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
2024-12-17 22:03:47 +01:00
$button-color: #000;
2024-12-17 17:10:37 +01:00
2024-12-17 22:03:47 +01:00
// Global reset for button styles (kun på forsiden)
.open,
.open_inv {
all: unset; // Fjerner globale værdier som border og baggrund
display: inline-block;
padding: 10px 15px;
margin: 10px;
font-size: 16px;
color: $button-color;
text-align: center;
cursor: pointer;
transition: transform 0.3s ease, color 0.3s ease;
&:hover {
transform: scale(1.05); // Let zoom-effekt
color: darken($button-color, 20%);
}
}
// Rotation på forsiden
.open {
transform: rotate(10deg);
}
.open_inv {
transform: rotate(-10deg);
}
// Modal background
2024-12-17 17:10:37 +01:00
.modal {
position: fixed;
top: 0;
left: 0;
2024-12-19 20:20:07 +01:00
width: 100vw;
height: 100vh;
2024-12-17 22:03:47 +01:00
background: $modal-bg;
backdrop-filter: blur($modal-blur);
2024-12-17 17:10:37 +01:00
display: flex;
justify-content: center;
align-items: center;
2024-12-17 22:03:47 +01:00
z-index: $modal-z-index;
2024-12-17 17:10:37 +01:00
}
// Modal content
.modal-content {
background-color: $modal-content-bg;
2024-12-19 20:20:07 +01:00
padding: 5px;
2024-12-17 22:03:47 +01:00
border-radius: 8px;
2024-12-17 17:10:37 +01:00
box-shadow: $modal-content-shadow;
2024-12-17 22:03:47 +01:00
position: relative;
2024-12-19 20:20:07 +01:00
min-width: 70vw;
min-height: 70vh;
max-width: 95vw; // Maks bredde på 90% af viewportens bredde
max-height: 95vh; // Maks højde på 90% af viewportens højde
overflow: auto; // Tilføj scroll, hvis indholdet bliver for stort
justify-content: center; /* Centrer billedet i modal horisontalt */
align-items: center; /* Centrer billedet i modal vertikalt */
flex-direction: column; /* Knapper placeres nedenunder billedet */
2024-12-17 22:03:47 +01:00
img {
height: auto;
2024-12-19 20:20:07 +01:00
max-width: 90vw; // Maks bredde på 90% af viewportens bredde
max-height: 90vh; // Maks højde på 90% af viewportens højde
2024-12-17 22:03:47 +01:00
object-fit: contain;
2024-12-19 20:20:07 +01:00
border-radius: 15px;
margin: 0 auto;
2024-12-17 21:28:10 +01:00
}
2024-12-17 22:03:47 +01:00
// Modal knapper (bevarer globale værdier)
.modal-buttons {
display: flex;
justify-content: center;
position: relative;
margin-top: 20px;
2024-12-17 17:10:37 +01:00
2024-12-17 22:03:47 +01:00
button {
2024-12-17 22:34:05 +01:00
position: relative; /* Tillader z-index at tage effekt */
2024-12-19 20:20:07 +01:00
margin: 20px;
2024-12-17 22:03:47 +01:00
cursor: pointer;
2024-12-17 22:34:05 +01:00
transition: transform 0.3s ease, z-index 0.3s ease;
2024-12-17 22:03:47 +01:00
&:hover {
transform: scale(1.05);
2024-12-17 22:34:05 +01:00
z-index: 3; /* Hæver knappen øverst ved hover */
2024-12-17 22:03:47 +01:00
}
}
2024-12-17 21:28:10 +01:00
}
2024-12-17 19:06:34 +01:00
2024-12-17 22:03:47 +01:00
.close-btn {
position: absolute;
transform: translateX(-50%);
cursor: pointer;
2024-12-17 21:28:10 +01:00
}
}
2024-12-19 20:20:07 +01:00
.next-btn {
cursor: pointer;
position: absolute;
right: 20px;
transition: background-color 0.3s ease;
}
2024-12-17 22:03:47 +01:00
// Thumbnail styling (forsiden)
.thumbnail {
width: 150px;
height: 100px;
object-fit: cover;
border-radius: 5px;
cursor: pointer;
transition: transform 0.3s ease;
2024-12-17 21:28:10 +01:00
2024-12-17 22:03:47 +01:00
&:hover {
transform: scale(1.05);
2024-12-17 21:28:10 +01:00
}
}
2024-12-18 21:39:19 +01:00
// Container til stablede knapper (reverseret)
.button-stack {
display: flex;
flex-direction: column-reverse; // Reverserer rækkefølgen af knapperne
position: relative;
2024-12-18 21:50:04 +01:00
// margin: 50px auto;
2024-12-18 21:39:19 +01:00
align-items: center; // Centrer knapperne horisontalt
2024-12-18 21:50:04 +01:00
margin-bottom: 120px;
2024-12-18 21:39:19 +01:00
}
// Knapper
.stacked-button {
all: unset; // Fjerner globale knap-styles
position: absolute; /* Absolut position for overlap */
top: 50%;
left: 50%;
transform-origin: center;
width: 100px; /* Standardbredde */
height: 50px; /* Standardhøjde */
background-color: transparent; // Ingen baggrundsfarve
cursor: pointer;
transition: transform 0.3s ease, z-index 0.3s ease;
&:hover {
transform: translate(-50%, -50%) scale(1.1); /* Zoom ved hover */
z-index: 10; /* Hover sætter knappen øverst */
}
}
// Første knap (knap0): Altid øverst
.stacked-button:nth-child(1) {
z-index: 100; /* Højeste z-index for at sikre, at den altid ligger øverst */
transform: translate(-50%, -50%) scale(1.2); /* Gør knappen lidt større */
}
// Rotation og position for de andre knapper
.stacked-button:nth-child(2) {
transform: translate(-50%, -60%) rotate(-15deg);
z-index: 2;
}
.stacked-button:nth-child(3) {
transform: translate(-50%, -50%) rotate(10deg);
z-index: 3;
}
.stacked-button:nth-child(4) {
transform: translate(-50%, -40%) rotate(-10deg);
z-index: 4;
}
.stacked-button:nth-child(5) {
transform: translate(-50%, -30%) rotate(15deg);
z-index: 5;
}