Selasa, 03 Mei 2016

Responsive Layout dengan Bootstrap bagian 2

sebagai lanjutan dari tutorial Membuat Layout Responsive dengan Container Bootstrap, kali ini kita akan mencoba membuat layout responsive dengan grid sistem. Kalau di tutorial sebelumnya itu adalah dasar untuk membuat lebar layout website yang otomatis responsive, kali ini kita akan bermain dengan grid yang menyesuaikan diri untuk ukuran layar yang berbeda-beda.

Layout yang akan kita buat kira-kira seperti ini : 
Responsive Bootstrap 1

Sebelumnya, sebagai sedikit gambaran buat kita,, Bootstrap membagi lebar layar monitor menjadi 4 jenis :
  • Extra Small (-xs-) : < 768px
  • Small (-sm-) : 768px - 991px
  • Medium (-md-) : 992px - 1199px
  • Large (-lg-) : > 1200px 
 Sehingga, dalam contoh di tutorial ini, saya hanya akan bermain di lebar monitor Extra Small (-xs-)dan Small (-sm-). Kolom small (-sm-) itu kan batasnya cuma sampai 991px tuh, terus utk layar lebih lebar lagi ntar gimana? Ga masalah.. Bootstrap itu pinter kok.. Ntar yang layar lebih lebar bisa mengatur diri sendiri dgn tetap rapi.. KECUALI, kalau kita pengen buat grid khusus untuk layar lebar.. Ntar pas dicoba-coba ngerti sendiri kok maksudnya.. Hhehe~
Yuk kita ke HTML dulu seperti biasa~ Kita bikin layout yang dibagi jadi 4 bagian : Header, Slideshow, Content, dan Footer. Masing-masing layout diberikan class .container didalamnya~
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
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Latihan Layout Bootstrap Part 2</title>
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/css_part2.css">
</head>
<body>
 
    <header>
        <div class="container">
             
        </div>
    </header>
    <div id="slideshow">
        <div class="container">
             
        </div>
    </div>
    <div id="content">
        <div class="container">
             
        </div>
    </div>
    <footer>
        <div class="container">
             
        </div>
    </footer>
 
</body>
</html>
Nah,, bagian responsive akan segera kita mulai sekarang~ Pertama-tama, di bagian header kita akan mengisi 2 bagian. Yaitu judul website disebelah kiri, dan navigasi di sebelah kanan untuk layar lebar (>=768px). Akan tetapi,, untuk layar kecil akan kita atur supaya judul dan navigasi menjadi item yang menumpuk kebawah.
Sebelum lebih lanjut,, kita harus tau dulu kalau Bootstrap menyediakan jumlah grid dalam 1 baris sebanyak 12 grid. Kalau begitu, ketika kita ingin membagi 1 baris menjadi 2 bagian (judul dan navigasi),, kita harus membagi 12 grid tersebut untuk 2 objek tersebut.. Pembagiannya sih terserah,, boleh 4 grid judul + 8 grid navigasi,, boleh 5 grid judul + 7 grid navigasi, atau 6 grid judul + 6 grid navigasi nggak masalah,, asalkan jumlah 1 baris tsb PAS 12 GRID.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<header>
    <div class="container">
        <div class="row">
            <div class="col-sm-4"> <!--4 GRID UNTUK LAYAR SMALL (>=768PX)-->
                <a href="" class="judul"><h1>Judul Website</h1></a>
            </div>
            <div class="col-sm-8"><!--8 GRID UNTUK LAYAR SMALL (>=768PX)-->
                <nav>
                    <ul class="nav nav-pills nav-justified"> <!--CLASS BAWAAN YG DISEDIAIN BOOTSTRAP,,-->
                        <li><a href="">Home</a></li>
                        <li><a href="">Product</a></li>
                        <li><a href="">Article</a></li>
                        <li><a href="">Contact Us</a></li>
                    </ul>
                </nav>
            </div>
        </div>
    </div>
</header>

Kasi CSS dikit yuk biar lebih rapi~
1
2
3
4
5
6
*{margin:0px auto;}
body{background:#f3f3f3; font-family:calibri, verdana, sans-serif; line-height:1.5em;}
 
/*layout*/
header{background:#e7e7e7; padding:10px; border-bottom:4px solid #22a7a7;}
header h1{line-height:1em; margin:auto;}
 Wuih,, tumben-tumbenan CSSnya cuma dikit? Ya jelas,, bootstrap selain nyediain sistem grid juga nyediain komponen lain seperti button, navigasi, form, alert, dan sebagainya.. Sehingga kita cuma perlu sedikit menghafal nama class yang udah disediain bootstrap aja untuk makainya.. Dan pada akhirnya,, CSS hanya kita pakai utk nambah-nambahin sedikit background, warna, atau font sesuai keinginan kita saja.. Tampilannya sampai sini sudah seperti ini nih :
Responsive Part 2-1
Kalau lebar layarnya kita kecilin pun hasilnya juga sudah rapi.. secara bootstrap bener-bener pinter sih~ bagian slideshow kita lewatin aja, karena di tutorial ini saya nggak bikin slideshow.. kasi aja background sama height biar keliatan berisi~
1
#slideshow{background:#444; height:400px;}

 Sekarang,, di dalam layer content ada 2 jenis baris nih.. ada yg 2 kolom, ada yg 1 kolom.. Caranya tetep sama kok~
1
2
3
4
5
6
7
8
9
10
11
12
<div id="content">
    <div class="container">
        <div class="row">
            <div class="col-sm-6"><!--GRID 6 DI LAYAR SMALL-->
                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 ex ea commodo consequat. Duis aute ......
            </div>
            <div class="col-sm-6"><!--GRID 6 DI LAYAR SMALL-->
                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 ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
            </div>
        </div>
    </div>
</div>
Sudah terbagi 2 kolom bukan? Nah.. Misalkan kita ingin untuk komputer dgn layar paling lebar (>1200px) pembagian gridnya bukan 6 - 6 seperti contoh diatas.. tapi grid 8 - 4.. Gimana caranya? Caranya simpel,, cukup tambahin class baru di <div class="col-sm-6"> yang sudah ada tadi.. Aturan penamaan gridnya juga sama, seperti ini : 
col-<kode lebar>-<jumlah grid>
Anggaplah kode lebar yang ingin kita pakai adalah utk layar large (-lg-), maka kodenya akan menjadi seperti ini : 
1
2
3
4
5
6
7
8
9
10
11
12
<div id="content">
    <div class="container">
        <div class="row">
            <div class="col-sm-6 col-lg-8"><!--GRID 6 DI LAYAR SMALL + GRID 8 DI LAYAR LEBAR-->
                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 ex ea commodo consequat. Duis aute ......
            </div>
            <div class="col-sm-6 col-lg-4"><!--GRID 6 DI LAYAR SMALL + GRID 4 DI LAYAR LEBAR-->
                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 ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
            </div>
        </div>
    </div>
</div>
Dan hasil finalnya adalah seperti ini..
 Finale

 Semoga tutorial ini dapat bermanfaat untuk kita semua,, mohon maaf kalau masih kurang dapat dipahami,, komentar, masukan, pertanyaan, dan saran saya terima~ terima kasih banyak atas perhatiannya..

Tidak ada komentar:

Posting Komentar