वास्तविक मूल Sass (scss नहीं) में आप पैराग्राफ और सभी शीर्षकों को स्वचालित रूप से सेट करने के लिए नीचे के मिश्रणों का उपयोग कर सकते हैं। 'font-size
।
मुझे यह पसंद है क्योंकि यह बहुत अधिक कॉम्पैक्ट है। और टाइप करने की जल्दी। इसके अलावा, यह समान कार्यक्षमता प्रदान करता है। वैसे भी, यदि आप अभी भी नए वाक्य-विन्यास से चिपके रहना चाहते हैं, तो बेझिझक मेरी Sass सामग्री को यहाँ scss में बदलें:
[CONVERT SASS TO SCSS HERE]
नीचे मैं आपको चार सास मिश्रण देता हूं। आपको अपनी आवश्यकताओं के लिए उनकी सेटिंग्स को ट्विस्ट करना होगा।
=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
आपके द्वारा सेटिंग्स के साथ खेलना समाप्त करने के बाद, बस एक मिक्सिन पर एक कॉल करें - जो है: + config-and-run-font-जनरेटर () । अधिक जानकारी के लिए नीचे दिए गए कोड और टिप्पणियों को देखें।
मुझे लगता है कि आप इसे मीडिया क्वेरी के लिए स्वचालित रूप से कर सकते हैं जैसे कि हेडर टैग के लिए किया जाता है, लेकिन हम सभी अलग-अलग मीडिया प्रश्नों का उपयोग करते हैं, इसलिए यह सभी के लिए उपयुक्त नहीं होगा। मैं एक मोबाइल-प्रथम डिजाइन दृष्टिकोण का उपयोग करता हूं, इसलिए यह है कि मैं ऐसा कैसे करूंगा। इस कोड को कॉपी और उपयोग करने के लिए स्वतंत्र महसूस करें।
कॉपी और पासे को आपके फ़ाइल पर ले जाता है:
=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
अपनी आवश्यकताओं के लिए सभी मिश्रण - आईटी के साथ खेलते हैं! :) और इसके साथ अपने सामान्य कोड के शीर्ष पर इसे कॉल करें:
+config-and-run-font-generator()
इससे यह आउटपुट उत्पन्न होगा। आप परिणामों के विभिन्न सेट उत्पन्न करने के लिए मापदंडों को अनुकूलित कर सकते हैं। हालाँकि, क्योंकि हम सभी अलग-अलग मीडिया प्रश्नों का उपयोग करते हैं, कुछ मिश्रण आपको मैन्युअल रूप से (शैली और मीडिया) संपादित करने होंगे।
उत्पन्न सीएसएस:
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;
}