Dalam Sass asli yang sebenarnya (bukan scss) Anda dapat menggunakan mixin di bawah ini untuk secara otomatis mengatur paragraf dan semua judul ' font-size
.
Saya suka karena jauh lebih ringkas. Dan lebih cepat mengetik. Selain itu, ia menyediakan fungsionalitas yang sama. Bagaimanapun, jika Anda masih ingin tetap menggunakan sintaks - scss baru, maka silakan ubah konten Sass saya menjadi scss di sini:
[CONVERT SASS TO SCSS HERE]
Di bawah ini saya memberi Anda empat mixins Sass. Anda harus menyesuaikan pengaturannya dengan kebutuhan Anda.
=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
Setelah Anda selesai bermain dengan pengaturan, lakukan panggilan pada satu mixin - yaitu: + config-and-run-font-generator () . Lihat kode di bawah dan komentar untuk informasi lebih lanjut.
Saya kira Anda dapat melakukannya secara otomatis untuk kueri media seperti yang dilakukan untuk tag tajuk, tetapi kita semua menggunakan kueri media yang berbeda, jadi itu tidak akan cocok untuk semua orang. Saya menggunakan pendekatan desain mobile-first, jadi ini yang akan saya lakukan. Jangan ragu untuk menyalin dan menggunakan kode ini.
COPY DAN PASTE MIXIN INI KE FILE ANDA:
=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
KONFIGURASI SEMUA CAMPURAN DENGAN KEBUTUHAN ANDA - MAINKAN! :) DAN KEMUDIAN PANGGILANNYA DI ATAS KODE SASS AKTUAL ANDA DENGAN:
+config-and-run-font-generator()
Ini akan menghasilkan output ini. Anda dapat menyesuaikan parameter untuk menghasilkan set hasil yang berbeda. Namun, karena kita semua menggunakan kueri media yang berbeda, beberapa mixin Anda harus mengedit secara manual (gaya dan media).
CSS GENERASI:
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;
}