موضوعات وبسایت : ارز دیجیتال اخبار

آموزش responsive در css

آموزش responsive در css

نویسنده : علیرضا | زمان انتشار : 15 دی 1399 ساعت 14:26

19-Advanced-CSS-696x452.jpg

طراحی واکنش گرا (Responsive) چیست؟

طراحی واکنش گرا صفحات وب شما را در تمام دستگاه ها (موبایل، لپتاپ، تبلت و …) به زیبایی نشان می دهد. شاید ابتدا پیچیده به نظر بیاید اما برای طراحی واکنش گرا تنها به HTML و CSS نیاز داریم! بنابراین نیازی به برنامه ی خاص یا زبان هایی مانند جاوا اسکریپت نیست. در واقع در طراحی واکنش گرا نباید اطلاعات را برای جا شدن در صفحات کوچک حذف کرد، بلکه باید شکل آن ها را تغییر داد تا بتوانند در صفحه جا شوند.

یک مثال از طراحی واکنش گرا را در کد زیر می بینید:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

<!DOCTYPE html>

<html>

<head>

<meta name="viewport"content="width=device-width, initial-scale=1.0">

<style>

* {

  box-sizing:border-box;

}

.row::after {

  content:"";

  clear:both;

  display:table;

}

[class*="col-"] {

  float:left;

  padding:15px;

}

html {

  font-family:"Lucida Sans",sans-serif;

}

.header {

  background-color:#9933cc;

  color:#ffffff;

  padding:15px;

}

.menu ul {

  list-style-type:none;

  margin:0;

  padding:0;

}

.menu li {

  padding:8px;

  margin-bottom:7px;

  background-color:#33b5e5;

  color:#ffffff;

  box-shadow:01px3pxrgba(0,0,0,0.12),01px2pxrgba(0,0,0,0.24);

}

.menu li:hover {

  background-color:#0099cc;

}

.aside {

  background-color:#33b5e5;

  padding:15px;

  color:#ffffff;

  text-align:center;

  font-size:14px;

  box-shadow:01px3pxrgba(0,0,0,0.12),01px2pxrgba(0,0,0,0.24);

}

.footer {

  background-color:#0099cc;

  color:#ffffff;

  text-align:center;

  font-size:12px;

  padding:15px;

}

/* For mobile phones: */

[class*="col-"] {

  width:100%;

}

@media only screen and (min-width: 600px) {

  /* For tablets: */

  .col-s-1 {width:8.33%;}

  .col-s-2 {width:16.66%;}

  .col-s-3 {width:25%;}

  .col-s-4 {width:33.33%;}

  .col-s-5 {width:41.66%;}

  .col-s-6 {width:50%;}

  .col-s-7 {width:58.33%;}

  .col-s-8 {width:66.66%;}

  .col-s-9 {width:75%;}

  .col-s-10 {width:83.33%;}

  .col-s-11 {width:91.66%;}

  .col-s-12 {width:100%;}

}

@media only screen and (min-width: 768px) {

  /* For desktop: */

  .col-1 {width:8.33%;}

  .col-2 {width:16.66%;}

  .col-3 {width:25%;}

  .col-4 {width:33.33%;}

  .col-5 {width:41.66%;}

  .col-6 {width:50%;}

  .col-7 {width:58.33%;}

  .col-8 {width:66.66%;}

  .col-9 {width:75%;}

  .col-10 {width:83.33%;}

  .col-11 {width:91.66%;}

  .col-12 {width:100%;}

}

</style>

</head>

<body>

<div class="header">

  <h1>Chania</h1>

</div>

<div class="row">

  <div class="col-3 col-s-3 menu">

    <ul>

      <li>The Flight</li>

      <li>The City</li>

      <li>The Island</li>

      <li>The Food</li>

    </ul>

  </div>

  <div class="col-6 col-s-9">

    <h1>The City</h1>

    <p>Chania isthe capital of the Chania region on the island of Crete.The city can be divided intwo parts,the old town andthe modern city.</p>

  </div>

  <div class="col-3 col-s-12">

    <div class="aside">

      <h2>What?</h2>

      <p>Chania isacity on the island of Crete.</p>

      <h2>Where?</h2>

      <p>Crete isaGreek island inthe Mediterranean Sea.</p>

      <h2>How?</h2>

      <p>You can reach Chania airport from all over Europe.</p>

    </div>

  </div>

</div>

<div class="footer">

  <p>Resize the browser window tosee how the content respond tothe resizing.</p>

</div>

</body>

</html>

مشاهده ی خروجی در JSBin

