Updating site CSS
Old Website
The old website's CSS was based on Bootstrap, with some custom styling. Source code can be found here. The code itself was hacked together.
The font is Josefin Slab, which I quite liked for the main page, but I thought it felt too affected for use as the main font for blog posts.
There are issues with the font size of the monospace font used for code blocks.
New Website
The new website takes a minimalist approach to CSS, using system defaults where possible. The full code is 67 lines long, including whitespace and comments, and can be found here.
Font
Josefin Slab has been replaced by the user's system font, for speed and a native
feel. More information about using system fonts in web design can be found in
this
post.
The font-family
used here is the same as the one used by GitHub for Markdown
text formatting.
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
Alignment
The new site removes the Bootstrap dependency. Previously, the content was
centered by offsetting grid columns. Centre alignment is now implemented by
setting margin-left
and margin-right
of the main div
to auto
. Setting
max-width
rather than width
scales down the size of the div
if screen size
is less than 600px
.
.main {
max-width: 600px;
margin: 50px auto 50px;
}
Responsive Images
Bootstrap-style responsive images can be acomplished with the following code:
img {
display: block;
max-width: 100%;
height: auto;
margin: auto;
}
All pages in the new website are compiled from Markdown
. Attaching classes to
the generated HTML
elements is possible, but requires HTML
to be explicitly
written into the Markdown
. Applying CSS to the HTML element itself (rather
than a class each image is assigned to) feels like bad practice, but I chose it
over having to add classes manually.
Code Blocks
Code blocks are again inspired by GitHub's Markdown
rendering, borrowing their
background-color
and border-radius
.
code,
pre {
font-size: 0.95em;
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
background-color: #f7f7f7;
border-radius: 4px;
}
pre {
padding: 1.2em;
}
Hyperlinks
Hyperlink styling introduces the only colour in the website.
a:link {
color: #ff6868;
text-decoration: underline;
}
a:visited {
color: #ff6868;
}
a:hover {
color: white;
background-color: #ff6868;
text-decoration: none;
}
The a:hover
styling is used to 'highlight' hyperlinks when the user hovers
over them, an idea borrowed from Hack CSS.