Tampilkan postingan dengan label Tutorial CSS3. Tampilkan semua postingan
Tampilkan postingan dengan label Tutorial CSS3. Tampilkan semua postingan

Senin, 31 Desember 2018

Belajar CSS Part 31 - Layout Halaman Web Responsif


CSS Layout Halaman Web
Pada tutorial HTML sebelumnya telah dibahas mengenai layout halaman web, akan tetapi di tutorial kali ini kita akan membahas desain layout yang responsif menggunakan CSS.

Sebuah situs web sering dibagi menjadi header, menu, konten dan footer. Berikut merupakan contoh layout halaman web yang sederhana:
Struktur di atas, adalah salah satu yang paling umum digunakan.

Header
Sebuah header biasanya terletak di bagian atas website, tapi ada juga yang penempatan header berada tepat di bawah menu navigasi bagian atas. Dalam header, sering mengandung logo atau nama website.
Contoh
body {
  margin: 0;
}

/* Menerapkan style header */
.header {
  background-color: #f1f1f1;
  padding: 20px;
  text-align: center;
}
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSS Website Layout</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<div class="header">
  <h1>Header</h1>
</div>

</body>
</html>
Hasilnya:


Navigasi Bar
Menu atau navigasi merupakan tempat atau wadah untuk link yang memberikan akses ke halaman-halaman lain dalam suatu web.
Contoh
* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

/* Menerapkan style header */
.header {
  background-color: #f1f1f1;
  padding: 20px;
  text-align: center;
}

/* Menerapkan style navigation bar atas */
.topnav {
  overflow: hidden;
  background-color: #333;
}

/* Menerapkan style pada link navigation bar atas */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

/* Mengubah warna navigasi saat disentuh */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSS Website Layout</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<div class="header">
  <h1>Header</h1>
</div>

<div class="topnav">
  <a href="#">Link</a>
  <a href="#">Link</a>
  <a href="#">Link</a>
</div>

</body>
</html>
Hasilnya:


Konten
Tata letak di bagian ini, sering tergantung pada target pengguna. Tata letak yang paling umum adalah satu (atau menggabungkan semua konten) sebagai berikut:
  • 1-kolom (sering digunakan untuk mobile browser)
  • 2-kolom (sering digunakan untuk tablet dan laptop)
  • Tata letak 3-kolom (hanya digunakan untuk desktop)




Pada contoh ini kita akan membuat layout 3-kolom, dan mengubahnya ke layout 1-kolom pada layar yang lebih kecil.
Contoh
* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

/* Menerapkan style header */
.header {
  background-color: #f1f1f1;
  padding: 20px;
  text-align: center;
}

/* Menerapkan style navigation bar atas */
.topnav {
  overflow: hidden;
  background-color: #333;
}

/* Menerapkan style pada link navigation bar atas */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

/* Mengubah warna navigasi saat disentuh */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}

/* Mengatur 3 kolom yang sama posisinya bersebelahan satu sama lain */
.kolom {
  float: left;
  width: 33.33%;
  padding: 15px;
}

/* Menghapus float setelah kolom */
.baris:after {
  content: "";
  display: table;
  clear: both;
}

/* Tata letak responsif - membuat ketiga kolom saling bertumpuk, bukan bersebelahan */
@media screen and (max-width:600px) {
  .kolom {
    width: 100%;
  }
}
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSS Website Layout</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<div class="header">
  <h1>Header</h1>
  <p>Ubah ukuran jendela browser untuk melihat efek responsif.</p>
</div>

<div class="topnav">
  <a href="#">Link</a>
  <a href="#">Link</a>
  <a href="#">Link</a>
</div>

<div class="baris">
  <div class="kolom">
    <h2>Kolom</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sit amet pretium urna. Vivamus venenatis velit nec neque ultricies, eget elementum magna tristique. Quisque vehicula, risus eget aliquam placerat, purus leo tincidunt eros, eget luctus quam orci in velit. Praesent scelerisque tortor sed accumsan convallis.</p>
  </div>

  <div class="kolom">
    <h2>Kolom</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sit amet pretium urna. Vivamus venenatis velit nec neque ultricies, eget elementum magna tristique. Quisque vehicula, risus eget aliquam placerat, purus leo tincidunt eros, eget luctus quam orci in velit. Praesent scelerisque tortor sed accumsan convallis.</p>
  </div>

  <div class="kolom">
    <h2>Kolom</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sit amet pretium urna. Vivamus venenatis velit nec neque ultricies, eget elementum magna tristique. Quisque vehicula, risus eget aliquam placerat, purus leo tincidunt eros, eget luctus quam orci in velit. Praesent scelerisque tortor sed accumsan convallis.</p>
  </div>