اگر متوجه کدها نمی شوید نگران نباشید، در مورد آن ها بعدا بحث خواهیم کرد. فعلا روی خروجی کد بالا تمرکز کرده و سعی کنید با کوچک و بزرگ تر کردن پنجره ی مرورگر متوجه تغییراتی که در صفحه اتفاق می افتند، بشوید.

برای کار با طراحی ریسپانسیو با CSS و توضیح آن باید با مفاهیم خاصی آشنا بود که در طول دوره آن ها را توضیح می دهیم. بهتر است با viewport شروع کنیم.

viewport چیست؟

viewport قسمتی از صفحه است که کاربر آن را می بیند. ممکن است با خودتان بگویید مگر کاربر تمام صفحه را نمیبیند؟ منظور ما صفحه ی وب است نه صفحه ی نمایشگر! به تصویر زیر نگاه کنید:

viewport-min.pngتفاوت viewport در دو دستگاه مختلف با اندازه ی صفحه ی مختلف

همانطور که می بینید هر دستگاه بر اساس سایز صفحه ی خودش، قسمتی از صفحه ی وب را می بیند. به طور مثال دستگاه سمت راست قسمتی از تصویر منظره در صفحه ی ما را نمی بیند. بنابراین به قسمتی که دیده می شود viewport می گوییم.

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

خوشبختانه در HTML5 توسعه دهندگان اجازه ی کنترل viewport را دارند. برای این کار باید با یکی از تگ های <meta> کار کنیم:

<meta name="viewport"content="width=device-width, initial-scale=1.0">

این تگ متا به شما اجازه می دهد که نحوه ی بزرگنمایی و ابعاد صفحه را کنترل کنید. قسمت width=device-width یعنی عرض صفحه مطابق با عرض نمایشگر کاربر باشد (یعنی بر اساس سایز صفحه تغییر کند). قسمت initial-scale=1.0 نیز برای تعیین بزرگنمایی اولیه است؛ اگر این مقدار بیشتر از 1 باشد، پس از آنکه مرورگر صفحه ی وب را بارگذاری کرد به همان نسبت در صفحه زوم می کند.

در قسمت زیر دو مثال آورده ایم و در یکی از آن ها تگ meta را قرار داده ایم. تفاوت آن ها را ببینید:

مثال اول – بدون تگ viewport

<!DOCTYPE html>

<html>

<body>

<p><b>Tounderstand thisexample,you should open thispage onaphone oratablet.</b></p>

<img src="https://www.w3schools.com/css/img_chania.jpg"alt="Chania"width="460"height="345">

<p>

Lorem ipsum dolor sit amet,consectetuer adipiscing elit,sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

Ut wisi enim ad minim veniam,quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.Duis autem vel eum iriure dolor inhendrerit invulputate velit esse molestie consequat,vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.

Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.

</p>

</body>

</html>

مشاهده ی خروجی در JSBin

مثال دوم – با تگ viewport

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<!DOCTYPE html>

<html>

<head>

<meta name="viewport"content="width=device-width, initial-scale=1.0"/>

<style>

img {

    max-width:100%;

    height:auto;

}

</style>

</head>

<body>

<p><b>Tounderstand thisexample,you should open thispage onaphone oratablet.</b></p>

<img src="https://www.w3schools.com/css/img_chania.jpg"alt="Chania"width="460"height="345">

<p>

Lorem ipsum dolor sit amet,consectetuer adipiscing elit,sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

Ut wisi enim ad minim veniam,quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.Duis autem vel eum iriure dolor inhendrerit invulputate velit esse molestie consequat,vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.

Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.

</p>

</body>

</html>

مشاهده ی خروجی در JSBin

برای درک تفاوت بین این دو مثال باید به صفحه ی خروجی این دو کد رفته و با کوچک و بزرگ کردن صفحه متوجه تغییر تصاویر بشوید.

برخی از قوانین طراحی واکنش گرا

تمام کاربران (چه با گوشی و چه با کامپیوتر یا تبلت) برای نمایش محتوای وب از اسکرول عمودی استفاده می کنند اما نباید اجازه دهید که صفحات شما اسکرول افقی بگیرند! اگر کاربران شما برای دیدن محتوای صفحاتتان مجبور به اسکرول افقی یا زوم کردن باشند طراحی سایت شما اصلا قابل قبول نیست و باید سریعا آن را تغییر دهید. این اولین قانون طراحی واکنش گرا است!

