Bootstrap აგებულია საპასუხო 12-სვეტიან ბადეზე. ჩვენ ასევე ჩავრთეთ ფიქსირებული და სითხის სიგანის განლაგება ამ სისტემის საფუძველზე.
Bootstrap იყენებს HTML ელემენტებს და CSS თვისებებს, რომლებიც საჭიროებენ HTML5 დოქტიპის გამოყენებას. დარწმუნდით, რომ შეიყვანეთ იგი თქვენს პროექტში ყოველი Bootstrapped გვერდის დასაწყისში.
- <!DOCTYPE html>
- <html lang = "en" >
- ...
- </html>
scaffolding.less ფაილში ჩვენ ვაყენებთ ძირითად გლობალურ ჩვენებას, ტიპოგრაფიას და ბმულის სტილებს. კონკრეტულად ჩვენ:
background-color: white;
_body
@baseFontFamily
, @baseFontSize
, და @baseLineHeight
ატრიბუტები, როგორც ჩვენი ტიპოგრაფიული ბაზა@linkColor
და გამოიყენეთ ბმულის ხაზგასმა მხოლოდ:hover
Bootstrap 2-ის მდგომარეობით, ტრადიციული CSS გადატვირთვა განვითარდა, რათა გამოიყენოს ელემენტები Normalize.css- დან , ნიკოლას გალაჰერის პროექტი, რომელიც ასევე უზრუნველყოფს HTML5 Boilerplate- ს .
ახალი გადატვირთვა კვლავ შეიძლება მოიძებნოს reset.less-ში , მაგრამ ბევრი ელემენტი ამოღებულია მოკლედ და სიზუსტისთვის.
ნაგულისხმევი ბადის სისტემა, რომელიც მოწოდებულია Bootstrap-ში, იყენებს 12 სვეტს , რომლებიც გამოისახება 724 პიქსელი, 940 პიქსელი (ნაგულისხმევი, საპასუხო CSS-ის გარეშე) და 1170 პიქსელის სიგანეზე. 767 პიქსელიანი ხედების ქვემოთ, სვეტები ხდება თხევადი და ვერტიკალურად დაწყობილია.
- <div class = "row" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
როგორც აქ ნაჩვენებია, ძირითადი განლაგება შეიძლება შეიქმნას ორი "სვეტით", თითოეული მოიცავს 12 ძირითადი სვეტის რაოდენობას, რომელიც ჩვენ განვსაზღვრეთ, როგორც ჩვენი ბადის სისტემის ნაწილი.
- <div class = "row" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset4" > ... </div>
- </div>
Bootstrap-ში სტატიკური (არა-თხევადი) ბადის სისტემით, ბუდე მარტივია. თქვენი შინაარსის დასაბუთებლად, უბრალოდ დაამატეთ ახალი .row
და .span*
სვეტების ნაკრები არსებულ .span*
სვეტში.
ჩადგმული რიგები უნდა შეიცავდეს სვეტების ერთობლიობას, რომელიც ემატება მისი მშობლის სვეტების რაოდენობას. მაგალითად, ორი ჩადგმული .span3
სვეტი უნდა განთავსდეს .span6
.
- <div class = "row" >
- <div class = "span6" >
- დონე 1 სვეტი
- <div class = "row" >
- <div class = "span3" > დონე 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>
თხევადი ბადეებით ბუდობა ცოტა განსხვავებულია: ჩადგმული სვეტების რაოდენობა არ უნდა შეესაბამებოდეს მშობელს. ამის ნაცვლად, თქვენი სვეტები გადატვირთულია თითოეულ დონეზე, რადგან თითოეული მწკრივი იკავებს მშობელი სვეტის 100%-ს.
- <div class = "row-fluid" >
- <div class = "span12" >
- სვეტის 1 დონე
- <div class = "row-fluid" >
- <div class = "span6" > დონე 2 </div>
- <div class = "span6" > დონე 2 </div>
- </div>
- </div>
- </div>
ცვლადი | ნაგულისხმევი მნიშვნელობა | აღწერა |
---|---|---|
@gridColumns |
12 | სვეტების რაოდენობა |
@gridColumnWidth |
60 პიქსელი | თითოეული სვეტის სიგანე |
@gridGutterWidth |
20 პიქსელი | უარყოფითი სივრცე სვეტებს შორის |
Bootstrap-ში ჩაშენებული რამდენიმე ცვლადია ნაგულისხმევი 940px ბადის სისტემის მორგებისთვის, ზემოთ დოკუმენტირებული. ბადის ყველა ცვლადი ინახება ცვლადებში.less.
ბადის შეცვლა ნიშნავს სამი @grid*
ცვლადის შეცვლას და Bootstrap-ის ხელახლა კომპილაციას. შეცვალეთ ბადის ცვლადები variables.less-ში და გამოიყენეთ ხელახალი კომპილაციისთვის დოკუმენტირებული ოთხი ხერხიდან ერთ-ერთი . თუ თქვენ ამატებთ მეტ სვეტს, დარწმუნდით, რომ დაამატეთ CSS მათთვის grid.less-ში.
ბადის პერსონალიზაცია მუშაობს მხოლოდ ნაგულისხმევ დონეზე, 940px ბადეზე. Bootstrap-ის საპასუხო ასპექტების შესანარჩუნებლად, თქვენ ასევე მოგიწევთ ბადეების მორგება responsive.less-ში.
ნაგულისხმევი და მარტივი 940 პიქსელი სიგანის, ორიენტირებული განლაგება თითქმის ნებისმიერი ვებსაიტის ან გვერდისთვის, რომელიც მოწოდებულია ერთი <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-ის შექმნა, რომელიც დაფუძნებულია უამრავ პირობებზე - თანაფარდობა, სიგანე, დისპლეის ტიპი და ა.შ. - მაგრამ ჩვეულებრივ ფოკუსირებულია გარშემო min-width
და max-width
.
გამოიყენეთ მედია მოთხოვნები პასუხისმგებლობით და მხოლოდ თქვენი მობილური აუდიტორიის დასაწყებად. უფრო დიდი პროექტებისთვის, გაითვალისწინეთ სპეციალური კოდის ბაზები და არა მედია მოთხოვნების ფენები.
Bootstrap მხარს უჭერს რამდენიმე მედიის მოთხოვნას ერთ ფაილში, რათა დაგეხმაროთ თქვენი პროექტების უფრო შესაბამისობაში მოყვანა სხვადასხვა მოწყობილობებზე და ეკრანის რეზოლუციებზე. აი რა შედის:
ლეიბლი | განლაგების სიგანე | სვეტის სიგანე | ღუმელის სიგანე |
---|---|---|---|
სმარტფონები | 480px და ქვემოთ | თხევადი სვეტები, ფიქსირებული სიგანეების გარეშე | |
სმარტფონები ტაბლეტებში | 767px და ქვემოთ | თხევადი სვეტები, ფიქსირებული სიგანეების გარეშე | |
პორტრეტის ტაბლეტები | 768 პიქსელი და მეტი | 42 პიქსელი | 20 პიქსელი |
ნაგულისხმევი | 980 პიქსელი და მეტი | 60 პიქსელი | 20 პიქსელი |
დიდი ჩვენება | 1200px და მეტი | 70 პიქსელი | 30 პიქსელი |
იმის უზრუნველსაყოფად, რომ მოწყობილობები სწორად აჩვენებენ საპასუხო გვერდებს, ჩართეთ ხედვის პორტის მეტა ტეგი.
- <meta name = "viewport" content = "width=device-width, fillestar-scale=1.0" >
Bootstrap ავტომატურად არ მოიცავს ამ მედია მოთხოვნებს, მაგრამ მათი გაგება და დამატება ძალიან მარტივია და მოითხოვს მინიმალურ დაყენებას. თქვენ გაქვთ რამდენიმე ვარიანტი Bootstrap-ის საპასუხო ფუნქციების ჩასართავად:
რატომ არ უნდა ჩართოთ იგი? სიმართლე გითხრათ, ყველაფერი არ უნდა იყოს პასუხისმგებელი. იმის ნაცვლად, რომ წაახალისოთ დეველოპერები, ამოიღონ ეს ფუნქცია, ჩვენ ვთვლით, რომ უმჯობესია ჩართოთ იგი.
- /* ლანდშაფტური ტელეფონები და ქვემოთ */
- @media ( მაქს . სიგანე : 480 პიქსელი ) { ... }
- /* ლანდშაფტური ტელეფონი ტაბლეტის პორტრეტამდე */
- @media ( მაქს . სიგანე : 767 პიქსელი ) { ... }
- /* ტაბლეტის პორტრეტი ლანდშაფტზე და დესკტოპზე */
- @media ( მინ . სიგანე : 768 პიქსელი ) და ( მაქს . სიგანე : 979 პიქსელი ) { ... }
- /* დიდი სამუშაო მაგიდა */
- @media ( მინ . სიგანე : 1200 პიქსელი ) { ... }
მობილურისთვის მოსახერხებელი უფრო სწრაფი განვითარებისთვის, გამოიყენეთ ეს ძირითადი სასარგებლო კლასები მოწყობილობის მიხედვით კონტენტის საჩვენებლად და დასამალად.
გამოიყენეთ შეზღუდული საფუძველზე და მოერიდეთ ერთი და იმავე საიტის სრულიად განსხვავებული ვერსიების შექმნას. ამის ნაცვლად, გამოიყენეთ ისინი თითოეული მოწყობილობის პრეზენტაციის შესავსებად.
მაგალითად, შეგიძლიათ აჩვენოთ <select>
ელემენტი ნავიგაციისთვის მობილურის განლაგებაში, მაგრამ არა ტაბლეტებზე ან დესკტოპზე.
აქ ნაჩვენებია ჩვენ მიერ მხარდაჭერილი კლასების ცხრილი და მათი ეფექტი მოცემული მედია მოთხოვნის განლაგებაზე (მოწოდებული მოწყობილობის მიხედვით). მათი პოვნა შესაძლებელია responsive.less
.
Კლასი | ტელეფონები480px და ქვემოთ | ტაბლეტები767px და ქვემოთ | დესკტოპები768 პიქსელი და მეტი |
---|---|---|---|
.visible-phone |
ხილული | დამალული | დამალული |
.visible-tablet |
დამალული | ხილული | დამალული |
.visible-desktop |
დამალული | დამალული | ხილული |
.hidden-phone |
დამალული | ხილული | ხილული |
.hidden-tablet |
ხილული | დამალული | ხილული |
.hidden-desktop |
ხილული | ხილული | დამალული |
შეცვალეთ თქვენი ბრაუზერის ზომა ან ჩატვირთეთ სხვადასხვა მოწყობილობებზე ზემოაღნიშნული კლასების შესამოწმებლად.
მწვანე გამშვები ნიშნები მიუთითებს, რომ კლასი ჩანს თქვენს ამჟამინდელ ხედში.
აქ მწვანე პუნქტები მიუთითებს, რომ კლასი დამალულია თქვენს ამჟამინდელ ხედში.