feat(theme): rewrite the CSS with nested selectors
This commit is contained in:
parent
394d1556f7
commit
0b8e85342a
3 changed files with 223 additions and 213 deletions
|
@ -92,14 +92,19 @@ header nav [role="link"]:is([aria-current]:not([aria-current="false"]),:hover,:a
|
|||
--pico-text-decoration: none;
|
||||
}
|
||||
|
||||
.container {
|
||||
article :where(a:not([role="button"])) {
|
||||
--pico-text-decoration: none;
|
||||
}
|
||||
|
||||
body > :is(main, footer) {
|
||||
max-width: 40em;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
article :where(a:not([role="button"])) {
|
||||
--pico-text-decoration: none;
|
||||
@media (width >= 1024px) {
|
||||
margin-right: 0;
|
||||
margin-left: 18em;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -115,10 +120,19 @@ article :where(a:not([role="button"])) {
|
|||
backdrop-filter: blur(3px);
|
||||
font-family: var(--pico-font-family-sans-serif);
|
||||
font-weight: bold;
|
||||
|
||||
@media (width >= 1024px) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
img {
|
||||
height: 2em;
|
||||
}
|
||||
}
|
||||
|
||||
.mobile-header img {
|
||||
height: 2em;
|
||||
#menu-close {
|
||||
float: right;
|
||||
padding: 0 1.5em;
|
||||
}
|
||||
|
||||
#menu-close, #menu-close:hover, #menu-toggle {
|
||||
|
@ -126,13 +140,16 @@ article :where(a:not([role="button"])) {
|
|||
background-color: inherit;
|
||||
border: none;
|
||||
text-decoration: none;
|
||||
|
||||
@media (width >= 1024px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--pico-background-color);
|
||||
}
|
||||
|
||||
body > header {
|
||||
& > header {
|
||||
width: 100vw;
|
||||
text-align: center;
|
||||
height: 100vh;
|
||||
|
@ -143,69 +160,8 @@ body > header {
|
|||
z-index: 100;
|
||||
transition: left 0.5s;
|
||||
overflow: hidden auto;
|
||||
}
|
||||
|
||||
body > header.active {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
body > header nav, body > header nav ul {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
body > header .u-logo {
|
||||
width: 5em;
|
||||
}
|
||||
|
||||
|
||||
body > header .title {
|
||||
font-size: 1.5rem;
|
||||
font-weight: bold;
|
||||
font-family: var(--pico-font-family-sans-serif);
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
body > header nav {
|
||||
font-size: 1rem;
|
||||
font-family: var(--pico-font-family-sans-serif);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
body > header nav li {
|
||||
padding: 0;
|
||||
padding: calc( var(--pico-nav-element-spacing-vertical) / 4)
|
||||
calc( var(--pico-nav-element-spacing-horizontal) / 4);
|
||||
}
|
||||
|
||||
body > header a {
|
||||
color: var(--pico-color);
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body > header > a {
|
||||
float: right;
|
||||
padding: 0 1.5em;
|
||||
}
|
||||
|
||||
.menu-primary {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
body > footer p {
|
||||
font-size: 0.7em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media (width >= 1024px) {
|
||||
.mobile-header, #menu-close {
|
||||
display: none;
|
||||
}
|
||||
|
||||
body > header {
|
||||
@media (width >= 1024px) {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
@ -213,11 +169,56 @@ body > footer p {
|
|||
float: left;
|
||||
}
|
||||
|
||||
.container {
|
||||
margin-right: 0;
|
||||
margin-left: 18em;
|
||||
.u-logo {
|
||||
width: 5em;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 1.5rem;
|
||||
font-weight: bold;
|
||||
font-family: var(--pico-font-family-sans-serif);
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--pico-color);
|
||||
padding: 0;
|
||||
|
||||
.menu-primary & {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
nav {
|
||||
font-size: 1rem;
|
||||
font-family: var(--pico-font-family-sans-serif);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
|
||||
ul {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
li {
|
||||
padding: 0;
|
||||
padding: calc( var(--pico-nav-element-spacing-vertical) / 4)
|
||||
calc( var(--pico-nav-element-spacing-horizontal) / 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& > footer{
|
||||
p {
|
||||
font-size: 0.7em;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (width >= 1024px) {
|
||||
.metadata p {
|
||||
display: inline;
|
||||
}
|
||||
|
@ -228,95 +229,29 @@ body > footer p {
|
|||
* Content Styling
|
||||
*/
|
||||
|
||||
.translations {
|
||||
main {
|
||||
.translations {
|
||||
text-align: end;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
|
||||
.translations a {
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main > article {
|
||||
& > article {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
main > article > header {
|
||||
& > header {
|
||||
margin-bottom: calc(2 * var(--pico-block-spacing-vertical));
|
||||
}
|
||||
|
||||
ul.tags, ul.tags li {
|
||||
list-style-type: none;
|
||||
display: inline;
|
||||
padding-left: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
ul > li {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: var(--pico-font-family-sans-serif);
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.7rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.3rem;
|
||||
}
|
||||
|
||||
h2::before {
|
||||
content: "## ";
|
||||
color: var(--markup-color);
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
h3::before {
|
||||
content: "### ";
|
||||
color: var(--markup-color);
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
h4::before {
|
||||
content: "#### ";
|
||||
color: var(--markup-color);
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
h5::before {
|
||||
content: "##### ";
|
||||
color: var(--markup-color);
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
h6::before {
|
||||
content: "###### ";
|
||||
color: var(--markup-color);
|
||||
}
|
||||
|
||||
article header h1, article header p {
|
||||
h1, p {
|
||||
margin-bottom: calc(0.1 * var(--pico-typography-spacing-vertical));
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
article header .category a {
|
||||
.category a {
|
||||
font-family: var(--pico-font-family-sans-serif);
|
||||
font-weight: 700;
|
||||
line-height: var(--pico-line-height);
|
||||
|
@ -324,24 +259,83 @@ article header .category a {
|
|||
text-decoration: none;
|
||||
font-size: 1rem;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
h2 a, h3 a, h4 a, h5 a, h6 a {
|
||||
ul > li {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: var(--pico-font-family-sans-serif);
|
||||
text-align: left;
|
||||
|
||||
a {
|
||||
color: var(--pico-muted-color);
|
||||
text-decoration: none;
|
||||
margin-left: 0.4rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pre {
|
||||
h1 {
|
||||
font-size: 1.7rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.3rem;
|
||||
|
||||
&::before {
|
||||
content: "## ";
|
||||
color: var(--markup-color);
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.2rem;
|
||||
|
||||
&::before {
|
||||
content: "### ";
|
||||
color: var(--markup-color);
|
||||
}
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.1rem;
|
||||
|
||||
&::before {
|
||||
content: "#### ";
|
||||
color: var(--markup-color);
|
||||
}
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1rem;
|
||||
|
||||
&::before {
|
||||
content: "##### ";
|
||||
color: var(--markup-color);
|
||||
}
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 1rem;
|
||||
|
||||
&::before {
|
||||
content: "###### ";
|
||||
color: var(--markup-color);
|
||||
}
|
||||
}
|
||||
|
||||
pre {
|
||||
margin-bottom: calc(1.5 * var(--pico-spacing));
|
||||
}
|
||||
}
|
||||
|
||||
code, kbd, pre {
|
||||
code, kbd, pre {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
}
|
||||
|
||||
a[rel="external"]::after {
|
||||
a[rel="external"]::after {
|
||||
content: "\ecae";
|
||||
font-size: 0.7em;
|
||||
margin-left: 0.2em;
|
||||
|
@ -349,14 +343,17 @@ a[rel="external"]::after {
|
|||
font-style: normal;
|
||||
color: var(--pico-muted-color);
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
figure {
|
||||
figure {
|
||||
max-width: 50%;
|
||||
text-align: center;
|
||||
margin: var(--pico-block-spacing-vertical) auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Admonitions
|
||||
*/
|
||||
|
@ -374,16 +371,20 @@ figure {
|
|||
* Post lists
|
||||
*/
|
||||
|
||||
.h-feed article:not(:last-child) {
|
||||
.h-feed {
|
||||
article{
|
||||
&:not(:last-child) {
|
||||
border-bottom: var(--pico-border-width) solid var(--pico-card-border-color);
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.h-feed article p {
|
||||
p {
|
||||
margin-bottom: calc(0.2 * var(--pico-typography-spacing-vertical));
|
||||
}
|
||||
}
|
||||
|
||||
.h-feed article .p-summary {
|
||||
.p-summary {
|
||||
font-size: 0.9em;
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,10 +30,12 @@
|
|||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<header id="menu" class="h-card">
|
||||
{{ partial "header.html" . }}
|
||||
</header>
|
||||
<main class="container">
|
||||
|
||||
<main>
|
||||
{{- if .IsTranslated }}
|
||||
{{- range .Translations }}
|
||||
<div class="translations">
|
||||
|
@ -47,7 +49,8 @@
|
|||
|
||||
{{ block "main" . }}{{ end }}
|
||||
</main>
|
||||
<footer class="container">
|
||||
|
||||
<footer>
|
||||
{{ partial "footer.html" . }}
|
||||
</footer>
|
||||
</body>
|
||||
|
|
6
stylelint.config.js
Normal file
6
stylelint.config.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
/** @type {import('stylelint').Config} */
|
||||
export default {
|
||||
rules: {
|
||||
"no-descending-specificity": false
|
||||
}
|
||||
};
|
Loading…
Add table
Reference in a new issue