1
0
Fork 0
mirror of https://git.sr.ht/~seirdy/seirdy.one synced 2024-12-25 18:22:09 +00:00
seirdy.one/assets/css/main.css
Rohan Kumar 14f2053fc1
Style: reduce horizontal scroll, element borders
All pages should now look good on screens 230px wide (DPR=1), inc. most
feature-phones running e.g. KaiOS.

Add borders to images so they look distinct from the surrounding page.
2022-02-26 17:18:44 -08:00

106 lines
2.6 KiB
CSS

/* CSS that adds the bare minimum for a simple layout */
/* This site's CSS does 10 major things:
* 1. sans-serif instead of serif for low-res screens.
* 2. Consistent font size; <pre> and <code> shouldn't be smaller than
* regular text.
* 3. max text width for readability
* 4. single-row nav links widescreen, multiline nav on narrow screens
* 5. Soft border around code and images to disginguish from the
* surrounding page. Images with white/black or transparent
* backgrounds should have clear dimensions, and multiple consecutive
* inline <code> spans should look separate. A <code> span that
* continues across multiple lines should not look like multiple different
* spans.
* 6. Increase the line-spacing a bit so users on mobile devices can
* tap links more easily.
* 7. Horizontally center non-inline images; left-aligned stick out.
* 8. dark.css changes a few colors if the browser wants dark mode.
* 9. Support unstyled lists: for webmentions, post lists, nav links.
* 10. Narrow screen optimization: less-indented blockquotes, overflow
* behavior for <pre>.
* Everything else is browser defaults:
* default fonts, non-dark-mode colors, etc.
*/
html {
font: 100%/1.5 sans-serif;
margin: auto;
max-width: 50em;
padding: 0 3%;
}
blockquote {
border-left: 6px solid #bbb;
margin-left: 0;
padding-left: 1em;
}
/* nav links should be easy to tap with fat fingers */
nav li {
padding-right: 0.5em;
}
/* Lists without bullets; navlinks, posts lists, webmentions */
.unstyled-list {
padding: 0;
}
.unstyled-list li {
list-style-type: none;
margin-bottom: 0.5em;
}
/* single-line nav on widescreen, multi-line nav on narrow screens */
@media (min-width: 24em) {
nav li {
display: inline;
}
}
/* center images that aren't my indieweb icon */
img:not(.u-photo) {
display: block;
height: auto;
margin: auto;
max-width: 100%;
}
/* Distinguish images from the background in case their color is
* too similar to the page background color */
img,
pre {
border: 1px solid #bbb;
}
code,
pre {
/* browsers make <pre> small for some dumb legacy reason
* and this somehow fixes that. */
/* stylelint-disable -- compatibility hack */
font-family: monospace, monospace;
/* stylelint-enable */
}
/* don't put a border around code within a <pre> block,
* just put the border around the <code> */
:not(pre) > code {
border: 1px solid #bbb;
padding: 0 0.1em;
overflow-wrap: break-word;
}
li.u-comment.h-cite {
overflow-wrap: break-word;
}
/* Allow horizontal scroll in a pre block, but don't clip it vertically */
pre {
/* csslint ignore:start */
overflow: auto visible;
/* csslint ignore:end */
padding: 0.5em;
}