Im tatsächlichen Original- Sass (nicht scss) können Sie die folgenden Mixins verwenden, um die Absätze und alle Überschriften automatisch festzulegen font-size
.
Ich mag es, weil es viel kompakter ist. Und schneller zu tippen. Davon abgesehen bietet es die gleiche Funktionalität. Wenn Sie sich dennoch an die neue Syntax - scss halten möchten, können Sie meinen Sass-Inhalt hier in scss konvertieren:
[SASS HIER IN SCSS UMWANDELN]
Unten gebe ich Ihnen vier Sass-Mixins. Sie müssen ihre Einstellungen an Ihre Bedürfnisse anpassen.
=font-h1p-style-generator-manual() // You don’t need to use this one. Those are only styles to make it pretty.
=media-query-base-font-size-change-generator-manual() // This mixin sets the base body size that will be used by the h1-h6 tags to recalculate their size in a media query.
=h1p-font-size-generator-auto($h1-fs: 3em, $h1-step-down: 0.3, $body-min-font-size: 1.2em, $p-same-as-hx: 6) // Here you will set the size of h1 and size jumps between h tags
=config-and-run-font-generator() // This one only calls the other ones
Nachdem Sie mit den Einstellungen fertig sind, rufen Sie einfach ein Mixin auf - + config-and-run-font-generator () . Weitere Informationen finden Sie im Code unten und in den Kommentaren.
Ich denke, Sie könnten es automatisch für eine Medienabfrage tun, wie es für Header-Tags getan wird, aber wir alle verwenden unterschiedliche Medienabfragen, so dass es nicht für jeden geeignet wäre. Ich verwende einen Mobile-First-Design-Ansatz, also würde ich das so machen. Fühlen Sie sich frei, diesen Code zu kopieren und zu verwenden.
KOPIEREN UND EINFÜGEN SIE DIESE MISCHUNGEN IN IHRE DATEI:
=font-h1p-style-generator-manual()
body
font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif // google fonts
font-size: 100%
line-height: 1.3em
%headers
line-height: 1em
font-weight: 700
p
line-height: 1.3em
font-weight: 300
@for $i from 1 through 6
h#{$i}
@extend %headers
=media-query-base-font-size-change-generator-manual()
body
font-size: 1.2em
@media screen and (min-width: 680px)
body
font-size: 1.4em
@media screen and (min-width: 1224px)
body
font-size: 1.6em
@media screen and (min-width: 1400px)
body
font-size: 1.8em
=h1p-font-size-generator-auto($h1-fs: 3em, $h1-step-down: 0.3, $body-min-font-size: 1.2em, $p-same-as-hx: 6)
$h1-fs: $h1-fs // Set first header element to this size
$h1-step-down: $h1-step-down // Decrement each time by 0.3
$p-same-as-hx: $p-same-as-hx // Set p font-sieze same as h(6)
$h1-fs: $h1-fs + $h1-step-down // Looping correction
@for $i from 1 through 6
h#{$i}
font-size: $h1-fs - ($h1-step-down * $i)
@if $i == $p-same-as-hx
p
font-size: $h1-fs - ($h1-step-down * $i)
// RUN ONLY THIS MIXIN. IT WILL TRIGGER THE REST
=config-and-run-font-generator()
+font-h1p-style-generator-manual() // Just a place holder for our font style
+media-query-base-font-size-change-generator-manual() // Just a placeholder for our media query font size
+h1p-font-size-generator-auto($h1-fs: 2em, $h1-step-down: 0.2, $p-same-as-hx: 5) // Set all parameters here
KONFIGURIEREN SIE ALLE MISCHUNGEN NACH IHREN BEDÜRFNISSEN - SPIELEN SIE MIT IHM! :) UND RUFEN SIE ES DANN OBEN AUF IHREM TATSÄCHLICHEN SASS-CODE AN:
+config-and-run-font-generator()
Dies würde diese Ausgabe erzeugen. Sie können Parameter anpassen, um verschiedene Ergebnissätze zu generieren. Da wir alle unterschiedliche Medienabfragen verwenden, müssen Sie einige Mixins manuell bearbeiten (Stil und Medien).
GENERIERTES CSS:
body {
font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 100%;
line-height: 1.3em;
word-wrap: break-word; }
h1, h2, h3, h4, h5, h6 {
line-height: 1em;
font-weight: 700; }
p {
line-height: 1.3em;
font-weight: 300; }
body {
font-size: 1.2em; }
@media screen and (min-width: 680px) {
body {
font-size: 1.4em; } }
@media screen and (min-width: 1224px) {
body {
font-size: 1.6em; } }
@media screen and (min-width: 1400px) {
body {
font-size: 1.8em; } }
h1 {
font-size: 2em; }
h2 {
font-size: 1.8em; }
h3 {
font-size: 1.6em; }
h4 {
font-size: 1.4em; }
h5 {
font-size: 1.2em; }
p {
font-size: 1.2em; }
h6 {
font-size: 1em;
}