قوانین دیگر در طراحی واکنش گرا به طور خلاصه عبارت اند از:

  • از عناصر بزرگ با عرض ثابت استفاده نکنید: به طور مثال اگر تصویری بزرگ تر از viewport باشد باعث می شود صفحه ی ما اسکرول افقی بخورد بنابراین همیشه عرض عناصر خود را تنظیم کنید.
  • عناصر را وابسته به Viewport نکنید: وابستگی عناصر به viewport برای نمایش صحیح کار بسیار اشتباهی است. از آن جا که سایز صفحات و تعداد پیکسل های آن ها بین دستگاه های مختلف اختلاف شدیدی دارد نباید نمایش صحیح عناصر خود را وابسته به Viewport خاصی کنیم، بلکه باید هر عنصری برای هر صفحه ای نمایش داده شود.
  • از Media Query ها برای ایجاد استایل های متفاوت در عرض های متفاوت استفاده کنید: قبلا در مورد Media Query ها صحبت کرده ایم. اگر در این مورد اطلاعی ندارید به قسمت قبل مراجعه کنید.
  • به جای استفاده از واحدهای ثابت از واحدهای نسبی استفاده کنید: واحد های نسبی مانند درصد (%) به انعطاف پذیری صفحات شما کمک می کنند، مخصوصا زمانی که مربوط به موقعیت دهی (positioning) باشند.

امیدوارم به اندازه ی کافی با مفاهیم اولیه ی طراحی ریسپانسیو با css آشنا شده باشید. در قمست بعد به سراغ grid ها می رویم.

roxo-instagram-wide-banner1.jpg

خرید کتاب مقدس معامله گری براساس کندل استیک با تخفیف ويژه

به مدت محدود فقط تا چهارشنبه 2 خرداد


🔶حجم کتاب: 7.1 مگابایت

🔶تعداد صفحات: 148 صفحه

🔶قابل مطالعه روی موبایل، لپ تاپ یا کامپیوتر

⭐ارزش کتاب معامله گری بر اساس کندل استیک این کتاب در سایت رسمی آن به قیمت ۴۷ دلار به فروش می رسد. و به جرات می‌توان گفت هر تریدر حرفه‌‌ای حداقل یک بار این کتاب را خوانده است. اگر میخواهید فقط یک کتاب در زمینه کندل استیکها در بازارهای مالی مطالعه کنید فقط همین کتاب را بخوانید.


بلافاصه بعد از پرداخت لینک دانلود برای شما نمایش داده خواهد شد و میتوانید فایل را دریافت کنید


وارد کردن نام و شماره موبایل اختیاری می‌باشد.
29 هزار تومان 65 هزارتومان

تعداد خرید موفق تا این لحظه 468 نفر

پرداخت با کلیه کارت های عضو شتاب


در صورت بروز هرگونه مشکل در هر مرحله‌ای از خرید، میتوانید با پشتیبانی آنلاین و یا شماره 09018816095 (واتس‌آپ) در تماس باشید.

نظرات

رضاخانی

کیفیت بسیار عالی و محتوا به شدت مفید هست
برای دوستانی میخوان کار ترید کنن توصیه میکنم

مدیر سایت

ممنون از دیدگاه ارزشمندتون، خوشحالیم که تونسته براتون مفید باشه


Zahra

سلام چطوری میتونم کتاب رابگیرم

مدیر سایت

سلام، روی دکمه سبز رنگ "خرید و دانلود فوری" که کلیک کنید بلافاصله بعد از پرداخت، میتونید کتاب رو دانلود کنید و روی گوشی یا لپتاپ مطالعه کنید


حسین میرزانیا

ببخشید من بعد از خرید اینترنتم قطع شد و نتونستم دانلود کنم باید چیکار کنم
لطفا راهنماییم کنید

مدیر سایت

سلام
جای نگرانی نیست
لطفا در واتس آپ یا SMS به پشتیبانی به شماره 09018816095 پیام بدید تا براتون لینک دانلود رو ارسال کنیم


هاشمی

سلام ضمن تشکر از دست اندرکاران باید بگم که مطالب کاملا گویا و قابل درک توضیح داده شده و نقطه قوت این سایت تیم پشتیبانی صبور و خوش برخوردش هست که خیلی مفید و کاربردی جوابگوی سوالات هستند.

مدیر سایت

سلام
خوشحالیم که این کتاب تونسته برای شما مفید باشه


حامد

امکانش هست مجدد تخفیف ویژه رو تمدید کنید تا بتونیم کتاب رو تهیه کنیم
ممنون

مدیر سایت

سلام
فردا شب مجدد تخفیف ویژه قرار داده میشه


Mehdi

ممنون از این کتاب خوب
مطالب بسیار مفید هستن هیچ گونه حاشیه و اضافه گویی ندارن

مدیر سایت

سلام مهدی عزیز
باعث افتخاره که تونستیم نظر شما رو جلب کنیم





ارسال نظر

نام


ایمیل


نظر