تخفیف ویژه

آموزش استفاده از mjml برای ساخت ایمیلهای واکنشگرا (جلسه 9) - طراحی قالب خبرنامه - قسمت 1

دسته بندی: آموزش
زمان مطالعه: 4 دقیقه
۰۸ آبان ۱۳۹۵

mjml

در این جلسه با ادامه آموزش mjml در خدمت شما هستیم.

همونطور که اطلاع دارید در جلسات قبل یک قالب ساده رو با همدیگه درست کردیم و مراحل انجام اون رو خدمتتون عرض کردم. در این جلسه قصد داریم یک قالب خبرنامه رو با همدیگه کار کنیم و اونو قدم به قدم با هم بسازیم. نتیجه نهایی بصورت زیر خواهد بود:newsletter template

همونطور که در تصویر بالا میبینید، قالب از 7 ردیف یا Section تشکیل شده و بصورت زیر هستن:

  1. Header
  2. Banner
  3. Article : تصویر و متن قرار میگیره
  4. Editor Header
  5. Editor Image
  6. Article : تصویر و متن قرار میگیره
  7. Social : آیکونهای مربوط به شبکه اجتماعی قرار میگیره

پس برای اینکار باید 7 المنت mj-section قرار بدیم. بصورت زیر:

<mjml>
  <mj-body>
    <mj-container>

      <!-- Header -->
      <mj-section></mj-section>

      <!-- Banner -->
      <mj-section></mj-section>

      <!-- Article -->
      <mj-section></mj-section>

      <!-- Editor Header -->
      <mj-section></mj-section>

      <!-- Editor Image -->
      <mj-section></mj-section>

      <!-- Article -->
      <mj-section></mj-section>

      <!-- Social -->
      <mj-section></mj-section>

    </mj-container>
  </mj-body>
</mjml>

خب حالا باید محتویات هر ردیف رو درون خودش قرار بدیم. از ردیف اول شروع میکنیم. همونطور که در طرح نهایی قرار داده شده مشخص کردم، یک تصویر بصورت وسط چین شده در اون قرار داره. بعد از اون هم یک خط افقی کشیده شده و از ردیف یا section پایینی اون رو مجزا کرده. تصویر رو با استفاده از المنت mj-image و اون خط افقی رو با استفاده از المنت mj-divider به وجود میاریم. پس کد section اول بصورت زیر خواهد بود:

<mj-section padding-bottom="0" background-color="white">
	<mj-column width="100%">
		<mj-image src="https://avatars0.githubusercontent.com/u/16115896?v=3&s=200" width="50px"/>

		<mj-divider	padding-top="20" padding-bottom="0" padding-left="0" padding-right="0" border-width="1px" border-color="#f8f8f8"/>
	</mj-column>
</mj-section>

میبینید که با استفاده از ویژگی background-image، رنگ پس زمینه ردیف رو سفید کردیم و همچنین padding اون از پایین رو برابر با 0 قرار دادیم. میبینید که آیکونمون رو با استفاده از mj-image قرار دادیم و آدرس تصویر رو درون ویژگی src گذاشتیم. همچنین عرض تصویر رو 50 پیکسل قرار دادیم. با استفاده از المنت mj-divider یک خط افقی رو رسم کردیم و ضخامت اون رو برابر با 1 در نظر گرفتیم و با استفاده از border-color رنگشو مشخص کردیم.

حالا میریم سراغ ردیف بعدی که درون اون یک متن وسط چین قرار داره. کدهای زیر رو برای اون قرار میدیم:

<mj-section padding-bottom="0" background-color="#fcfcfc">
  <mj-column width="100%">
    <mj-text align="center" font-size="20" color="grey" font-family="Helvetica Neue" font-weight="200">
      Here is what you've missed
    </mj-text>
    <mj-divider horizontal-spacing="0" vertical-spacing="0" padding-top="20" padding-bottom="0" padding-left="0" padding-right="0" border-width="1px" border-color="#f8f8f8" />
  </mj-column>
</mj-section>

میبینید که با استفاده از المنت mj-text یک متن کوتاه رو قرار دادیم و اون رو با استفاده از ویژگی align وسط چین کردیم. در آخر اون هم یک خط افقی دیگه قرار دادیم. اگر کدهای بالا رو به HTML تبدیل کنیم و اونا رو در مرورگر ببینیم، بصورت زیر خواهد بود:newsletter template 2

میبینید که تا اینجا ردیف اول و دوم ساخته شده. برای ساختن ردیف سوم کدهای زیر رو قرار میدیم:

<mj-section background-color="white">
  <mj-column width="130">
    <mj-image src="https://mjml.io/assets/img/responsive.png" width="100" />
  </mj-column>
  <mj-column width="350">
    <mj-text align="left" font-size="20" color="grey">
      Sed ut perspiciatis
    </mj-text>
    <mj-text align="left" color="grey">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
    </mj-text>
  </mj-column>
</mj-section>

همونطور که میبینید، این ردیف، دو ستونه هست. بهمین دلیل دو المنت mj-column درون اون قرار میگیره. در ستون اولی که همون ستون سمت چپ هست، یک تصویر و در ستون سمت راست یک عنوان و یک پاراگراف قرار میگیره. خروجی تا اینجا در مرورگر بصورت زیر هست:newsletter template 3

در جلسه بعد این قالب رو به پایان میرسونیم.

امیدوارم از این جلسه خوشتون اومده باشه.

موفق باشید

یا علی

چه امتیازی به این مقاله می دید؟
نویسنده محمد اسفندیاری
بسیار به طراحی وب علاقمندم و به سرعت در حال یادگیری تمام مباحث پیشرفته هستم و دوست دارم که به دیگران هم یاد بدهم.

جلسات دوره

نظرات کاربران

اولین دیدگاه این پست رو تو بنویس !

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.