تایپوگرافی مقدماتی بوت استرپ 4
شیوهنامههای همراه با بوت استرپ، رفتار و تنظیمات پیشفرض مرورگر را بازنویسی میکنند. این بازنویسی با فایل node_modules\bootstrap\scss\_reboot.scss شروع میشود. اگر مجموعهی بوت استرپ را توسط روش معرفی شدهی در مطلب «روشهای مختلف دریافت و نصب بوت استرپ 4» دریافت کرده باشید، کدهای کامل SASS آن، در پوشهی scss این مجموعه، موجود هستند که یکی از آنها فایل reboot است. کار آن نرمال سازی شیوهنامهها، به نحوی است که در مرورگرها مختلف و همچنین وسایل نمایشی متفاوت، یکسان به نظر برسند:
- برای مثال در این فایل از روش اندازه گیری rem استفاده شدهاست تا مدیریت اندازههای آن در سکوهای کاری مختلف قابل کنترل شود.
- در اینجا از margin-top به طور کامل صرفنظر شدهاست، تا بتوان اندازهگیری فواصل بین عناصر را بهتر محاسبه کرد. بوت استرپ 4 تنها یک margin را در پایین تمام عناصر صفحه، تنظیم میکند. بنابراین آگاهی از وجود این پیشفرض، تنظیم فواصل بین عناصر را نیز سادهتر میکند.
- در این فایل در همهجا از خاصیت inherit استفاده شدهاست تا امکان بازنویسی شیوهنامههای آن توسط custom styles ما سادهتر شود.
- پیشفرض دیگری که در این نگارش از بوت استرپ تنظیم شدهاست، border-box میباشد. به این ترتیب اندازه گیری عرض عناصر سادهتر میشوند. برای مثال اگر عرض یک div را مساوی 200px قرار دهید، یک padding پیشفرض نیز برای آن درنظر گرفته شدهاست و padding سفارشی تنظیم شدهی برای آن بیاثر خواهد بود.
- در این نگارش، فونت پیشفرض صفحه، به فونت پیشفرض سیستم تنظیم شدهاست و نه فونت از پیش تعیین شدهی خاصی. از این جهت که این قلمهای سیستمی، دارای ویژگیهای خاصی هستند که آنها را برای سکوهای کاری مختلف، منحصربفرد میکنند.
مثال: نمایش تاثیر بوت استرپ 4 بر روی تایپوگرافی پیشفرض مرورگر
<body> <div class="container"> <section class="content" id="mission"> <h1>Our Commitment <small>to you</small></h1> <p>Wisdom Pet Medicine strives to blend the best in traditional and <em>alternative medicine</em> in the <strong>diagnosis and treatment</strong> of companion animals including dogs, cats, birds, reptiles, rodents, and fish. We apply the wisdom garnered in the <mark>centuries old tradition</mark> of veterinary medicine, to find the safest treatments and cures.</p> <p>We strive to be your pet's medical <del>staff</del> experts from youth through the senior years. <small>We build preventative health care plans for each and every one of our patients, based on breed, age, and sex, so that your pet receives the most appropriate care at crucial milestones.</small> We want to give your pet a long and healthy life.</p> </section> <section class="content" id="services"> <h2>Exotic Pets</h2> <p>We offer <strong>specialized</strong> care for <em>reptiles, rodents, birds,</em> and other exotic pets.</p> <h3>Grooming</h3> <p>Our therapeutic <span>grooming</span> treatments help battle fleas, allergic dermatitis, and other challenging skin conditions.</p> <h4>General Health</h4> <p>Wellness and senior exams, ultrasound, x-ray, and dental cleanings are just a few of our general health services.</p> <h5>Nutrition</h5> <p>Let our nutrition experts review your pet's diet and prescribe a custom nutrition plan for optimum health and disease prevention.</p> <h6>Pest Control</h6> <p>We offer the latest advances in safe and effective prevention and treatment of fleas, ticks, worms, heart worm, and other parasites.</p> <h2>Vaccinations</h2> <p>Our veterinarians are experienced in modern vaccination protocols that prevent many of the deadliest diseases in pets.</p> </section> </div> </body>
با اعمال بوت استرپ
بدون اعمال بوت استرپ
در اینجا دو تصویر راملاحظه میکنید؛ یکی با اعمال bootstrap.min.css به صفحهاست و دیگری با حذف آن از صفحه. به این ترتیب مشاهده میکنید که صرفا اعمال بوت استرپ به یک صفحهی متداول، کیفیت نمایش آنرا با بازنویسی شیوهنامهی پیشفرض مرورگر، به نحو قابل ملاحظهای بهبود بخشیدهاست و آنرا زیباتر کردهاست.
در اینجا تنها المان بوت استرپی که به صفحه اضافه شدهاست و جزو استانداردهای HTML نیست، یک div با کلاس container است:
<body> <div class="container">
در این مثال تاثیر بوت استرپ را بر روی شیوهنامههای پیشفرض خصوصا h1 تا h6، مشاهده میکنید.
روش دیگر تعریف headings در اینجا، استفاده از کلاسهایی با نامهای مشابه است:
<div class="h1">Test div class H1</div>
<div class="display-1">Test div class display-1</div>
همچنین اگر نیاز به بزرگتر نمایش دادن متن قسمت ابتدایی صفحه وجود داشت، میتوان از کلاس Lead استفاده کرد:
<p class="lead">Testing a lead class</p>
کلاسهای کمکی کار با متون در بوت استرپ 4
بوت استرپ 4 به همراه تعدادی کلاس کمکی کار با متون است که نیازهای متداول تایپوگرافی را برآورده میکنند:
1) کلاسهای کمکی محل قرارگیری متون
- کلاس text-justify کار کشیدن و متناسب کردن یک پاراگراف را با گوشههای سمت چپ و راست صفحه انجام میدهد.
- کلاس text-nowrap از شکسته شدن متن به چندین سطر جلوگیری میکند. برای مثال میتواند برای نمایش کدها مناسب باشد.
- کلاس متغیر text-xx-pos برای تعیین محل قرارگیری متن کاربرد دارد:
در اینجا ذکر xx اختیاری است و میتواند sm، برای اندازههای صفحهی بیشتر از 576px و یا md، برای اندازههای صفحهی بیشتر از 768px و یا lg، برای اندازههای صفحهی بیشتر از 992px و یا xl، برای اندازههای صفحهی بیشتر از 1200px باشد. این اندازههای یاد شده را در ادامه بیشتر مشاهده خواهید کرد.
همچنین pos میتواند left ،center و یا right باشد.
برای مثال کلاس text-sm-center به این معنا است که متن مدنظر در break-point ایی به نام sm، یعنی با اندازهی صفحهی بیشتر از 576px، در وسط صفحه نمایش داده خواهد شد.
2) کلاسهای نمایش upper-case و lower-case حروف
- کلاس text-lowercase کار نمایش lower-case کل یک پاراگراف اعمالی را انجام میدهد.
- کلاس text-uppercase کار نمایش upper-case کل یک پاراگراف اعمالی را انجام میدهد.
- کلاس text-capitalize، اولین حرف هر واژه را به صورت بزرگ نمایش میدهد.
3) کلاسهای شیوهی نمایش متون
کلاس font-weight-bold، کلاس font-weight-normal و کلاس font-italic نمایش ضخیم، عادی و یا italic متن را سبب میشوند.
مثال: بررسی تاثیر کلاسهای کمکی کار با متون در بوت استرپ 4
<body> <div class="container"> <section class="content" id="mission"> <h1 class="text-center text-sm-right text-md-left text-uppercase">Our Commitment</h1> <p class="lead text-justify">Wisdom Pet Medicine strives to blend the best in traditional and <em>alternative medicine</em> in the <strong>diagnosis and treatment</strong> of companion animals including dogs, cats, birds, reptiles, rodents, and fish. We apply the wisdom garnered in the <mark>centuries old tradition</mark> of veterinary medicine, to find the safest treatments and cures.</p> <p class="text-nowrap text-capitalize">We strive to be your pet's medical <del>staff</del> experts from youth through the senior years. <small>We build preventative health care plans for each and every one of our patients, based on breed, age, and sex, so that your pet receives the most appropriate care at crucial milestones.</small> We want to give your pet a long and healthy life.</p> </section> <section class="content" id="services"> <div class="display-4">Exotic Pets</div> <p>We <span class="font-weight-bold">offer</span> <strong class="font-weight-normal">specialized</strong> care for <em>reptiles, rodents, birds,</em> and other exotic pets.</p> <h3 class="text-left text-md-center text-sm-right">Grooming</h3> <p>Our therapeutic <span>grooming</span> treatments help battle fleas, allergic dermatitis, and other challenging skin conditions.</p> <h4>General Health</h4> <p>Wellness and senior exams, ultrasound, x-ray, and dental cleanings are just a few of our general health services.</p> <h5>Nutrition</h5> <p>Let our nutrition experts review your pet's diet and prescribe a custom nutrition plan for optimum health and disease prevention.</p> <h6>Pest Control</h6> <p>We offer the latest advances in safe and effective prevention and treatment of fleas, ticks, worms, heart worm, and other parasites.</p> <h2>Vaccinations</h2> <p>Our veterinarians are experienced in modern vaccination protocols that prevent many of the deadliest diseases in pets.</p> </section> </div> </body>
در اینجا اگر کلاس text-right را به heading اضافه کنیم:
<h1 class="text-right">Our Commitment <small>to you</small></h1>
و یا میتوان این کلاسها را با هم ترکیب کرد:
<h1 class="text-center text-sm-right">Our Commitment <small>to you</small></h1>
- متن h1 در حالت عادی در وسط صفحه نمایش داده شود.
- اما متن مدنظر در break-point ایی به نام sm، یعنی با اندازهی صفحهی بیشتر از 576px، در سمت راست صفحه نمایش داده خواهد شد.
این اعداد توسط افزونهی ViewPort نمایش داده شدهاند.
همچنین تاثیر text-justify را نیز به اولین پاراگراف
<p class="lead text-justify">
و یا اگر text-nowrap را به پاراگرافی اعمال کنیم:
<p class="text-nowrap">
سبب نمایش یک سطری آن خواهد شد که در اینجا با پدید آمدن یک اسکرول بار افقی، قابل ملاحظهاست.
کلاسهای کمکی کار با لیستها و نقل قولها در بوت استرپ 4
بوت استرپ 4 به همراه کلاسهایی کمکی برای کار با لیستها و نقل قولها است؛ مانند:
- کلاس list-unstyled سبب حذف bullets از یک لیست میشود.
- برای ایجاد لیستهای Inline میتوان از کلاس list-inline بر روی المان UL و سپس list-inline-item بر روی هر LI آن، کمک گرفت.
<body> <div class="container"> <section class="content" id="services"> <h2>Exotic Pets</h2> <p>We offer <strong>specialized</strong> care for <em>reptiles, rodents, birds,</em> and other exotic pets.</p> <ul class="list-unstyled"> <li>Grooming</li> <li>General Health</li> <li>Nutrition</li> <li>Pest Control</li> <li>Vaccinations</li> </ul> <ul class="list-inline"> <li class="list-inline-item">Grooming</li> <li class="list-inline-item">General Health</li> <li class="list-inline-item">Nutrition</li> <li class="list-inline-item">Pest Control</li> <li class="list-inline-item">Vaccinations</li> </ul> </section> </div> </body>
در حالت لیست inline، آیتمهای لیست از چپ به راست در یک سطر نمایش داده میشوند. برای مثال میتواند برای نمایش breadcrumbs در یک سایت مناسب باشد.
همچنین برای نمایش نقل قولها میتوان از کلاس blockquote و برای نمایش بهتر امضای آن از کلاس blockquote-footer استفاده کرد:
<body> <div class="container"> <section class="content" id="testimonials"> <h2>Testimonials</h2> <blockquote> During the summer, our rabbit, Tonto, began to have severe redness and itching on his belly and feet. I'm very thankful to the veterinarians and staff at Wisdom for the excellent care Tonto received, and for nipping his allergies in the bud, so to speak. Jane </blockquote> <blockquote class="blockquote text-right"> When Samantha, our Siamese cat, began sleeping all the time and urinating excessively, we brought her to see the specialists at Wisdom. Now, two years later, Samantha is still free from any complications of diabetes, and her blood sugar regularly tests normal. <div class="blockquote-footer"> The McPhersons </div> </blockquote> </section> </div> </body>
در اینجا دو blockquote را مشاهده میکنید. مورد اول بدون کلاس blockquote است و دومی به همراه این کلاس و یک footer تعریف شدهاست. همچنین میتوان کلاسهایی مانند text-right را نیز به blockquote اضافه کرد.
البته در نگارش 4، حاشیهی خاکستری blockquote که در نگارش سوم آن وجود داشت، حذف شدهاست.
کار با رنگها در بوت استرپ 4
بوت استرپ، به همراه تعدادی کلاس مخصوص رنگها است که از آن در همه جا استفاده میکند؛ مانند رنگهای دکمهها، پس زمینهها و متون.
1) کلاسهای تعیین رنگ متون:
برای مثال در اینجا بجای Color میتوان یکی از ثوابت ذیل آنرا قید کرد؛ مانند text-primary و یا text-danger
این کلاسها برای تعیین رنگ متون و همچنین لینکها کاربرد دارند.
2) کلاسهای تعیین رنگ پس زمینه:
در اینجا برای نمونه بجای Color میتوان یکی از ثوابت ذیل آنرا قید کرد؛ مانند bg-primary و یا bg-danger
مثال: اعمال رنگهای زمینهای بوت استرپ
<body> <div class="container"> <section class="content" id="services"> <h2 class="text-danger">Our Mission</h2> <p class="bg-danger text-white">Wisdom Pet Medicine strives to blend the best in traditional and alternative medicine in the diagnosis and treatment of companion animals including dogs, cats, birds, reptiles, rodents, and fish. We apply the wisdom garnered in the centuries old tradition of veterinary medicine, to find the safest treatments and cures.</p> <ul> <li><a class="text-warning" href="#">Grooming</a></li> <li><a href="#">General Health</a></li> <li><a href="#">Nutrition</a></li> <li><a href="#">Pest Control</a></li> <li><a href="#">Vaccinations</a></li> </ul> </section> <section class="content" id="testimonials"> <h2>Testimonials</h2> <blockquote class="blockquote bg-faded text-info"> During the summer, our rabbit, Tonto, began to have severe redness and itching on his belly and feet. I'm very thankful to the veterinarians and staff at Wisdom for the excellent care Tonto received, and for nipping his allergies in the bud, so to speak. <div class="blockquote-footer"> Jane </div> </blockquote> </section> </div> </body>
در اینجا مثالهایی را از اعمال کلاسهای رنگهای بوت استرپ مشاهده میکنید. همچنین امکان ترکیب آنها مانند مثال زیر نیز وجود دارد:
<p class="bg-danger text-white">
کدهای کامل این قسمت را از اینجا میتوانید دریافت کنید: Bootstrap4_02.zip