89 lines
1.7 KiB
CSS
89 lines
1.7 KiB
CSS
/* Figure and image. */
|
|
|
|
@layer base {
|
|
figure,
|
|
img {
|
|
&.image {
|
|
--image-padding: .75rem;
|
|
|
|
@media (min-width: 666px) {
|
|
&.center {
|
|
margin-inline: auto;
|
|
}
|
|
|
|
&.left {
|
|
padding-inline-end: var(--image-padding);
|
|
padding-block-end: var(--image-padding);
|
|
margin: 0;
|
|
float: left;
|
|
clear: both;
|
|
}
|
|
|
|
&.right {
|
|
padding-inline-start: var(--image-padding);
|
|
padding-block-end: var(--image-padding);
|
|
margin: 0;
|
|
float: right;
|
|
clear: both;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
figure {
|
|
/* Add vertical rhythm margins. */
|
|
margin-block: 0 var(--spacing-m);
|
|
|
|
&.image {
|
|
figcaption {
|
|
padding-block-start: var(--image-padding);
|
|
contain: inline-size;
|
|
|
|
/* Set max text line width in main for readability. */
|
|
max-width: var(--max-line-width);
|
|
|
|
/* Nicer text wrap, e.g. no lone word on last line. */
|
|
text-wrap: pretty;
|
|
|
|
@media (min-width: 666px) {
|
|
padding-block-start: 0;
|
|
}
|
|
|
|
p {
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 666px) {
|
|
inline-size: fit-content;
|
|
|
|
&.left {
|
|
figcaption {
|
|
padding-inline-end: var(--image-padding);
|
|
padding-block-end: var(--image-padding);
|
|
}
|
|
}
|
|
|
|
&.right {
|
|
figcaption {
|
|
padding-inline-start: var(--image-padding);
|
|
padding-block-end: var(--image-padding);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&.podcast {
|
|
audio {
|
|
width: 95%;
|
|
}
|
|
}
|
|
}
|
|
|
|
img {
|
|
&.image {
|
|
/* Add vertical rhythm margins. */
|
|
margin-block: 0 var(--spacing-m);
|
|
}
|
|
}
|
|
}
|