</div>

</body>
</html>
Hasilnya:

Tips: Untuk membuat layout 2-kolom, ubah lebar menjadi 50%. Untuk membuat layout 4-kolom, gunakan 25%, dll.

Tips: Cara yang lebih modern membuat layout kolom adalah dengan menggunakan CSS flexbox. Namun, tidak didukung di Internet Explorer 10 dan versi sebelumnya. Jika kita memerlukan dukungan IE6-10, gunakan float (seperti yang ditunjukkan di atas). 


Footer
footer ditempatkan di bagian bawah halaman website. Pada bagian footer ini sering berisi informasi seperti hak cipta dan info kontak.
Contoh
* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

/* Menerapkan style header */
.header {
  background-color: #f1f1f1;
  padding: 20px;
  text-align: center;
}

/* Menerapkan style navigation bar atas */
.topnav {
  overflow: hidden;
  background-color: #333;
}

/* Menerapkan style pada link navigation bar atas */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

/* Mengubah warna navigasi saat disentuh */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}

/* Mengatur 3 kolom yang sama posisinya bersebelahan satu sama lain */
.kolom {
  float: left;
  padding: 10px;
}

/* Kolom kiri dan kanan */
.kolom.samping {
  width: 25%;
}

/* Kolom tengah */
.kolom.tengah {
  width: 50%;
}

/* Menghapus float setelah kolom */
.baris:after {
  content: "";
  display: table;
  clear: both;
}

/* Tata letak responsif - membuat tiga kolom saling bertumpuk, bukan bersebelahan */
@media screen and (max-width: 600px) {
  .kolom.samping, .kolom.tengah {
    width: 100%;
  }
}

/* Menerapkan style footer */
.footer {
  background-color: #f1f1f1;
  padding: 10px;
  text-align: center;
}
<!DOCTYPE html>
<html lang="en">
<head>
<title>CSS Website Layout</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<div class="header">
  <h1>Header</h1>
  <p>Ubah ukuran browser untuk melihan efek responsif.</p>
</div>

<div class="topnav">
  <a href="#">Link</a>
  <a href="#">Link</a>
  <a href="#">Link</a>
</div>

<div class="baris">
  <div class="kolom samping">
    <h2>Side</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit..</p>
  </div>
  
  <div class="kolom tengah">
    <h2>Main Content</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sit amet pretium urna. Vivamus venenatis velit nec neque ultricies, eget elementum magna tristique. Quisque vehicula, risus eget aliquam placerat, purus leo tincidunt eros, eget luctus quam orci in velit. Praesent scelerisque tortor sed accumsan convallis.</p>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sit amet pretium urna. Vivamus venenatis velit nec neque ultricies, eget elementum magna tristique. Quisque vehicula, risus eget aliquam placerat, purus leo tincidunt eros, eget luctus quam orci in velit. Praesent scelerisque tortor sed accumsan convallis.</p>
  </div>

  <div class="kolom samping">
    <h2>Side</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit..</p>
  </div>
</div>

<div class="footer">
  <p>Footer</p>
</div>

</body>
</html>
Hasilnya:


Tata Letak Halaman Web yang Responsif 
Dengan menggunakan beberapa kode CSS di atas, kita akan membuat tata letak situs web responsif, yang bervariasi antara dua kolom dan kolom yang memiliki lebar penuh (full-width) tergantung pada lebar layar.
Contoh
* {
  box-sizing: border-box;
}

body {
  font-family: Arial;
  padding: 10px;
  background: #f1f1f1;
}

/* Header/Blog Title */
.header {
  padding: 30px;
  text-align: center;
  background: white;
}

.header h1 {
  font-size: 50px;
}

/* Menerapkan style pada navigation bar atas */
.topnav {
  overflow: hidden;
  background-color: #333;
}

