Files
blog/sass/_media.scss
2024-10-23 04:35:15 +03:00

157 lines
2.5 KiB
SCSS

img,
video {
display: block;
margin: 1rem auto;
box-shadow: var(--edge-highlight), var(--shadow);
border-radius: var(--rounded-corner);
background-color: var(--fg-muted-1);
max-width: 100%;
&.full,
&[src*="#full"] {
width: 100%;
}
&.full-bleed,
&[src*="#full-bleed"] {
margin-inline-start: calc((-100vw + 100%) / 2);
margin-inline-end: calc((-100vw + 100%) / 2);
width: 100vw;
max-width: 100vw;
}
&.start,
&.end,
&[src*="#start"],
&[src*="#end"] {
margin: 0;
width: 30%;
@media only screen and (max-width: 720px) {
float: none;
margin-inline-start: 0;
margin-inline-end: 0;
margin-block-start: 1rem;
margin-block-end: 1rem;
width: 100%;
}
}
&.start,
&[src*="#start"] {
float: inline-start;
transform-origin: left;
margin-inline-end: 1rem;
:root[dir*="rtl"] & {
transform-origin: right;
}
}
&.end,
&[src*="#end"] {
float: inline-end;
transform-origin: right;
margin-inline-start: 1rem;
:root[dir*="rtl"] & {
transform-origin: left;
}
}
&.pixels,
&[src*="#pixels"] {
image-rendering: pixelated;
}
&.transparent,
&.full-bleed,
&[src*="#transparent"],
&[src*="#full-bleed"] {
box-shadow: none;
border-radius: 0;
background-color: transparent;
}
&.spoiler,
&[src*="#spoiler"] {
opacity: var(--dim-opacity);
clip-path: inset(0 0 0 0 round var(--rounded-corner));
filter: blur(1rem);
&:hover,
&:active {
opacity: 1;
clip-path: inset(-1rem -1rem -1rem -1rem round 0);
filter: none;
}
&.solid,
&[src*="#solid"] {
clip-path: none;
filter: brightness(0) contrast(0.5);
box-shadow: none;
&:hover,
&:active {
filter: none;
}
}
}
}
img {
transition: var(--transition-longer);
&:not(.no-hover, .full-bleed, [src*="#no-hover"], [src*="#full-bleed"], .emoji) {
cursor: zoom-in;
&:hover {
position: relative;
transform: var(--hover);
z-index: 1;
box-shadow: var(--edge-highlight), var(--shadow-raised);
border-radius: 0;
}
&.start,
&.end,
&[src*="#start"],
&[src*="#end"] {
&:hover {
transform: scale(2);
}
@media only screen and (max-width: 720px) {
transform-origin: center;
&:hover {
transform: var(--hover);
}
}
}
&.transparent,
&[src*="#transparent"] {
&:hover {
box-shadow: none;
}
}
}
}
a img:not(.no-hover, .full-bleed, [src*="#no-hover"], [src*="#full-bleed"]) {
cursor: pointer;
}
video:fullscreen {
box-shadow: none;
border-radius: 0;
}
video:-webkit-full-screen {
box-shadow: none;
border-radius: 0;
}