mirror of
https://github.com/maikka39/Personal-Website.git
synced 2026-10-02 14:46:25 +00:00
Add functionality to enlarge figure by clicking on it
This commit is contained in:
@@ -1,26 +0,0 @@
|
|||||||
function resizeItem(masonry, item){
|
|
||||||
let rowHeight = parseInt(window.getComputedStyle(masonry).getPropertyValue('grid-auto-rows'));
|
|
||||||
let rowGap = parseInt(window.getComputedStyle(masonry).getPropertyValue('grid-row-gap'));
|
|
||||||
let rowSpan = Math.ceil((item.querySelector('.masonry-item-content').getBoundingClientRect().height+rowGap)/(rowHeight+rowGap));
|
|
||||||
item.style.gridRowEnd = "span "+rowSpan;
|
|
||||||
}
|
|
||||||
|
|
||||||
function resizeAll(){
|
|
||||||
let masonry = document.getElementsByClassName("masonry")[0];
|
|
||||||
|
|
||||||
if (!masonry) return;
|
|
||||||
|
|
||||||
masonry.style.gridAutoRows = "20px"
|
|
||||||
masonry.style.marginBottom = "80px"
|
|
||||||
let allItems = masonry.getElementsByClassName("masonry-item");
|
|
||||||
|
|
||||||
for (const item of allItems) {
|
|
||||||
resizeItem(masonry, item)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
window.addEventListener("load", () => {
|
|
||||||
resizeAll()
|
|
||||||
|
|
||||||
window.addEventListener("resize", resizeAll);
|
|
||||||
})
|
|
||||||
@@ -1 +1,20 @@
|
|||||||
// Some code could be here ...
|
window.addEventListener("load", () => {
|
||||||
|
for (let figure of document.getElementsByTagName("figure")) {
|
||||||
|
if (figure.classList.contains("post-cover"))
|
||||||
|
continue
|
||||||
|
|
||||||
|
figure.addEventListener("click", () => {
|
||||||
|
figure.classList.toggle("floated-focus")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
document.addEventListener('keydown', (e) => {
|
||||||
|
if (e.keyCode !== 27)
|
||||||
|
return
|
||||||
|
|
||||||
|
for (let figure of document.getElementsByClassName("floated-focus")) {
|
||||||
|
figure.classList.remove("floated-focus")
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|||||||
@@ -184,7 +184,7 @@ figure {
|
|||||||
figcaption {
|
figcaption {
|
||||||
font-size: 1.125rem;
|
font-size: 1.125rem;
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
margin: 1.33em 0;
|
margin-top: 0.4em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
|
|
||||||
@@ -204,11 +204,43 @@ figure {
|
|||||||
&.small {
|
&.small {
|
||||||
max-width: 300px;
|
max-width: 300px;
|
||||||
width: 90%;
|
width: 90%;
|
||||||
|
margin: 5px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.inline {
|
&.inline {
|
||||||
display: inline-table;
|
display: inline-table;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.floated-focus {
|
||||||
|
display: flex;
|
||||||
|
position:fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100vw;
|
||||||
|
max-width: unset;
|
||||||
|
height: 100vh;
|
||||||
|
padding: 3rem;
|
||||||
|
margin: 0;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
|
background-color: #212020ec;
|
||||||
|
z-index: 100;
|
||||||
|
|
||||||
|
figcaption {
|
||||||
|
color: #ddd3c6;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:after {
|
||||||
|
content: "Close";
|
||||||
|
margin-top: 1rem;
|
||||||
|
text-decoration: underline;
|
||||||
|
cursor: pointer;
|
||||||
|
display: block;
|
||||||
|
color: #999288;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
code {
|
||||||
|
|||||||
Reference in New Issue
Block a user