/* Menerapkan style di link pada navigation bar atas */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

/* Menguah warna saat navbar disentuh */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}

/* Buat dua kolom berbeda yang mengapung di sebelah satu sama lain
 */
/* Kolom kiri */
.kolomkiri {   
  float: left;
  width: 75%;
}

/* Kolom kanan */
.kolomkanan {
  float: left;
  width: 25%;
  background-color: #f1f1f1;
  padding-left: 20px;
}

/* Gambar */
.gambar {
  background-color: #aaa;
  width: 100%;
  padding: 20px;
}

/* Menambahkan efek gambar pada artikel */
.kartunama {
  background-color: white;
  padding: 20px;
  margin-top: 20px;
}

/* Menghapus float setelah kolom */
.row:after {
  content: "";
  display: table;
  clear: both;
}

/* Footer */
.footer {
  padding: 20px;
  text-align: center;
  background: #ddd;
  margin-top: 20px;
}

/* Responsive layout - Saat lebar layar kurang dari 800px, buat dua kolom bertumpuk satu sama lain alih-alih bersebelahan */
@media screen and (max-width: 800px) {
  .kolomkiri, .kolomkanan {   
    width: 100%;
    padding: 0;
  }
}

/* Responsive layout - Saat lebar layar kurang dari 400px, buat navigasi  link saling bertumpukan, bukan bersebelahan */
@media screen and (max-width: 400px) {
  .topnav a {
    float: none;
    width: 100%;
  }
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>

<div class="header">
  <h1>Selamat Datang di Website Saya</h1>
</div>

<div class="topnav">
  <a href="#">Home</a>
  <a href="#">Contact</a>
  <a href="#">Profil</a>
  <a href="#" style="float:right">About Us</a>
</div>

<div class="row">
  <div class="kolomkiri">
    <div class="kartunama">
      <h2>JUDUL</h2>
      <h5>Deskripsi judul, 31 Desember 2018</h5>
      <div class="gambar" style="height:200px;">Gambar</div>
      <p>Some text..</p>
      <p>Sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.</p>
    </div>
    <div class="kartunama">
      <h2>JUDUL</h2>
      <h5>Deskripsi judul, 30 Desember 2018</h5>
      <div class="gambar" style="height:200px;">Gambar</div>
      <p>Some text..</p>
      <p>Sunt in culpa qui officia deserunt mollit anim id est laborum consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.</p>
    </div>
  </div>
  <div class="kolomkanan">
    <div class="kartunama">
      <h2>About Me</h2>
      <div class="gambar" style="height:100px;">Gambar</div>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.</p>
    </div>
    <div class="kartunama">
      <h3>Popular Post</h3>
      <div class="gambar"><p>Gambar</p></div>
      <div class="gambar"><p>Gambar</p></div>
      <div class="gambar"><p>Gambar</p></div>
    </div>
    <div class="kartunama">
      <h3>Follow Me</h3>
      <p>Lorem ipsum dolor sit amet,</p>
    </div>
  </div>
</div>

<div class="footer">
  <h2>Footer</h2>
</div>

</body>
</html>
Hasilnya:

Demikian pembahasan mengenai layout (tata letak) halaman web menggunakan HTML dan didesain menggunakan CSS.
Semoga bermanfaat!

Baca selengkapnya

Jumat, 28 Desember 2018

Belajar CSS Part 30 - Desain Form dengan CSS


CSS Form
Form atau bisa juga disebut sebagai daftar isian merupakan salah satu elemen yang digunakan untuk memasukan atau menginput data pada sebuah website.

Form sangat berguna dalam sebuah website, karena dengan adanya form sebuah halaman web menjadi web interaktif dan dinamis. Form juga merupakan satu-satunya sarana bagi pengembang website untuk mendapatkan informasi dari pengguna.

Tampilan form pada HTML dapat didesain dengan menggunakan CSS sehingga memperoleh tampilan yang menarik.
Contoh
input[type=text], select {
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

input[type=submit] {
  width: 100%;
  background-color: #4CAF50;
  color: white;
  padding: 14px 20px;
  margin: 8px 0;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

input[type=submit]:hover {
  background-color: #45a049;
}

div {
  border-radius: 5px;
  background-color: #f2f2f2;
  padding: 20px;
}
<!DOCTYPE html>
<html>
<body>

<h3>Menggunakan CSS untuk menerapkan styling pada Form di HTML</h3>
<div>
  <form>
    <label for="nama_depan">Nama Depan</label>
    <input type="text" id="nama_depan" name="nama_depan" placeholder="Nama depan...">
    <label for="nama_belakang">Nama Belakang</label>
    <input type="text" id="nama_belakang" name="nama_belakang" placeholder="Nama belakang...">

    <label for="negara">Negara</label>
    <select id="negara" name="negara">
      <option value="indonesia">Indonesia</option>
      <option value="brunei">Brunei Darussalam</option>
      <option value="malaysia">Malaysia</option>
    </select>

    <input type="submit" value="Submit">
  </form>
</div>

</body>
</html>
Hasilnya:

Memberikan Efek pada Kolom Input
Gunakan properti width untuk menentukan lebar pada kolom input.
Contoh
input {
  width: 100%;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>

<p>Kolom input dengan lebar full:</p>

<form>
  <label for="nama_depan">Nama Depan</label>
  <input type="text" id="nama_depan" name="nama_depan">
</form>

</body>
</html>
Hasilnya:

Contoh di atas berlaku untuk semua elemen <input>. Jika kita hanya ingin menerapkan efek pada jenis kolom input tertentu, kita dapat menggunakan atribut selector:
  • input[type=text] - hanya akan memilih kolom teks
  • input[type=password] - hanya akan memilih kolom kata sandi
  • input[type=number] - hanya akan memilih kolom dengan tipe nomor / angka

Menambahkan Ruang pada Kolom Input
Gunakan properti padding untuk menambahkan ruang di dalam kolom teks. Bila ingin menambahkan ruang di luar kolom teks, gunakan properti margin.
Contoh
input[type=text] {
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>

<p>Menambahkan ruang pada kolom input:</p>

<form>
  <label for="nama_depan">Nama Depan</label>
  <input type="text" id="nama_depan" name="nama_depan">
  <label for="lname">Nama Belakang</label>
  <input type="text" id="nama_belakang" name="nama_belakang">
</form>

</body>
</html>
Hasilnya:

Menambahkan dan mengubah Tampilan Border pada Kolom Input
Gunakan properti border untuk mengubah ukuran perbatasan (border) dan warna, dan menggunakan properti border-radius untuk menambahkan lengkungan pada sudut kotak kolom input ataupun button (tombol).
Contoh
input[type=text] {
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
  border: 2px solid red;
  border-radius: 4px;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>

<p>Kolom input yang memiliki border:</p>

<form>
  <label for="nama_depan">Nama Depan</label>
  <input type="text" id="nama_depan" name="nama_depan">
  <label for="lname">Nama Belakang</label>
  <input type="text" id="nama_belakang" name="nama_belakang">
</form>

</body>
</html>
Hasilnya:

Jika kita hanya ingin menambahkan border bawah, gunakan properti border-bottom.
Contoh
input[type=text] {
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
  border: none;
  border-bottom: 2px solid red;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>

<p>Kolom input yang hanya memiliki border sisi bawah:</p>

<form>
  <label for="nama_depan">Nama Depan</label>
  <input type="text" id="nama_depan" name="nama_depan">
  <label for="lname">Nama Belakang</label>
  <input type="text" id="nama_belakang" name="nama_belakang">
</form>

</body>
</html>
Hasilnya:

Menambahkan Warna pada Kolom Input
Gunakan properti background-color untuk menambahkan warna latar belakang pada kolom input, dan properti color untuk mengubah warna teks.
Contoh
input[type=text] {
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
  border: none;
  background-color: #3CBC8D;
  color: white;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>

<p>Mewarnai kolom input:</p>

<form>
  <label for="nama_depan">Nama Depan</label>
  <input type="text" id="nama_depan" name="nama_depan" value="Okta">
  <label for="lname">Nama Belakang</label>
  <input type="text" id="nama_belakang" name="nama_belakang" value="Hasan">
</form>

</body>
</html>
Hasilnya:

Membuat Kolom Input agar Terfokus
Secara default, beberapa browser akan menambahkan garis biru di sekitar kolom input pada saat kita mengklik kolom input. Kita dapat menghapus garis biru tersebut dengan menambahkan outline: none;input.

Gunakan selector :focus agar kolom input ketika diklik akan terfokus.
Contoh
input[type=text] {
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
  border: 1px solid #555;
  outline: none;
}
input[type=text]:focus {
  background-color: lightblue;
}
<!DOCTYPE html>
<html>
<head>
<title>Form</title>
</head>
<body>

<p>Dalam contoh ini menggunakan selector :fokus untuk menambahkan warna latar belakang ke kolom input saat kolom diklik:</p>

<form>
  <label for="nama_depan">Nama Depan</label>
  <input type="text" id="nama_depan" name="nama_depan" value="Okta">
  <label for="nama_belakang">Last Name</label>
  <input type="text" id="nama_belakang" name="nama_belakang" value="Hasan">
</form>

</body>
</html>
Hasilnya:

Kolom Input Menggunakan Icon / Gambar
Jika kita ingin sebuah ikon berada dalam kolom input, gunakan properti background-image dan atur posisinya dengan menggunakan properti background-position

Juga perhatikan bahwa kita menambahkan padding pada sisi kiri dengan ukuran lebih besar sehingga ruang ikon dalam kolom tidak ditempati oleh teks.
Contoh
input[type=text] {
  width: 100%;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  background-color: white;
  background-image: url("https://img.icons8.com/metro/26/000000/search.png");
  background-position: 10px 10px; 
  background-repeat: no-repeat;
  padding: 12px 20px 12px 40px;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>

<p>Kolom input memiliki icon gambar:</p>

<form>
  <input type="text" name="search" placeholder="Search..">
</form>

</body>
</html>
Hasilnya:

Animasi pada Kolom Input
Dalam contoh ini kita menggunakan properti CSS transition untuk mengaktifkan lebar kolom input pencarian ketika diklik.
Contoh
input[type=text] {
  width: 130px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
  font-size: 16px;
  background-color: white;
  background-image: url("https://img.icons8.com/metro/26/000000/search.png");
  background-position: 10px 10px; 
  background-repeat: no-repeat;
  padding: 12px 20px 12px 40px;
  -webkit-transition: width 0.4s ease-in-out;
  transition: width 0.4s ease-in-out;
}

input[type=text]:focus {
  width: 100%;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>

<p>Animasi pada kolom pencarian:</p>

<form>
  <input type="text" name="search" placeholder="Search..">
</form>

</body>
</html>
Hasilnya:

Menerapkan Efek pada Textarea
Secara default, teks area memiliki "grabber" pada pojok kanan bawah. Grabber ini adalah untuk mengubah ukuran teks area pada saat kita arahkan mouse, kemudian klik, tahan dan geser (scroll).

Gunakan properti resize untuk mencegah / menonaktifkan grabber di pojok kanan bawah teks area.
Contoh
textarea {
  width: 100%;
  height: 150px;
  padding: 12px 20px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
  background-color: #f8f8f8;
  font-size: 16px;
  resize: none;
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>

<p><strong>Tips:</strong> Gunakan properti resize untuk mencegah / menonaktifkan grabber di pojok kanan bawah teks area.: </p>

<form>
  <textarea>Some text...</textarea>
</form>

</body>
</html>
Hasilnya:

Menambahkan Efek pada Menu Pilihan
Contoh
select {
  width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: 4px;
  background-color: #f1f1f1;
}

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<p>Menerapkan styling pada menu pilihan.</p>

<form>
  <select id="negara" name="negara">
  <option value="id">Indonesia</option>
  <option value="bn">Brunei Darussalam</option>
  <option value="my">Malaysia</option>
  </select>
</form>

</body>
</html>
Hasilnya:

Menambahkan Efek pada Tombol Input (Button)
Contoh
input[type=button], input[type=submit], input[type=reset] {
  background-color: #4CAF50;
  border: none;
  color: white;
  padding: 16px 32px;
  text-decoration: none;
  margin: 4px 2px;
  cursor: pointer;
}
/* Tips: gunakan width: 100%; untuk menerapkan ukuran lebar tombol (button) menjadi full halaman */
<!DOCTYPE html>
<html>
<head>
</head>
<body>

<p>Menambahkan Efek pada Tombol Input (Button):</p>

<input type="button" value="Button">
<input type="reset" value="Reset">
<input type="submit" value="Submit">

</body>
</html>
Hasilnya:

Form Responsif
Ubah ukuran jendela browser untuk melihat efeknya. Contoh berikut menggunakan query media untuk membuat formulir responsif.
Contoh
* {
  box-sizing: border-box;
}

input[type=text], select, textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  resize: vertical;
}

label {
  padding: 12px 12px 12px 0;
  display: inline-block;
}

input[type=submit] {
  background-color: #4CAF50;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  float: right;
}

input[type=submit]:hover {
  background-color: #45a049;
}

.container {
  border-radius: 5px;
  background-color: #f2f2f2;
  padding: 20px;
}

.col-25 {
  float: left;
  width: 25%;
  margin-top: 6px;
}
.col-75 {
  float: left;
  width: 75%;
  margin-top: 6px;
}

/* Menghapus float setelah kolom */
.row:after {
  content: "";
  display: table;
  clear: both;
}

/* Responsive layout - Saat layar kurang dari 600px, maka kolom tidak saling bersebelahan */
@media screen and (max-width: 600px) {
  .col-25, .col-75, input[type=submit] {
    width: 100%;
    margin-top: 0;
  }
}

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<h2>Responsive Form</h2>
<p>Ubah ukuran jendela browser untuk melihat efeknya. Ketika layar kurang dari 600px lebar, buat dua kolom bertumpuk di atas satu sama lain, bukan di sebelah satu sama lain.</p>

<div class="container">
  <form>
  <div class="row">
    <div class="col-25">
      <label for="nama_depan">Nama Depan</label>
    </div>
    <div class="col-75">
      <input type="text" id="nama_belakang" name="nama_depan" placeholder="Nama depan...">
    </div>
  </div>
  <div class="row">
    <div class="col-25">
      <label for="nama_belakang">Nama Belakang</label>
    </div>
    <div class="col-75">
      <input type="text" id="nama_belakang" name="nama_belakang" placeholder="Nama belakang..">
    </div>
  </div>

  <div class="row">
    <div class="col-25">
      <label for="negara">Negara</label>
    </div>

    <div class="col-75">
      <select id="negara" name="negara">
        <option value="indonesia">Indonesia</option>
        <option value="brunei">Brunei Darussalam</option>
        <option value="malaysia">Malaysia</option>
      </select>
    </div>
  </div>

  <div class="row">
    <div class="col-25">
      <label for="subject">Subject</label>
    </div>

    <div class="col-75">
      <textarea id="subject" name="subject" placeholder="Tulis sesuatu disini.." style="height:200px"></textarea>
    </div>
  </div>
  <div class="row">
    <input type="submit" value="Submit">
  </div>
  </form>
</div>

</body>
</html>
Hasilnya

Demikian pembahasan mengenai membuat form dan menambahkan efek pada form menggunakan CSS.
Semoga Bermanfaat!

Baca selengkapnya

Senin, 13 Agustus 2018

Belajar CSS Part 29 - Attribute Selector


CSS Attribute Selector
Attribute Selector adalah selector CSS yang digunakan untuk mencari dan menata elemen HTML dengan menggunakan nilai attribut dari tag HTML.
Baca selengkapnya

Minggu, 12 Agustus 2018

Belajar CSS Part 28 - Membuat Galeri Gambar (Image Gallery)


CSS Image Gallery
CSS Image Gallery dapat digunakan untuk membuat sebuah galeri gambar yang didesain menggunakan CSS sehingga bisa memperoleh hasil yang menarik.

Baca selengkapnya

Belajar CSS Part 27 - Dropdown Menu


CSS dropdown
Dropdown adalah elemen kontrol grafis pada halaman web yang mirip dengan kotak list yang memungkinkan pengguna untuk memilih salah satu nilai dari list tersebut.
Baca selengkapnya

Sabtu, 11 Agustus 2018

Belajar CSS Part 26 - Navigation Bar


CSS Navigation Bar
Navigation bar adalah menu navigasi yang dimaksudkan untuk membantu pengunjung situs web dalam mengakses informasi. Hal penting untuk setiap situs web adalah dengan adanya navigation bar yang mudah digunakan oleh pengguna.

Baca selengkapnya

Selasa, 07 Agustus 2018