Bootstrap აგებულია პასუხისმგებელ 12-სვეტიან ბადეებზე, განლაგებაზე და კომპონენტებზე.
Bootstrap იყენებს გარკვეულ HTML ელემენტებს და CSS თვისებებს, რომლებიც მოითხოვს HTML5 დოქტიპის გამოყენებას. ჩართეთ იგი ყველა თქვენი პროექტის დასაწყისში.
- <!DOCTYPE html>
- <html lang = "en" >
- ...
- </html>
Bootstrap ადგენს ძირითად გლობალურ ჩვენებას, ტიპოგრაფიას და ბმულის სტილებს. კონკრეტულად ჩვენ:
margin
სხეულზეbackground-color: white;
_body
@baseFontFamily
, @baseFontSize
, და @baseLineHeight
ატრიბუტები ჩვენს ტიპოგრაფიულ ბაზად@linkColor
და გამოიყენეთ ბმულის ხაზგასმა მხოლოდ:hover
ეს სტილები გვხვდება ხარაჩოებში . ნაკლები.
Bootstrap 2-ით, ძველი გადატვირთვის ბლოკი გაუქმდა Normalize.css- ის სასარგებლოდ , ნიკოლას გალაჰერის და ჯონათან ნილის პროექტი , რომელიც ასევე აძლიერებს HTML5 Boilerplate- ს . მიუხედავად იმისა, რომ ჩვენ ვიყენებთ ნორმალიზების დიდ ნაწილს ჩვენს reset.less-ში , ჩვენ წავშალეთ ზოგიერთი ელემენტი სპეციალურად Bootstrap-ისთვის.
ნაგულისხმევი Bootstrap ქსელის სისტემა იყენებს 12 სვეტს , რაც ქმნის 940 პიქსელის სიგანის კონტეინერს ჩართული საპასუხო ფუნქციების გარეშე . საპასუხო CSS ფაილის დამატებით, ბადე ადაპტირდება 724 პიქსელზე და 1170 პიქსელზე, თქვენი ხედვის პორტის მიხედვით. 767 პიქსელიანი ხედების ქვემოთ, სვეტები ხდება თხევადი და ვერტიკალურად დაწყობილია.
მარტივი ორი სვეტის განლაგებისთვის შექმენით a და დაამატეთ სვეტების .row
შესაბამისი რაოდენობა . .span*
ვინაიდან ეს არის 12-სვეტიანი ბადე, თითოეული .span*
მოიცავს ამ 12 სვეტის რაოდენობას და ყოველთვის უნდა დაემატოს 12-მდე თითოეული მწკრივისთვის (ან სვეტების რაოდენობა მშობელში).
- <div class = "row" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
ამ მაგალითის გათვალისწინებით, გვაქვს .span4
და .span8
, ვქმნით სულ 12 სვეტს და სრულ მწკრივს.
გადაიტანეთ სვეტები მარჯვნივ .offset*
კლასების გამოყენებით. თითოეული კლასი ზრდის სვეტის მარცხენა ზღვარს მთელი სვეტით. მაგალითად, .offset4
მოძრაობს .span4
ოთხ სვეტზე.
- <div class = "row" >
- <div class = "span4" > ... </div>
- <div class = "span3 offset2" > ... </div>
- </div>
თქვენი შინაარსის ნაგულისხმევ ბადეში ჩასართავად დაამატეთ ახალი .row
და .span*
სვეტების ნაკრები არსებულ .span*
სვეტში. ჩადგმული რიგები უნდა შეიცავდეს სვეტების ერთობლიობას, რომელიც ემატება მისი მშობლის სვეტების რაოდენობას.
- <div class = "row" >
- <div class = "span9" >
- დონე 1 სვეტი
- <div class = "row" >
- <div class = "span6" > დონე 2 </div>
- <div class = "span3" > დონე 2 </div>
- </div>
- </div>
- </div>
სითხის ბადის სისტემა იყენებს პროცენტებს სვეტების სიგანეზე პიქსელების ნაცვლად. მას აქვს იგივე რეაგირების შესაძლებლობები, როგორც ჩვენი ფიქსირებული ქსელის სისტემა, რაც უზრუნველყოფს ეკრანის ძირითადი გარჩევადობისა და მოწყობილობების შესაბამის პროპორციებს.
გააკეთეთ ნებისმიერი მწკრივი "სითხეში " შეცვლით .row
. .row-fluid
სვეტების კლასები ზუსტად იგივე რჩება, რაც აადვილებს ფიქსირებულ და თხევად ბადეებს შორის გადატრიალებას.
- <div class = "row-fluid" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
მუშაობს ისევე, როგორც ფიქსირებული ქსელის სისტემის ოფსეტური: დაამატეთ .offset*
ნებისმიერ სვეტს ამდენი სვეტით ოფსეტურით.
- <div class = "row-fluid" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset2" > ... </div>
- </div>
თხევადი ბადეები განსხვავებულად იყენებენ ბუდეებს: სვეტების თითოეულ ჩადგმულ დონეს უნდა დაემატოს 12 სვეტი. ეს იმიტომ ხდება, რომ სითხის ბადე იყენებს პროცენტებს და არა პიქსელებს სიგანეების დასაყენებლად.
- <div class = "row-fluid" >
- <div class = "span12" >
- სითხე 12
- <div class = "row-fluid" >
- <div class = "span6" >
- სითხე 6
- <div class = "row-fluid" >
- <div class = "span6" > სითხე 6 </div>
- <div class = "span6" > სითხე 6 </div>
- </div>
- </div>
- <div class = "span6" > სითხე 6 </div>
- </div>
- </div>
- </div>
გთავაზობთ საერთო ფიქსირებული სიგანის (და სურვილისამებრ საპასუხო) განლაგებას მხოლოდ <div class="container">
საჭიროებით.
- <სხეული>
- <div class = "კონტეინერი" >
- ...
- </div>
- </body>
შექმენით თხევადი, <div class="container-fluid">
ორსვეტიანი გვერდი — შესანიშნავია აპლიკაციებისა და დოკუმენტებისთვის.
- <div class = "კონტეინერის სითხე" >
- <div class = "row-fluid" >
- <div class = "span2" >
- <!--გვერდითი ზოლის შინაარსი-->
- </div>
- <div class = "span10" >
- <!--სხეულის შინაარსი-->
- </div>
- </div>
- </div>
ჩართეთ საპასუხო CSS თქვენს პროექტში შესაბამისი მეტა-ტეგის და დამატებითი სტილის ფურცლის ჩათვლით <head>
თქვენი დოკუმენტის შიგნით. თუ თქვენ შეადგინეთ Bootstrap Customize გვერდიდან, თქვენ მხოლოდ მეტა ტეგი უნდა შეიტანოთ.
- <meta name = "viewport" content = "width=device-width, fillestar-scale=1.0" >
- <link href = "assets/css/bootstrap-responsive.css" rel = "stylesheet" >
Თავები მაღლა!Bootstrap ნაგულისხმევად არ შეიცავს საპასუხო ფუნქციებს, რადგან ყველაფერი არ უნდა იყოს საპასუხო. იმის ნაცვლად, რომ წაახალისოთ დეველოპერები, ამოიღონ ეს ფუნქცია, ჩვენ ვთვლით, რომ უმჯობესია ჩართოთ იგი საჭიროებისამებრ.
მედიის მოთხოვნები საშუალებას იძლევა მორგებული CSS-ის შექმნა, რომელიც დაფუძნებულია უამრავ პირობებზე - თანაფარდობა, სიგანე, დისპლეის ტიპი და ა.შ. - მაგრამ ჩვეულებრივ ფოკუსირებულია გარშემო min-width
და max-width
.
გამოიყენეთ მედია მოთხოვნები პასუხისმგებლობით და მხოლოდ თქვენი მობილური აუდიტორიის დასაწყებად. უფრო დიდი პროექტებისთვის, გაითვალისწინეთ სპეციალური კოდის ბაზები და არა მედია მოთხოვნების ფენები.
Bootstrap მხარს უჭერს რამდენიმე მედიის მოთხოვნას ერთ ფაილში, რათა დაგეხმაროთ თქვენი პროექტების უფრო შესაბამისობაში მოყვანა სხვადასხვა მოწყობილობებზე და ეკრანის რეზოლუციებზე. აი რა შედის:
ლეიბლი | განლაგების სიგანე | სვეტის სიგანე | ღუმელის სიგანე |
---|---|---|---|
დიდი ჩვენება | 1200px და მეტი | 70 პიქსელი | 30 პიქსელი |
ნაგულისხმევი | 980 პიქსელი და მეტი | 60 პიქსელი | 20 პიქსელი |
პორტრეტის ტაბლეტები | 768 პიქსელი და მეტი | 42 პიქსელი | 20 პიქსელი |
ტელეფონები ტაბლეტებზე | 767px და ქვემოთ | თხევადი სვეტები, ფიქსირებული სიგანეების გარეშე | |
ტელეფონები | 480px და ქვემოთ | თხევადი სვეტები, ფიქსირებული სიგანეების გარეშე |
- /* დიდი სამუშაო მაგიდა */
- @media ( მინ . სიგანე : 1200 პიქსელი ) { ... }
- /* ტაბლეტის პორტრეტი ლანდშაფტზე და დესკტოპზე */
- @media ( მინ . სიგანე : 768 პიქსელი ) და ( მაქს . სიგანე : 979 პიქსელი ) { ... }
- /* ლანდშაფტური ტელეფონი ტაბლეტის პორტრეტამდე */
- @media ( მაქს . სიგანე : 767 პიქსელი ) { ... }
- /* ლანდშაფტური ტელეფონები და ქვემოთ */
- @media ( მაქს . სიგანე : 480 პიქსელი ) { ... }
მობილურისთვის მოსახერხებელი უფრო სწრაფი განვითარებისთვის, გამოიყენეთ ეს სასარგებლო კლასები მოწყობილობების მიხედვით კონტენტის საჩვენებლად და დასამალად. ქვემოთ მოცემულია ხელმისაწვდომი კლასების ცხრილი და მათი გავლენა მოცემულ მედია მოთხოვნის განლაგებაზე (მოწყობილობის მიხედვით). მათი პოვნა შესაძლებელია responsive.less
.
Კლასი | ტელეფონები767px და ქვემოთ | ტაბლეტები979px-დან 768px-მდე | დესკტოპებინაგულისხმევი |
---|---|---|---|
.visible-phone |
ხილული | დამალული | დამალული |
.visible-tablet |
დამალული | ხილული | დამალული |
.visible-desktop |
დამალული | დამალული | ხილული |
.hidden-phone |
დამალული | ხილული | ხილული |
.hidden-tablet |
ხილული | დამალული | ხილული |
.hidden-desktop |
ხილული | ხილული | დამალული |
გამოიყენეთ შეზღუდული საფუძველზე და მოერიდეთ ერთი და იმავე საიტის სრულიად განსხვავებული ვერსიების შექმნას. ამის ნაცვლად, გამოიყენეთ ისინი თითოეული მოწყობილობის პრეზენტაციის შესავსებად. საპასუხო კომუნალური პროგრამები არ უნდა იქნას გამოყენებული ცხრილებთან და, როგორც ასეთი, არ არის მხარდაჭერილი.
შეცვალეთ თქვენი ბრაუზერის ზომა ან ჩატვირთეთ სხვადასხვა მოწყობილობებზე ზემოაღნიშნული კლასების შესამოწმებლად.
მწვანე გამშვები ნიშნები მიუთითებს, რომ კლასი ჩანს თქვენს ამჟამინდელ ხედში.
აქ მწვანე პუნქტები მიუთითებს, რომ კლასი დამალულია თქვენს ამჟამინდელ ხედში.