Category Archives: CSS

CSS

Membuat Center Div

Ada kalanya dalam membuat sebuah halaman web kita membutuhkan bagian yang harus berada di tengah. Biasanya kita menggunakan CSS property “text-align:center”.

Disini akan diberikan 6 cara untuk membuat bagian yang harus berada di tengah itu dengan menggunakan tag div dan CSS.

Cara 1: Menggunakan class parent dan child dengan property “position: relative” dan “margin:auto”

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Centering divs</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }

        #parentContainer {
            width: 100%;
            height: 400px;
            background-color: #2196F3;
            position: relative;
        }

        #childContainer {
            width: 100px;
            height: 100px;
            background-color: #b5deff;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            margin: auto;
        }
    </style>
</head>

<body>
    <div id="parentContainer">Parent Container
        <div id="childContainer">Child Container</div>
    </div>
</body>

</html>

Cara 2: Menggunakan class parent dan child dengan property “margin: auto” saja

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Centering divs</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }

        .center {
            margin: auto;
            padding: 10px;
            width: 300px;
            border: 3px solid #2196F3;
            background-color: #b5deff;
            text-align: center;
        }
    </style>
</head>

<body>

    <h2>Center Align Elements</h2>
    <p>To horizontally center a block element (like div), use margin: auto;</p>

    <div class="center">
        <p>Hello World!</p>
    </div>

</body>

</html>

Cara 3: Menggunakan property “margin: auto” dengan content image

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Centering divs</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }

        .center {
            display: block;
            margin: auto;
            content: url("./gambartengah.jpg");
        }
    </style>
</head>

<body>

    <h2>Center Align Element</h2>
    <p>To horizontally center a block element (like div), use margin: auto;</p>

    <div class="center"></div>
</body>

</html>

Cara 4: Menggunakan property “position: absolute” dan “transform: translate(-50%, -50%)”

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Centering divs</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }

        .center {
            position: absolute;
            transform: translate(-50%, -50%);
            padding: 10px;
            border: 3px solid green;
            top: 50%;
            left: 50%;
        }
    </style>
</head>

<body>
   <h2>Center with position and transform</h2>

    <div class="center">
        <p>vertically and horizontally centered.</p>
    </div>

</body>

</html>

Cara 5: Menggunakan CSS Flexbox dengan property “display: flex” dan “justify-content: center” serta “align-items: center”

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Center Div 5</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }

        .center {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 400px;
            border: 3px solid green;
        }
    </style>
</head>

<body>
    <h2>Flexbox Centering</h2>
    <div class="center">
        <p>I am vertically and horizontally centered.<br>
            <img src="./gambartengah.jpg" alt="Paris" /></p>
    </div>
</body>

</html>

Cara 6: Menggunakan CSS Grid dengan class parent child dan property “display: grid”, “justify-content: center” serta “align-content: center”

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Center Div 5</title>
    <style>
        * {
            box-sizing: border-box;
            margin: 0px;
            padding: 0px;
        }
        .parent {
            display: grid;
            justify-content: center;
            align-content: center;
            height: 600px;
            width: 100%;
            border: 1px solid black;
        }
        .child {
            height: 200px;
            width: 200px;
            background-color: #2196F3;
            text-align: center;
        }
    </style>
</head>

<body>
    <h2>Grid Centering</h2>

    <div class="parent">
        <div class="child">child</div>
    </div>
</body>

</html>

Selamat mencoba, semoga bermanfaat.

Happy Coding!

Membuat Multiple Select Option Checkbox

Pada tulisan kali ini kita akan mencoba membuat multiple select option dengan checkbox. Pada gambar di atas ada 2 bentuk select option. Yang pertama adalah multiple select option tanpa checkbox dan yang kedua adalah multiple select option dengan checkbox.

Untuk membuat multiple select option kita biasanya menggunakan HTML tag <select> dan <option> dengan memberikan atribut ‘multiple’ pada tag select. Berikut ini coding multiple select option yang biasa (tanpa checkbox).

&lt;h2&gt;Multiple Select Option&lt;/h2&gt;
&lt;form&gt;
    &lt;label&gt;Pilihan: &lt;/label&gt;
    Tekan tombol Ctrl untuk memilih beberapa pilihan&lt;br /&gt;
    &lt;select name=&quot;pilih[]&quot; multiple style=&quot;height:70px;width:200px&quot;&gt;
        &lt;option value=&quot;0&quot; disabled&gt;Pilih Opsi&lt;/option&gt;
        &lt;option value='1'&gt;Pilihan Pertama&lt;/option&gt;
        &lt;option value='2'&gt;Pilihan Kedua&lt;/option&gt;
        &lt;option value='3'&gt;Pilihan Ketiga&lt;/option&gt;
    &lt;/select&gt;
    &lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot;Submit&quot;&gt;&lt;/p&gt;
&lt;/form&gt;

Untuk beberapa memilih opsi, kita harus tekan dan tahan tombol ‘Ctrl’ pada keyboard lalu klik opsi-opsi yang ada. Jika kita klik lagi satu opsi tanpa tekan tombol Ctrl maka pilihan yang sudah dipilih tadi akan hilang dan kita harus pilih lagi. Ini tentunya akan sedikit menyulitkan.

Nah, sekarang kita coba buat multiple select option dengan checkbox supaya kita tidak perlu menggunakan tombol ‘Ctrl’ untuk memilih opsinya sehingga opsi-opsi yang sudah dipilih tadi tidak hilang karena lupa tekan tombol ‘Ctrl’. Berikut ini coding multiple select option dengan checkbox. Pada coding tersebut kita menggunakan CSS untuk menempatkan posisi checkbox sedemikian rupa sehingga tampilannya seperti pada gambar diatas. Kita juga menggunakan javascript untuk membuat dropdown selectBox.

&lt;style&gt;
.multiselect{width:200px;}
.selectBox{position: relative;}
.selectBox select {width:100%;}
.overSelect {position: absolute;left: 0;right: 0;top: 0;bottom: 0;}
#checkboxes {display: none;border: 1px #a0a0a0 solid;}
#checkboxes label {display: block;}
#checkboxes label:hover {background-color: #1e90ff;}
&lt;/style&gt;

&lt;h2&gt;Multiple Select Option Checkbox&lt;/h2&gt;
&lt;form&gt;
    &lt;div class=&quot;multiselect&quot;&gt;
        &lt;div class=&quot;selectBox&quot; onclick=&quot;showCheckboxes()&quot;&gt;
            &lt;select&gt;
                &lt;option readonly&gt;Pilih opsi&lt;/option&gt;
            &lt;/select&gt;
            &lt;div class=&quot;overSelect&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div id=&quot;checkboxes&quot;&gt;
            &lt;label for=&quot;satu&quot;&gt;
            &lt;input type=&quot;checkbox&quot; id=&quot;satu&quot; name=&quot;pilih[]&quot; value=&quot;1&quot; /&gt;Pilihan Pertama&lt;/label&gt;
            &lt;label for=&quot;dua&quot;&gt;
            &lt;input type=&quot;checkbox&quot; id=&quot;dua&quot; name=&quot;pilih[]&quot; value=&quot;2&quot; /&gt;Pilihan Kedua&lt;/label&gt;
            &lt;label for=&quot;tiga&quot;&gt;
            &lt;input type=&quot;checkbox&quot; id=&quot;tiga&quot; name=&quot;pilih[]&quot; value=&quot;3&quot; /&gt;Pilihan Ketiga&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot;Submit&quot;&gt;&lt;/p&gt;
&lt;/form&gt;

&lt;script&gt;
    var expanded = false;
    function showCheckboxes() {
        var checkboxes = document.getElementById(&quot;checkboxes&quot;);
        if (!expanded) {
            checkboxes.style.display = &quot;block&quot;;
            expanded = true;
        } else {
            checkboxes.style.display = &quot;none&quot;;
            expanded = false;
        }
    }
&lt;/script&gt;

Selamat mencoba. Happy coding…

Membuat Header dan Footer tetap di atas dan di bawah

Kita akan membuat header tetap berada di atas dan footer tetap berada di bawah jika posisi content di-scroll seperti pada gambar di atas. Walaupun content hanya berisi beberapa baris namun header dan footer tetap di posisinya.

Pada bagian div class fixed-header diberikan CSS properti top:0 untuk membuat header pada posisi atas layar dan pada bagian div class fixed-footer diberikan CSS properti bottom:0 untuk membuat footer pada posisi bawah layar. Untuk membuat posisi header dan footer tetap di posisinya, maka kita berikan CSS properti position: fixed; Walaupun halaman web ini di scroll namun posisi header tetap berada di atas dan footer tetap berada di bawah. Sebagai testing scroll halaman web diberikan CSS properti line-height: 100px; supaya halaman lebih panjang untuk scroll.

Berikut coding CSS dan HTML selengkapnya.

        body {
            margin: 0;
            padding: 0;
        }

        nav a {
            color: #fff;
            text-decoration: none;
            padding: 10px;
            display: inline-block;
        }

        nav a:hover {
            background-color: red;
        }

        .fixed-header,
        .fixed-footer {
            width: 100%;
            position: fixed;
            background: #333;
            padding: 5px;
            color: #fff;
        }

        .fixed-header {
            top: 0;
        }

        .fixed-footer {
            bottom: 0;
            text-align: center;
        }


        .content {
            width: 100%;
            padding-top: 60px;
            padding-bottom: 50px;
        }

        .content p {
            line-height: 100px;
            padding: 10px;
        }
    



    <div class="fixed-header">
        
            <a href="#">Home</a>
            <a href="#">About</a>
            <a href="#">Products</a>
            <a href="#">Contact Us</a>
        
    </div>
    <div class="content">
        <h1>Membuat Fixed Header dan Footer dengan CSS</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui.
            Mauris magna metus, dapibus nec turpis vel, semper malesuada ante. Vestibulum id metus ac nisl bibendum
            scelerisque non non purus. Suspendisse varius nibh non aliquet sagittis. In tincidunt orci sit amet
            elementum vestibulum. Vivamus fermentum in arcu in aliquam. Quisque aliquam porta odio in fringilla. Vivamus
            nisl leo, blandit at bibendum eu, tristique eget risus. Integer aliquet quam ut elit suscipit, id interdum
            neque porttitor. Integer faucibus ligula.
        </p>
        <p>Quis quam ut magna consequat faucibus. Pellentesque eget nisi a mi suscipit tincidunt. Ut tempus dictum
            risus. Pellentesque viverra sagittis quam at mattis. Suspendisse potenti. Aliquam sit amet gravida nibh,
            facilisis gravida odio. Phasellus auctor velit at lacus blandit, commodo iaculis justo viverra. Etiam vitae
            est arcu. Mauris vel congue dolor. Aliquam eget mi mi. Fusce quam tortor, commodo ac dui quis, bibendum
            viverra erat. Maecenas mattis lectus enim, quis tincidunt dui molestie euismod. Curabitur et diam tristique,
            accumsan nunc eu, hendrerit tellus.
        </p>
    </div>
    <div class="fixed-footer">
        Copyright &copy; 2021
    </div>



Selamat mencoba. Happy coding…

Membuat Display Card secara Vertical

Untuk menampilkan CSS Card secara horizontal kita dapat membuatnya dengan coding berikut ini.

&lt;!doctype HTML&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
  &lt;title&gt;CSS Vertical Cards&lt;/title&gt;
  &lt;style&gt; 
html, body {
  font-family: 'Open Sans', 'Helvetica Neue', sans-serif;
  margin:0;padding:0;
}
header {
  overflow: hidden;
  background-color:#1A237E;
  color:#ffffff;
  padding: 10px;
  text-align: center;
  font: bold 25px Roboto;
}
nav {
  background-color:#3F51B5;
  padding: 5px;
  text-align: center;
}
select {
  border: 0;
  font: 20px Roboto;
}
article {
  display: grid;
  grid-gap: 0px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-auto-rows: max-content;
  grid-auto-flow: row dense;
}
.card {
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
    transition: 0.3s;
    width: 95%;
	margin:10px;
}
.card:hover {
    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
}
.container {
    padding: 2px 10px;
}
footer {
  position: relative;
  left: 0;
  bottom: 0;
  padding: 2px 0;
  height: 40px;
  width: 100%;
  background-color:#1A237E;
  color: white;
  text-align: center;
  font: 12px Arial;
}
@keyframes spin {to {stroke-dashoffset:-264;}}
.spinner circle {
  fill: none;
  stroke: yellow;
  stroke-width: 16;
  stroke-linecap: round;
  stroke-dasharray: 0, 0, 70, 194;
  stroke-dashoffset: 0;
  animation: spin 1s infinite linear;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;header&gt;CSS Vertical Cards&lt;/header&gt;
  &lt;nav&gt;
    &lt;select id=&quot;sources&quot; onchange='document.getElementById(&quot;spinner&quot;).style.display=&quot;inline&quot;;'&gt;
	&lt;option value=&quot;cat1&quot;&gt;Category 1&lt;/option&gt;
	&lt;option value=&quot;cat2&quot;&gt;Category 2&lt;/option&gt;
	&lt;option value=&quot;cat3&quot;&gt;Category 3&lt;/option&gt;
	&lt;option value=&quot;cat4&quot;&gt;Category 4&lt;/option&gt;
	&lt;option value=&quot;cat5&quot;&gt;Category 5&lt;/option&gt;
    &lt;/select&gt;
    &lt;svg id=&quot;spinner&quot; class=&quot;spinner&quot; viewBox=&quot;0 0 100 100&quot; width=&quot;20&quot; height=&quot;20&quot; style=&quot;display:none;&quot;&gt;
     &lt;circle cx=&quot;50&quot; cy=&quot;50&quot; r=&quot;42&quot; transform=&quot;rotate(-90,50,50)&quot;&gt;&lt;/circle&gt;&lt;/svg&gt;
  &lt;/nav&gt;
  &lt;article&gt;
	&lt;div class=&quot;card&quot;&gt;
	  &lt;img src=&quot;https://cdn.mos.cms.futurecdn.net/8pa9E97uBFicnzfDGWcuFW-1200-80.jpg&quot; alt=&quot;Amazon Echo Show review&quot; style=&quot;width:100%&quot;&gt;
	  &lt;div class=&quot;container&quot;&gt;
		&lt;a href=&quot;https://www.techradar.com/reviews/amazon-echo-show-review&quot;&gt;
		&lt;h3&gt;Amazon Echo Show review&lt;/h3&gt;&lt;/a&gt;
		&lt;p&gt;This isn't Amazon's first entry into the world of smart screens – the company has two smart screen products currently on the market - the original Echo Show and the smaller Echo Spot. While the Spot is an incredibly cute, quirky little guy with charm in spade…..&lt;/p&gt;
	&lt;/div&gt;
	&lt;/div&gt;		
	&lt;div class=&quot;card&quot;&gt;
	  &lt;img src=&quot;https://cdn.mos.cms.futurecdn.net/kdjAsfBqajhQR2ZFTu7CAb-1200-80.jpg&quot; alt=&quot;Your iPad Pro might have a bend but it’s not a defect&quot; style=&quot;width:100%&quot;&gt;
	  &lt;div class=&quot;container&quot;&gt;
	&lt;a href=&quot;https://www.techradar.com/news/your-ipad-pro-might-have-a-bend-but-its-not-a-defect&quot;&gt;
	&lt;h3&gt;Your iPad Pro might have a bend but it’s not a defect&lt;/h3&gt;&lt;/a&gt;
	&lt;p&gt;Back in November we started hearing reports that some of Apple’s latest iPads – the iPad Pro 11 and iPad Pro 12.9 (2018) - were exhibiting slight bends, either straight out of the box or after normal use. Now, Apple has responded to these claims, admitting th…..&lt;/p&gt;
	 &lt;/div&gt;
	&lt;/div&gt;				  
&lt;div class=&quot;card&quot;&gt;
	&lt;img src=&quot;https://cdn.mos.cms.futurecdn.net/ugAWR3oUmPFtzrKs5ptJwP-1200-80.jpg&quot; alt=&quot;PlayStation Classic drops to just $75 on Amazon&quot; style=&quot;width:100%&quot;&gt;
	&lt;div class=&quot;container&quot;&gt;
	&lt;a href=&quot;https://www.techradar.com/news/playstation-classic-drops-to-just-dollar75-on-amazon&quot;&gt;
	&lt;h3&gt;PlayStation Classic drops to just $75 on Amazon&lt;/h3&gt;&lt;/a&gt;
	&lt;p&gt;Sony’s PlayStation Classic is an amazing device, but we found it doesn’t quite measure up to Nintendo’s NES and SNES nostalgia boxes. Namely, the PS1 revival machine’s games catalog left out some of heavy-hitters. But, thanks to a $25 off deal on Amazon right…..&lt;/p&gt;
	&lt;/div&gt;
	&lt;/div&gt;		
	&lt;div class=&quot;card&quot;&gt;
	&lt;img src=&quot;https://cdn.mos.cms.futurecdn.net/tpDMjdzhEQ4Fe2czRELHhH-1200-80.jpg&quot; alt=&quot;HP Spectre Folio review&quot; style=&quot;width:100%&quot;&gt;
	&lt;div class=&quot;container&quot;&gt;
	&lt;a href=&quot;https://www.techradar.com/reviews/hp-spectre-folio-review&quot;&gt;
	&lt;h3&gt;HP Spectre Folio review&lt;/h3&gt;&lt;/a&gt;
	&lt;p&gt;When HP unveiled the HP Spectre Folio earlier this year, it made some big claims about how the 2-in-1 laptop would reinvent the PC. That’s a pretty huge promise, especially as we’ve seen a number of innovative designs that have changed how we think about PCs.…..&lt;/p&gt;
	 &lt;/div&gt;
	&lt;/div&gt;		
			  
	&lt;div class=&quot;card&quot;&gt;
	  &lt;img src=&quot;https://cdn.mos.cms.futurecdn.net/fPJqvxAMVtc46AyzAKVPbX-1200-80.jpg&quot; alt=&quot;TechRadar's Holiday Gift Guide 2018&quot; style=&quot;width:100%&quot;&gt;
	  &lt;div class=&quot;container&quot;&gt;
	        &lt;a href=&quot;https://www.techradar.com/best/holiday-gift-guide-2018&quot;&gt;
	        &lt;h3&gt;TechRadar's Holiday Gift Guide 2018&lt;/h3&gt;&lt;/a&gt;
		&lt;p&gt;The TechRadar editorial team spends all year testing and writing about gadgets so that you, the consumer, know about the best gadgets to buy. And there's no more important time for us than Black Friday and Cyber Monday. It's when we see our tech buying advice…..&lt;/p&gt;
	   &lt;/div&gt;
	&lt;/div&gt;		
			  
	&lt;div class=&quot;card&quot;&gt;
	  &lt;img src=&quot;https://cdn.mos.cms.futurecdn.net/FtQZs2si8P9CozVhQ8W56c-1200-80.jpg&quot; alt=&quot;10 ways to stay connected on the go without your smartphone&quot; style=&quot;width:100%&quot;&gt;
	  &lt;div class=&quot;container&quot;&gt;
	        &lt;a href=&quot;https://www.techradar.com/news/10-ways-to-stay-connected-on-the-go-without-your-smartphone&quot;&gt;
		&lt;h3&gt;10 ways to stay connected on the go without your smartphone&lt;/h3&gt;&lt;/a&gt;
		&lt;p&gt;Ten years after the first iPhone burst onto the scene, defining the smartphone, more than a billion people across the world use a smartphone every day, and in the west roughly two-thirds of the population have committed to the ‘smart’ life. From breakfast to …..&lt;/p&gt;
	     &lt;/div&gt;
	 &lt;/div&gt;		
    &lt;/article&gt;
&lt;footer&gt;&lt;p&gt;CSS Card Vertical © 2019&lt;/p&gt;&lt;/footer&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba. Semoga berhasil.

Membuat Display Card secara Horizontal

CSSHorizontalCard

Untuk menampilkan CSS Card secara horizontal kita dapat membuatnya dengan coding berikut ini.
Pada script CSS kita gunakan ukuran tinggi dan lebar secara relative dengan satuan em (2em = 2 kali ukuran font saat ini) dan juga vh (1vh = 1% dari tinggi viewport).
Pada script CSS ini juga kita buat supaya tampilan text yang terlalu panjang ditampilkan gradient seolah-olah akan hilang/putus seperti pada card 5.

Berikut coding selengkapnya.

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;meta charset=&quot;utf-8&quot;&gt;
	&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
	&lt;title&gt;CSS Horizontal Cards&lt;/title&gt;
	&lt;style&gt;
	html,body {
	  margin: 0; padding:0;
	  width: 100vw;
	  overflow-x: hidden;
	  background-color: #f0f0f0;
	  font: 14px 'Open Sans', sans-serif;
	  line-height: 1.4em;
	  color: #404646;
	}
	header {
	  overflow: hidden;
	  background-color:#1565C0;
	  color:#ffffff;
	  padding: 10px;
	  text-align: center;
	  font: bold 25px Roboto;
	}
	.container {
	  box-sizing: border-box;
	  min-height: 83vh;
	  width: 100%;
	  margin: auto;
	  display: flex;
	  flex-flow: row wrap;
	  align-content: flex-start;
	  padding: 0.2em;
	}
	.card {
	  margin: 0.5em 1.2em 0.5em 0.1em;
	  height: 14em;
	  max-width: 99%;
	  flex: 1 1 auto;
	  display: flex;
	  background-color: white;
	  box-shadow: 1px 3px 3px rgba(0, 10, 20, 0.06);
	  border-radius: 15px;
	}
	.card img {
	  height: 100%;
	  max-width: 10em;
	  -o-object-fit: cover;
		 object-fit: cover;
	  flex: 1 1 auto;
	  border-radius: 15px 0 0 15px;
	}
	.card-body {
	  width: 12em;
	  max-height: 100%;
	  flex: 1 1 auto;
	  display: flex;
	  flex-flow: column nowrap;
	  justify-content: flex-start;
	  padding: 1em;
	}
	.card-body button {
	  min-width: 8.3em;
	  flex: none;
	  align-self: flex-start;
	  margin-top: auto;
	  padding: 0.6em 1.2em;
	  font-size: 0.92em;
	  color: #404646;
	  background: none;
	  border: 0.5px solid #777;
	  border-radius: 5px;
	}
	.card-body button:hover {
	  border-color: #BBDEFB;
	  background:#BBDEFB;
	}
	.card-text {
	  position: relative;
	  flex: 1;
	  overflow: hidden;
	  text-overflow: ellipsis;
	  margin: 0 0 0.8em 0;
	  padding: 0;
	}
	.card-text h3, .card-text p {
	  margin-top: 0;
	}
	.card-text:after {
	  position: absolute;
	  bottom: 0;
	  content: &quot;&quot;;
	  width: 100%;
	  height: 1em;
	  background: linear-gradient(rgba(255, 255, 255, 0), white);
	}
	a {
	  color: #d07777;
	  text-decoration: none;
	}
	a:hover {
	  text-decoration: underline;
	}
	footer {
	  position:relative;
	  left: 0;
	  bottom: 0;
	  height: 40px;
	  width: 100%;
	  background-color:#1565C0;
	  color: white;
	  text-align: center;
	  vertical-align: text-bottom;
	}
	&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;header&gt;CSS Horizontal Cards&lt;/header&gt;
	&lt;div class='container'&gt;
		&lt;div class='card'&gt;
			&lt;img src='https://images.pexels.com/photos/462235/pexels-photo-462235.jpeg?auto=compress&amp;amp;cs=tinysrgb&amp;amp;h=750&amp;amp;w=1260'&gt;
			&lt;div class='card-body'&gt;
			  &lt;div class='card-text'&gt;
				&lt;h3&gt;1. Lorem ipsum&lt;/h3&gt;
				&lt;p&gt;
				  Also check out the
				  &lt;a href='https://codepen.io/abcretrograde/pen/ZogNOZ' target='_blank'&gt;Grid&amp;nbsp;version&lt;/a&gt;
				&lt;/p&gt;
			  &lt;/div&gt;
			  &lt;button&gt;More...&lt;/button&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		
		&lt;div class='card'&gt;
			&lt;img src='https://images.pexels.com/photos/1065711/pexels-photo-1065711.jpeg?auto=compress&amp;amp;cs=tinysrgb&amp;amp;h=750&amp;amp;w=1260'&gt;
			&lt;div class='card-body'&gt;
			  &lt;div class='card-text'&gt;
				&lt;h3&gt;2. Lorem ipsum&lt;/h3&gt;
				&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/p&gt;
			  &lt;/div&gt;
			  &lt;button&gt;More...&lt;/button&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		
		&lt;div class='card'&gt;
			&lt;img src='https://images.pexels.com/photos/139248/pexels-photo-139248.jpeg?auto=compress&amp;amp;cs=tinysrgb&amp;amp;h=750&amp;amp;w=1260'&gt;
			&lt;div class='card-body'&gt;
			&lt;div class='card-text'&gt;
				&lt;h3&gt;3. Lorem ipsum&lt;/h3&gt;
				&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/p&gt;
			&lt;/div&gt;
			&lt;button&gt;More...&lt;/button&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		
		&lt;div class='card'&gt;
			&lt;img src='https://images.pexels.com/photos/6273/home-decoration-interior-decor.jpg?auto=compress&amp;amp;cs=tinysrgb&amp;amp;h=750&amp;amp;w=1260'&gt;
			&lt;div class='card-body'&gt;
			  &lt;div class='card-text'&gt;
				&lt;h3&gt;4. Lorem ipsum&lt;/h3&gt;
				&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/p&gt;
			  &lt;/div&gt;
			  &lt;button&gt;More...&lt;/button&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		
		&lt;div class='card'&gt;
			&lt;img src='https://images.pexels.com/photos/924675/pexels-photo-924675.jpeg?auto=compress&amp;amp;cs=tinysrgb&amp;amp;h=750&amp;amp;w=1260'/&gt;
			&lt;div class='card-body'&gt;
			  &lt;div class='card-text'&gt;
				&lt;h3&gt;5. Lorem ipsum&lt;/h3&gt;
				Lorem Ipsum is simply dummy text of the printing and typesetting industry. 
				Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, 
				when an unknown printer took a galley of type and scrambled it to make a type specimen book. 
				It has survived not only five centuries, but also the leap into electronic typesetting, 
				remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset 
				sheets containing Lorem Ipsum passages, and more recently with desktop publishing software 
				like Aldus PageMaker including versions of Lorem Ipsum.In porttitor porta mi pharetra tempor.&lt;/p&gt;
			  &lt;/div&gt;
			  &lt;button&gt;More...&lt;/button&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div style=&quot;clear: both;&quot;&gt;&lt;/div&gt;
	&lt;footer&gt;&lt;p&gt;CSS Horizontal Card - &amp;copy; 2019&lt;/p&gt;&lt;/footer&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba. Semoga bermanfaat.

Membuat Spiner svg dengan CSS

Spinner svg

Untuk menampilkan animasi lingkaran berputar saat menunggu proses di web sebaiknya kita gunakan html tag karena lebih ringan dari pada menggunakan file gif. Elemen HTML SVG (Scalable Vector Graphics) dapat menampilkan bentuk gambar lingkaran , persegi , poligon atau lainnya.
Kita akan memanfaatkannya untuk membuat animasi lingkaran berputar dengan rule CSS @keyframes animation.

Berikut coding selengkapnya.

&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;/&gt;
  &lt;title&gt;Spinner&lt;/title&gt;
  &lt;style&gt;
  @keyframes spin {to {stroke-dashoffset:-260;}}/* minus = searah jarum jam */
  .spinner circle {
    fill: #ffff00; /* warna lingkaran */
    stroke: #ff0000; /* warna garis */
    stroke-width: 15; /* tebal garis */
    stroke-linecap: round; /* bentuk ujung garis */
    stroke-dasharray: 0, 0, 80, 50;  /* garis putus */
    stroke-dashoffset: 0; /* tempat mulai putus */
    animation: spin 1s infinite linear; /* kecepatan putar 1 detik */
  }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h3&gt;Membuat Spiner svg dengan CSS&lt;/h3&gt;  
  &lt;svg class=&quot;spinner&quot; viewBox=&quot;0 0 100 100&quot; width=&quot;25&quot; height=&quot;25&quot;&gt;
    &lt;circle cx=&quot;50&quot; cy=&quot;50&quot; r=&quot;40&quot; transform=&quot;rotate(-90,50,50)&quot; /&gt;
  &lt;/svg&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba. Semoga bermanfaat.

Membuat Tabel Responsive

Untuk menampilkan tabel yang panjang diperangkat mobile dengan layar kecil tentu akan menyulitkan kita untuk melihatnya. Kita akan membuat tampilan tabel dengan banyak kolom menjadi baris secara responsive mengikuti ukuran layar smartphone seperti pada gambar di atas.

Berikut coding selengkapnya.

&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;utf-8&quot;&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
  &lt;title&gt;Responsive Table&lt;/title&gt;
  &lt;style&gt;
  	table,th,td {border-collapse:collapse;font:12px verdana;border:1px #c0c0c0 solid;color:#808080;}
	table tr:hover td {background:#BBDEFB;}
	table th {background-color:#BBDEFB;color:#1a73eb;padding:8px;}
	table tr:nth-child(odd) {background-color:#E3F2FD;}
	@media only screen and (max-width:500px)  {
		table,thead,tbody,th,td,tr{display:block;}
		thead tr {
			position: absolute;
			top: -9999px;
			left: -9999px;
		}
		tr {margin:0 0 1rem 0;}
		td {
			position: relative;
			padding-left: 160px;
		}
		td:before {
			position: absolute;
			top: 0;
			left: 6px;
			width: 25%;
			padding-right: 10px;
			white-space: nowrap;
			color:#1a73eb;
		}
		td:nth-of-type(1):before { content: &quot;No.&quot;; }
		td:nth-of-type(2):before { content: &quot;Nama&quot;; }
		td:nth-of-type(3):before { content: &quot;Versi&quot;; }
		td:nth-of-type(4):before { content: &quot;Tanggal Rilis&quot;; }
		td:nth-of-type(5):before { content: &quot;Versi Kernel Linux&quot;; }
		td:nth-of-type(6):before { content: &quot;Level API&quot;; }
		td:nth-of-type(7):before { content: &quot;Fitur&quot;; }
	}
	&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Table Responsive&lt;/h1&gt;
&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
    &lt;th&gt;No.&lt;/th&gt;
    &lt;th&gt;Nama&lt;/th&gt;
    &lt;th&gt;Versi Android&lt;/th&gt;
    &lt;th&gt;Tanggal Rilis&lt;/th&gt;
	&lt;th&gt;Versi Kernel Linux&lt;/th&gt;
	&lt;th&gt;Level API&lt;/th&gt;
	&lt;th&gt;Fitur&lt;/th&gt;
	&lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;Froyo&lt;/td&gt;
    &lt;td&gt;2.2&lt;/td&gt;
    &lt;td&gt;10 Mei 2010&lt;/td&gt;
	&lt;td&gt;?&lt;/td&gt;
	&lt;td&gt;8&lt;/td&gt;
	&lt;td&gt;USB tethering and Wi-Fi hotspot functionality&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;2&lt;/td&gt;
    &lt;td&gt;Gingerbread&lt;/td&gt;
    &lt;td&gt;2.3&lt;/td&gt;
    &lt;td&gt;6 Desember 2010&lt;/td&gt;
	&lt;td&gt;2.6.35&lt;/td&gt;
	&lt;td&gt;9-10&lt;/td&gt;
	&lt;td&gt;Support for Near Field Communication (NFC)&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;3&lt;/td&gt;
    &lt;td&gt;Honeycomb&lt;/td&gt;
    &lt;td&gt;3.0&lt;/td&gt;
    &lt;td&gt;22 Februari 2011&lt;/td&gt;
	&lt;td&gt;2.6.36&lt;/td&gt;
	&lt;td&gt;11-13&lt;/td&gt;
	&lt;td&gt;Increased ability of applications to access files on the SD card&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;4&lt;/td&gt;
    &lt;td&gt;Ice Cream Sandwich&lt;/td&gt;
    &lt;td&gt;4.0&lt;/td&gt;
    &lt;td&gt;19 Oktober 2011&lt;/td&gt;
	&lt;td&gt;3.0.1&lt;/td&gt;
	&lt;td&gt;14-15&lt;/td&gt;
	&lt;td&gt;Improvements to graphics, databases, spell-checking and Bluetooth functionality&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;5&lt;/td&gt;
    &lt;td&gt;Jelly Bean&lt;/td&gt;
    &lt;td&gt;4.1&lt;/td&gt;
    &lt;td&gt;9 Juli 2012&lt;/td&gt;
	&lt;td&gt;3.0.31-39&lt;/td&gt;
	&lt;td&gt;16-18&lt;/td&gt;
	&lt;td&gt;Bluetooth Audio/Video Remote Control Profile (AVRCP) 1.3 support&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;6&lt;/td&gt;
    &lt;td&gt;Kitkat&lt;/td&gt;
    &lt;td&gt;4.4&lt;/td&gt;
    &lt;td&gt;31 Oktober 2013&lt;/td&gt;
	&lt;td&gt;3.10&lt;/td&gt;
	&lt;td&gt;19-20&lt;/td&gt;
	&lt;td&gt;UI updates for Google Maps navigation and alarmsv&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;7&lt;/td&gt;
    &lt;td&gt;Lollipop&lt;/td&gt;
    &lt;td&gt;5.0&lt;/td&gt;
    &lt;td&gt;12 November 2014&lt;/td&gt;
	&lt;td&gt;3.16&lt;/td&gt;
	&lt;td&gt;21-22&lt;/td&gt;
	&lt;td&gt;Ability to join Wi-Fi networks and control paired Bluetooth devices from quick settings&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;8&lt;/td&gt;
    &lt;td&gt;Marshmallow&lt;/td&gt;
    &lt;td&gt;6.0&lt;/td&gt;
    &lt;td&gt;28 Mei 2015&lt;/td&gt;
	&lt;td&gt;3.18&lt;/td&gt;
	&lt;td&gt;23&lt;/td&gt;
	&lt;td&gt;Doze mode, which reduces CPU speed while the screen is off in order to save battery life&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;9&lt;/td&gt;
    &lt;td&gt;Nougat&lt;/td&gt;
    &lt;td&gt;7.0&lt;/td&gt;
    &lt;td&gt;22 Agustus 2016&lt;/td&gt;
	&lt;td&gt;4.4&lt;/td&gt;
	&lt;td&gt;24-25&lt;/td&gt;
	&lt;td&gt;Touch/display performance improvements&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;10&lt;/td&gt;
    &lt;td&gt;Oreo&lt;/td&gt;
    &lt;td&gt;8.0&lt;/td&gt;
    &lt;td&gt;21 Agustus 2017&lt;/td&gt;
	&lt;td&gt;4.10&lt;/td&gt;
	&lt;td&gt;26-27&lt;/td&gt;
	&lt;td&gt;Bluetooth battery level for connected devices, accessible in Quick Settings&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba. Semoga bermanfaat.

Tombol Switch dengan CSS

Kali ini kita akan mencoba membuat tombol geser kiri kanan (switch button) dengan menggunakan CSS lalu mengambil statusnya dengan javascript.
Kita manfaatkan properti CSS: ‘appearance’ pada elemen input checkbox untuk manipulasi tampilan field checkbox biasa menjadi tombol geser.
Kita juga menfaatkan pseudo-element ‘:before’ untuk manipulasi tampilan content di dalam tombol switch.

Berikut coding selengkapnya.

&lt;!doctype html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
	&lt;meta charset=&quot;utf-8&quot;&gt;
	&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
	&lt;title&gt;CSS Switch Botton&lt;/title&gt;
	&lt;style&gt;
	.toggle {
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  appearance: none;
	  width: 98px;
	  height: 30px;
	  position: relative;
	  border-radius: 20px;
	  display: inline-block;
	  overflow: hidden;
	  outline: none;
	  border: none;
	  cursor: pointer;
	  background-color: #707070;
	  transition: background-color ease 0.3s;
	}
	.toggle:before {
	  content: &quot;Depan Belakang&quot;;
	  display: block;
	  position: absolute;
	  z-index: 2;
	  width: 25px;
	  height: 25px;
	  background: #fff;
	  left: 2px;
	  top: 2px;
	  border-radius: 50%;
	  font:bold 12px/28px Helvetica;
	  text-indent: -40px;
	  word-spacing: 30px;
	  color: #fff;
	  text-shadow: -1px -1px rgba(0,0,0,0.15);
	  white-space: nowrap;
	  box-shadow: 0 1px 2px rgba(0,0,0,0.2);
	  transition: all cubic-bezier(0.3, 1.5, 0.7, 1) 0.3s;
	}
	.toggle:checked {background: #4CD964;}
	.toggle:checked:before {left:70px;}
	&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h2 id=&quot;status&quot;&gt;Belakang&lt;/h2&gt;
&lt;input id=&quot;swbtn&quot; class=&quot;toggle&quot; type=&quot;checkbox&quot; /&gt;
&lt;script&gt;
	let swbtn = document.getElementById(&quot;swbtn&quot;);
	let status = document.getElementById(&quot;status&quot;);
	swbtn.addEventListener(&quot;click&quot;, function(){
		if (swbtn.checked) {
			status.innerHTML = &quot;Depan&quot;;
		} else if (!swbtn.checked)	{
			status.innerHTML = &quot;Belakang&quot;;
		}
	});
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba. Semoga bermanfaat.

Sumber: https://danklammer.com/articles/simple-css-toggle-switch/

CSS Hide Show Field

css_showhide

css_showhide

Halo Semua, kali ini saya akan memberikan cara bagaimana menampilkan dan menyembunyikan (Show Hide Toggle) elemen html hanya dengan menggunakan CSS saja.
Mengapa dengan CSS bukan JavaScript? Ya, JavaScript memang bisa melakukan apa saja yang bisa dilakukan dengan CSS, tapi lebih simpel dengan CSS, Keep It Simple Smart! 🙂
CSS menyediakan pseudo-class “:checked” yang bisa kita gunakan pada selector CSS, dalam hal ini id=trigger.
Tanda tilde (~) pada selector .trigger:checked ~ .toggle1 digunakan untuk memilih element toggle1 yang ditempatkan secara langsung setelah memilih (:checked) element .trigger.

Berikut coding selengkapnya.

&lt;!doctype html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;CSS Toggle&lt;/title&gt;
&lt;style&gt;
   .toggle1 {display:none;}
   .trigger:checked ~ .toggle1 {display:inline;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div&gt; Warna Favorit: &lt;/div&gt;
&lt;input type=&quot;radio&quot; name=&quot;warna&quot; id=&quot;Merah&quot;/&gt;&lt;label for=&quot;Merah&quot;&gt;Merah&lt;/label&gt;
&lt;input type=&quot;radio&quot; name=&quot;warna&quot; id=&quot;Hijau&quot;/&gt;&lt;label for=&quot;Hijau&quot;&gt;Hijau&lt;/label&gt;
&lt;input type=&quot;radio&quot; name=&quot;warna&quot; id=&quot;Biru&quot;/&gt;&lt;label for=&quot;Biru&quot;&gt;Biru&lt;/label&gt;
&lt;input type=&quot;radio&quot; name=&quot;warna&quot; class=&quot;trigger&quot; id=&quot;Lainnya&quot;/&gt;&lt;label for=&quot;Lainnya&quot;&gt;Lainnya : &lt;/label&gt;
&lt;input type=&quot;text&quot; name=&quot;warna&quot; class=&quot;toggle1&quot; autofocus/&gt;
&lt;/body&gt;
&lt;/html&gt;

Anda tertarik, selamat mencoba.

Sumber: http://css-workshop.com/css-show-hide-div-without-javascript/

Membuat Tooltip yang Mengikuti Pointer Mouse

tooltips

Sekarang kita coba membuat tooltip seperti gambar di atas. Yang membuat saya tertarik adalah tooltip ini bisa bergerak mengikuti gerakan pointer mouse di sepanjang text link.

Tampilan kotak tooltip kita buat dengan menggunakan CSS lalu untuk menggerakan kotak tersebut kita pakai javascript

&lt;script&gt;
var tooltip = document.querySelectorAll('.tooltip');
document.addEventListener('mousemove', fn, false);
function fn(e) {
  for (var i = tooltip.length; i--;) {
    tooltip[i].style.left = e.pageX + 'px';
    tooltip[i].style.top = e.pageY + 'px';
  }
}
&lt;/script&gt;

Untuk coding lengkapnya silakan coba di bawah ini.

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;title&gt;CSS Tooltip&lt;/title&gt;
  &lt;style&gt;
	a:hover .tooltip 
	{ display: block; }
	.tooltip {
	  display: none;
	  position: absolute;
	  z-index: 1000;
	  margin: 15px;
	  border:2px solid #0094ff;
	  border-radius: 8px 8px 0 0;
	  width:400px;
	  font: 12px Arial;
	}
	.tooltip h3 {
	  background:#0094ff;
	  color:#ffffff;
	  margin:0;
	  padding:8px;
	}
	.tooltip p {
	  background:#f0f0f0;
	  color:#000000;
	  margin:0;padding:8px; 
	}
	&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;a href=&quot;#&quot; &gt;Ini adalah link dengan tooltip mengikuti pointer mouse
&lt;div class=&quot;tooltip&quot;&gt;
    &lt;h3&gt;Contoh Teks Lorem Ipsum yang Lazim Digunakan&lt;/h3&gt;
    &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing 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.&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt; 

&lt;script&gt;
var tooltip = document.querySelectorAll('.tooltip');
document.addEventListener('mousemove', fn, false);
function fn(e) {
  for (var i = tooltip.length; i--;) {
    tooltip[i].style.left = e.pageX + 'px';
    tooltip[i].style.top = e.pageY + 'px';
  }
}
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba, semoga sukses.

Membuat Slideshow dengan CSS3

Hampir di setiap website kita temui slideshow. Kali ini saya berikan contoh membuat slideshow yang sangat simple hanya dengan menggunakan CSS, tanpa javascript.

CSS3 memiliki property “animation” yang akan kita gunakan untuk mengganti 1 gambar dengan gambar lainnya.

Pertama kita berikan nama animation : slideshow
dengan durasi: 9 detik (3 gambar masing masing tampil 3 detik)
dan kecepatan tiap slide berjalan sama atau linear.
Supaya slideshow ini jalan terus maka kita berikan animation-iteration-count: infinite.

img {
 animation-name: slideshow;
 animation-duration: 9s;
 animation-timing-function: linear;
 animation-iteration-count: infinite;
}

4 baris property “animation” poada css tersebut bisa kita singkat penulisannya (shorthand CSS) menjadi:
animation: slideshow 9s linear 0s infinite;

Kemudian kita buat @Keyframes untuk animation-name: slideshow untuk memberikan efek transisi antar gambar tersebut.

@keyframes slideshow {
   25% { opacity: 1;}
   33.33% { opacity: 0;}
   91.66% { opacity: 0;}
   100% { opacity: 1;}
}

Berikut coding selengkapnya.

&lt;!DOCTYPE HTML&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Slideshow CSS3&lt;/title&gt;
&lt;style&gt;
div {margin: 100px 200px; }
img {
  position: absolute;
  z-index: 3;
  animation: slideshow 9s linear 0s infinite;
}
img:nth-child(2) {
  z-index: 2;
  animation: slideshow 9s linear 3s infinite;
}
img:nth-child(3) {
   z-index: 1;
  animation: slideshow 9s linear 6s infinite;
}
@keyframes slideshow {
   25% { opacity: 1;}
   33.33% { opacity: 0;}
   91.66% { opacity: 0;}
   100% { opacity: 1;}
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div&gt;
	&lt;img src=&quot;images/img_1.jpg&quot; alt=&quot;Gambar 1&quot;/&gt;
	&lt;img src=&quot;images/img_2.jpg&quot; alt=&quot;Gambar 2&quot;/&gt;
	&lt;img src=&quot;images/img_3.jpg&quot; alt=&quot;Gambar 3&quot;/&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

Membuat Popup Window dengan CSS

modal-box-dengan-css

Bagaimana cara membuat popup window tanpa javascript?
Kita bisa membuat modal dialog box atau yang dikenal popup window hanya dengan menggunakan CSS3 dan HTML5
Berikut ini codingnya :

&lt;!DOCTYPE html&gt;
&lt;head&gt;
	&lt;title&gt;Modal box dengan CSS3&lt;/title&gt;
	&lt;style&gt;
	.modalDialog {
		position: fixed;
		font-family: Arial, Helvetica, sans-serif;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: rgba(0,0,0,0.8);
		z-index: 99999;
		opacity:0;
		transition: opacity 200ms ease-in;
		pointer-events: none;
	}
	.modalDialog:target {opacity:1;	pointer-events: auto;}
	.modalDialog &gt; div {
		width: 400px;
		position: relative;
		margin: 10% auto;
		padding: 5px 20px 13px 20px;
		border-radius: 10px;
		background: #fff;
		background: linear-gradient(#fff, #aaa);
	}
	.close:hover { background:#00d9ff; }
	.close {
		background: #606061;
		color: #FFFFFF;
		line-height: 25px;
		position: absolute;
		text-align: center;
		top: -10px;
		right: -12px;
		width: 24px;
		text-decoration: none;
		font-weight: bold;
		border-radius: 12px;
		box-shadow: 1px 1px 3px #000;
	}
	
input[type=text], input[type=password] {
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    box-sizing: border-box;
}
button {
    background-color: #4CAF50;
    color: white;
    padding: 14px 20px;
    margin: 8px 0;
    border: none;
    cursor: pointer;
    width: 100%;
}
span.psw {
    float: right;
}

	&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;&lt;a href=&quot;#openModal&quot;&gt;Open Modal&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;#iklan&quot;&gt;IKLAN&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;#login&quot;&gt;Login&lt;/a&gt;&lt;/p&gt;


&lt;div id=&quot;openModal&quot; class=&quot;modalDialog&quot;&gt;
	&lt;div&gt;
		&lt;a href=&quot;#&quot; title=&quot;Close&quot; class=&quot;close&quot;&gt;X&lt;/a&gt;
		&lt;h2&gt;Perhatian!&lt;/h2&gt;
		&lt;p&gt;Ini adalah contoh kotak dialog modal yang dibuat hanya dengan menggunakan CSS3 saja, tanpa javascript.&lt;/p&gt;
		&lt;p&gt;Silakan diubah sesuai kebutuhan, seperti membuat iklan pop-up yang tampil saat website terbuka,
		atau membuat form login/register user.&lt;/p&gt;
	&lt;/div&gt;
&lt;/div&gt;

&lt;div id=&quot;iklan&quot; class=&quot;modalDialog&quot;&gt;
	&lt;div&gt;
		&lt;a href=&quot;#&quot; title=&quot;Close&quot; class=&quot;close&quot;&gt;X&lt;/a&gt;
		&lt;h3&gt;Dapatkan Buku Proyek PHP &amp; MySQL :&lt;/h3&gt; 
		&lt;h2&gt;&quot;Membuat Helpdesk System Berbasis OOP dan PDO dengan PHP&quot;&lt;/h2&gt;
		&lt;p&gt;di toko buku online Lokomedia&lt;br/&gt;
		Harga: Rp 50.000,-&lt;/p&gt;
	&lt;/div&gt;
&lt;/div&gt;

&lt;div id=&quot;login&quot; class=&quot;modalDialog&quot;&gt;
	&lt;div&gt;
		&lt;a href=&quot;#&quot; title=&quot;Close&quot; class=&quot;close&quot;&gt;X&lt;/a&gt;
		&lt;h3&gt;Please Log in&lt;/h3&gt; 
		&lt;form  action=&quot;action_page.php&quot;&gt;
		&lt;label&gt;&lt;b&gt;Username&lt;/b&gt;&lt;/label&gt;
		&lt;input type=&quot;text&quot; placeholder=&quot;Enter Username&quot; name=&quot;uname&quot; required&gt;
		&lt;label&gt;&lt;b&gt;Password&lt;/b&gt;&lt;/label&gt;
		&lt;input type=&quot;password&quot; placeholder=&quot;Enter Password&quot; name=&quot;psw&quot; required&gt;
		&lt;button type=&quot;submit&quot;&gt;Log in&lt;/button&gt;
		&lt;input type=&quot;checkbox&quot; id=&quot;Remember&quot; checked=&quot;checked&quot;&gt; &lt;label for=&quot;Remember&quot;&gt;Remember me&lt;/label&gt;
		&lt;span class=&quot;psw&quot;&gt;&lt;a href=&quot;#login&quot;&gt;Forgot password?&lt;/a&gt;&lt;/span&gt;
	&lt;/form&gt;
	&lt;/div&gt;
&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba, semoga sukses.

Membuat Table dengan CSS dan tag DIV

css table div

css table div

Selain menggunakan HTML tag <table>, Anda juga dapat membuat table dengan menggunakan tag <div> dan CSS.

CSS menyediakan atribut display:table untuk menampilkan element HTML berbentuk table.

Berikut ini coding selengkapnya:

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;CSS Table Div&lt;/title&gt;
&lt;style&gt;
html,body{font:14px arial,verdana,san-serif;}
.container{
    display:table;
    width:400px;
    border-collapse:collapse;
	margin:0 auto;
	line-height:25px;
}
.table-row:hover{background-color:#99ccff;}
.heading{
    font-weight:bold;
    display:table-row;
    background-color:#C91622;
    text-align:center;
    line-height:35px;
    color:#ffffff;
}
.table-row{  
    display:table-row;
    text-align:center;
}
.strip{  
    display:table-row;
    text-align:center;
	background-color:#f0f0f0;
}
.col{ 
	display:table-cell;
 	border:1px solid #CCC;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Membuat Table dengan CSS dan tag DIV&lt;/h1&gt;
&lt;hr/&gt;&lt;br/&gt;
&lt;div class=&quot;container&quot;&gt;
    &lt;div class=&quot;heading&quot;&gt;
		&lt;div class=&quot;col&quot;&gt;No.&lt;/div&gt;
		&lt;div class=&quot;col&quot;&gt;Browser&lt;/div&gt;
    &lt;/div&gt;
	&lt;div class=&quot;table-row&quot;&gt;
		&lt;div class=&quot;col&quot;&gt;1&lt;/div&gt;
		&lt;div class=&quot;col&quot;&gt;IE&lt;/div&gt;
    &lt;/div&gt;
	&lt;div class=&quot;table-row strip&quot;&gt;
        &lt;div class=&quot;col&quot;&gt;2&lt;/div&gt;
		&lt;div class=&quot;col&quot;&gt;Firefox&lt;/div&gt;
    &lt;/div&gt;
	&lt;div class=&quot;table-row&quot;&gt;
        &lt;div class=&quot;col&quot;&gt;3&lt;/div&gt;
		&lt;div class=&quot;col&quot;&gt;Chrome&lt;/div&gt;
    &lt;/div&gt;
	&lt;div class=&quot;table-row strip&quot;&gt;
        &lt;div class=&quot;col&quot;&gt;4&lt;/div&gt;
		&lt;div class=&quot;col&quot;&gt;Opera&lt;/div&gt;
    &lt;/div&gt;
	&lt;div class=&quot;table-row&quot;&gt;
        &lt;div class=&quot;col&quot;&gt;5&lt;/div&gt;
		&lt;div class=&quot;col&quot;&gt;Safari&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

Silakan mencoba.

 

 

Selected Table Row dengan CSS

Selected Table Row dengan CSS

Selected Table Row dengan CSS

Table hover sudah pernah kita bahas dan kali ini saya berikan cara supaya kita bisa click baris-baris pada table. Selain warna yang berubah pada baris di tunjuk oleh pointer mouse, kita juga bisa di click beberapa baris untuk memilihnya (selected table row).

Hal ini dapat dilakukan dengan menggunakan fungsi javascript querySelectorAll() dan addEventListener().
Berikut ini coding selengkapnya:

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;CSS Select Table Row&lt;/title&gt;
&lt;style&gt;
.mytable,th,td{border:1px solid #ffffff;border-collapse:collapse;font:12px verdana,arial,sans-serif;}
.mytable th {background:#000099;color:#ffffff;padding:10px;font-weight:bold;}
.mytable td {padding:8px;}
.mytable tr {background:#f0f0f0;}
.mytable tr:hover td {background:#c0c0c0;}
.mytable tr.selected {background: #00aacc;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;table class=&quot;mytable&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;&lt;th&gt;No.&lt;/th&gt;&lt;th width=&quot;200&quot;&gt;Table Head 1&lt;/th&gt;&lt;th width=&quot;200&quot;&gt;Table Head 2&lt;/th&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;td&gt;content&lt;/td&gt;&lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
var trs = document.querySelectorAll(&quot;tr&quot;);
for (var i = 0; i &lt; trs.length; i++) {
    trs[i].addEventListener(&quot;click&quot;, function() 
    {   if(this.className.indexOf(&quot;selected&quot;) == 0)
            this.className = &quot;&quot;;
        else 
            this.className = &quot;selected&quot;;
    });
}
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba, semoga sukses.

Membuat Tombol Push Botton untuk Link href dengan CSS

Link Berbentuk Tombol

Link Berbentuk Tombol

Umumnya kita membuat html link (tag a href) berbentuk text yang bisa di click. nah… disini saya akan berikan cara membuat supaya link (a href) berbentuk tombol seperti html tag input atau tag botton dengan menggunakan CSS3.

Berikut ini coding HTMM dan CSS untuk membuat tombol Push Botton untuk Link href dengan CSS:


&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Tombol Link&lt;/title&gt;
&lt;style&gt;
a.tombol {
   background-color:#b0b0b0;
   font:bold 20px arial,sans-serif;
   text-decoration:none;
   color:#fff;
   margin:5px;
   position:relative;
   padding:10px 20px;
   border-radius: 5px;
   box-shadow: inset 0px 1px 0px #a0a0a0,
                     0px 3px 0px 0px #808080,
                     0px 5px 3px #999;}
a.tombol:active {
   background-color:#ff0000; top:3px;
   box-shadow: inset 0px 1px 0px #a0a0a0,
                     0px 1px 0px 0px #808080,
                     0px 1px 3px #999;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h2&gt;Membuat Tombol Push Botton&lt;br/&gt;
untuk Link href dengan CSS&lt;/h2&gt;
&lt;hr align=&quot;left&quot; width=&quot;200&quot;/&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=1&quot;&gt;1&lt;/a&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=2&quot;&gt;2&lt;/a&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=3&quot;&gt;3&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=4&quot;&gt;4&lt;/a&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=5&quot;&gt;5&lt;/a&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=6&quot;&gt;6&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=7&quot;&gt;7&lt;/a&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=8&quot;&gt;8&lt;/a&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=9&quot;&gt;9&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=*&quot;&gt;*&lt;/a&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=0&quot;&gt;0&lt;/a&gt;
&lt;a class=&quot;tombol&quot; href=&quot;?t=#&quot;&gt;#&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;
&lt;hr align=&quot;left&quot; width=&quot;200&quot;/&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba, semoga berhasil.

Membaca Email dengan PHP

Email IMAP

Membaca Email dengan PHP

PHP memiliki fungsi untuk mengambil dan membaca email melalui internet protokol POP3 dan IMAP. Port yang kita gunakan untuk itu adalah 993 (IMAP SSL)
Fungsi-fungsi yang digunakan adalah:

imap_open($hostname,$username,$password);
imap_fetch_overview($mbox,”1:$MN”,0);
imap_header($mbox, $msg);

Coding berikut ini menampilkan semua email dari GMail Anda, seperti pada gambar di atas.

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Baca Email&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
#mytable {width:800px;border:1px #a9c6c9 solid;font:12px verdana,arial,sans-serif;color:#333333;}
#mytable td {padding:8px;}
#mytable tr:hover td {background:#a0a0a0;color:#ffffff;}
#mytable th {background-color:#000099;color:#ffffff;padding:8px; }
#mytable tr:nth-child(odd) {background-color:#c0c0c0;}
#mytable tr:nth-child(even) {background-color:#f0f0f0;}
&lt;/style&gt;
&lt;script type=&quot;text/javaScript&quot;&gt;
function buka(url)
{newwindow = window.open(url, '_blank', &quot;status=yes, height=300, width=400, resizeable=yes&quot;);}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;?php
$hostname = '{imap.gmail.com:993/ssl/novalidate-cert}[Gmail]/All Mail';
$username = 'your_email@gmail.com';
$password = 'your_gmail_password';
$mbox = imap_open($hostname,$username,$password) or die('Cannot connect to mail server: ' . imap_last_error());
$MC=imap_check($mbox);
$MN=$MC-&gt;Nmsgs;
$overview=imap_fetch_overview($mbox,&quot;1:$MN&quot;,0);
$size=sizeof($overview);
echo &quot;&lt;h1&gt;Baca Email&lt;/h1&gt;
	&lt;table id='mytable'&gt;
	&lt;tr&gt;&lt;th&gt;Msg_Id&lt;/th&gt;&lt;th&gt;From&lt;/th&gt;&lt;th&gt;Email&lt;/th&gt;&lt;th&gt;Date&lt;/th&gt;&lt;th&gt;Subject&lt;/th&gt;&lt;th&gt;Size&lt;/th&gt;&lt;/tr&gt;&quot;;
for($i=$size-1;$i&gt;=0;$i--)
{	$val=$overview[$i];
	$msg=$val-&gt;msgno;
	$date=date('Y-m-d H:i:s', strtotime($val-&gt;date));
	$subj=isset($val-&gt;subject)?$val-&gt;subject:&quot;(no subject)&quot;;
	$header = imap_header($mbox, $msg);
	$from = $header-&gt;from;
	$email_size = $val-&gt;size;
	foreach ($from as $id =&gt; $object) 
	{	$fromname = isset($object-&gt;personal)?$object-&gt;personal:$object-&gt;mailbox;
		$fromaddress = $object-&gt;mailbox . &quot;@&quot; . $object-&gt;host;
	}
	echo &quot;&lt;tr onclick=\&quot;buka('read_email.php?msgno=$msg&amp;msgdate=$date&amp;msgfrom=$fromname&amp;msgemail=$fromaddress&amp;msgsubj=$subj');\&quot;&gt;
		&lt;td&gt;$msg&lt;/td&gt; &lt;td&gt;$fromname&lt;/td&gt; &lt;td&gt;$fromaddress&lt;/td&gt; &lt;td&gt;$date&lt;/td&gt; &lt;td&gt;$subj&lt;/td&gt;&lt;td&gt;$email_size&lt;/td&gt;&lt;/tr&gt;&quot;;
}
echo &quot;&lt;/table&gt;&quot;;
imap_close($mbox);
?&gt;
&lt;/body&gt;
&lt;/html&gt;

Anda dapat click baris pada table-nya untuk membaca isi email Anda pada window browser baru.

Berikut ini coding untuk membaca isi email Anda

&lt;?php
function get_mime_type(&amp;$structure)
{   $primary_mime_type = array(&quot;TEXT&quot;, &quot;MULTIPART&quot;, &quot;MESSAGE&quot;, &quot;APPLICATION&quot;, &quot;AUDIO&quot;, &quot;IMAGE&quot;, &quot;VIDEO&quot;, &quot;OTHER&quot;);
    if($structure-&gt;subtype) {return $primary_mime_type[(int) $structure-&gt;type] . '/' . $structure-&gt;subtype;}
    return &quot;TEXT/PLAIN&quot;;
}
function get_part($stream, $msg_number, $mime_type, $structure = false, $part_number = false)
{   if (!$structure) {$structure = imap_fetchstructure($stream, $msg_number);}
    if($structure)
    {   if($mime_type == get_mime_type($structure))
        {   if(!$part_number) {$part_number = &quot;1&quot;;}
            $text = imap_fetchbody($stream, $msg_number, $part_number);
            if($structure-&gt;encoding == 3) {return imap_base64($text);}
			else if ($structure-&gt;encoding == 4) {return imap_qprint($text);}
			else {return $text;}
        }
        if ($structure-&gt;type == 1) /* multipart */
        {   while (list($index, $sub_structure) = each($structure-&gt;parts))
            {   if ($part_number) {$prefix = $part_number . '.';}
                $data = get_part($stream, $msg_number, $mime_type, $sub_structure, $prefix . ($index + 1));
                if ($data) {return $data;}
            }
        }
    }
    return false;
}
$msg_number = $_GET['msgno'];
$msg_from = $_GET['msgfrom'];
$msg_email = $_GET['msgemail'];
$msg_date = $_GET['msgdate'];
$msg_subject = $_GET['msgsubj'];
$hostname = '{imap.gmail.com:993/ssl/novalidate-cert}[Gmail]/All Mail';
$username = 'your_email@gmail.com';
$password = 'your_gmail_password';
$stream = imap_open($hostname,$username,$password) or die('Cannot connect to mail server: ' . imap_last_error());
$isiemail = get_part($stream, $msg_number, &quot;TEXT/HTML&quot;);
echo &quot;&lt;h2&gt;$msg_subject&lt;/h2&gt;
	  From: $msg_from ($msg_email) &lt;br /&gt;
	  Date: $msg_date&lt;br/&gt;
	  &lt;hr /&gt;
	  $isiemail&quot;;
?&gt; 

Selamat mencoba, semoga sukses.

Membuat Efek Fade-in/Fade-out dengan CSS3

css3 transition

css3 transition

Hallo, ketemu lagi di coding website… Kali ini saya mencoba membuat efek fade-in dan fade-out elemen div dengan menggunakan fungsi transition yang ada di CSS3.

Coding ini biasa saya gunakan untuk menampilkan pesan error dalam box yang dapat hilang dalam beberapa detik (auto close box).

Baiklah, langsung saja saya berikan coding selengkapnya dibawah ini.

&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;CSS3 Transition&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
#box
{   position:fixed;top:50%;left:50%;
    margin-top:-100px;margin-left:-200px;
    width:350px;height:80px;
    font-size:20px;color:#FFFFFF;
    padding:15px;text-align:center;
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    border-radius:5px;
    background-color:#00b953;
    transition:opacity 1s ease-in-out;
    -webkit-transition:opacity 1s ease-in-out;
    -moz-transition:opacity 1s ease-in-out;
    -o-transition:opacity 1s ease-in-out;
}
#box.fade-out{opacity:0;transition-delay: 2s;}
#box.fade-in{opacity:1;transition-delay: 2s;}
&lt;/style&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
function fade(btnElement)
{   if (btnElement.value === &quot;Fade Out&quot;) {
        document.getElementById(&quot;box&quot;).className = &quot;fade-out&quot;;
        btnElement.value = &quot;Fade In&quot;;
    }
    else {
        document.getElementById(&quot;box&quot;).className = &quot;fade-in&quot;;
        btnElement.value = &quot;Fade Out&quot;;
    }
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;h3&gt;Membuat Efek Fade-in/Fade-out dengan CSS&lt;/h3&gt;
    &lt;input id=&quot;mybutton&quot; type=&quot;button&quot; value=&quot;Fade Out&quot; onclick=&quot;fade(this);&quot; /&gt;
    &lt;div id=&quot;box&quot; &gt;
        Perhatian&lt;hr&gt;
	Informasi ini akan hilang dalam 3 detik!
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

Selamat mencoba. semoga berhasil.

Bar Chart dengan CSS3

CSS3 Chart dengan Animasi

CSS3 Chart dengan Animasi

CSS3 memungkinkan kita membuat chart dengan animasi di mana bar chart tersebut dapat bergerak dari 0% sampai panjang nilai barnya, misalnya 58%.

CSS3 juga memungkinkan kita memberikan warna gradasi tanpa menggunakan file gambar, sehingga lebih efektif dan efisien.

Begitu juga properti border-radius yang membuat tiap sudut kanan dari bar tersebut dapat melengkung (rounded corder).

Untuk membuat chat tersebut, pertama Anda buat coding HTML sebagai berikut.

&lt;body&gt;
&lt;h2&gt;Web Browser Statistic Jan 2014&lt;/h2&gt;
&lt;div class=&quot;record&quot;&gt;
	&lt;span class=&quot;bar_value&quot;&gt;58%&lt;/span&gt;
	&lt;div style=&quot;width:58%&quot;&gt;
		&lt;div class=&quot;anim&quot;&gt;
			&lt;span class=&quot;bar_name&quot;&gt;Chrome&lt;/span&gt;		
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;record&quot;&gt;
	&lt;span class=&quot;bar_value&quot;&gt;27%&lt;/span&gt;
	&lt;div style=&quot;width:27%&quot;&gt;
		&lt;div class=&quot;anim&quot;&gt;
			&lt;span class=&quot;bar_name&quot;&gt;Firefox&lt;/span&gt;		
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;record&quot;&gt;
	&lt;span class=&quot;bar_value&quot;&gt;9%&lt;/span&gt;
	&lt;div style=&quot;width:9%&quot;&gt;
		&lt;div class=&quot;anim&quot;&gt;
			&lt;span class=&quot;bar_name&quot;&gt;IE&lt;/span&gt;		
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;record&quot;&gt;
	&lt;span class=&quot;bar_value&quot;&gt;4%&lt;/span&gt;
	&lt;div style=&quot;width:4%&quot;&gt;
		&lt;div class=&quot;anim&quot;&gt;
			&lt;span class=&quot;bar_name&quot;&gt;Safari&lt;/span&gt;		
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;record&quot;&gt;
	&lt;span class=&quot;bar_value&quot;&gt;2%&lt;/span&gt;
	&lt;div style=&quot;width:2%&quot;&gt;
		&lt;div class=&quot;anim&quot;&gt;
			&lt;span class=&quot;bar_name&quot;&gt;Opera&lt;/span&gt;		
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;

Kemudian Anda tambahkan coding CSS sebagai berikut.

div.record{font: bold 12px Arial;
 float: left; width: 100%;
 border: 1px solid #ccc;
 background-color: #e0e0e0;
 margin-bottom: 2px;
 }
div.anim { width:100%; height:30px;
border-radius: 0px 5px 5px 0px;
position:relative;
background: linear-gradient(to top, #ff9999 0%,#E03D3D 24%,#ff0000 50%,#E03D3D 79%,#ff9999 100%);
animation:myfirst 1s linear 0.1s ;
}
@keyframes myfirst
{from {width:0px;} to {width:100%;}}
span.bar_name
{ color: #ffffff; float: left;
 margin: 7px 0 0 5px;
}
span.bar_value
{ color: #6D8591; float: right;
margin: 7px 0 0 5px;
}

Selamat mencoba. Semoga sukses.

Membuat Tabel Body Scroll dengan CSS

Table Body Scroll

Table Body Scroll

Membuat Table dengan HTML itu sangat mudah. Anda dapat membuatnya dengan tag <table>, <thead>, <tbody>, <tr>, <th> dan <td> seperti pada coding HTML dibawah ini.

&lt;html&gt;
&lt;body&gt;
&lt;table class=&quot;scroll&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Header 1&lt;/th&gt;&lt;th&gt;Header 2&lt;/th&gt;&lt;th&gt;Header 3&lt;/th&gt;&lt;th&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2 Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2 Content 2 Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2 Content 2 Content 2 Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2 Content 2 Content 2 Content 2 Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Content 1&lt;/td&gt;&lt;td&gt;Content 2&lt;/td&gt;&lt;td&gt;Content 3&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt;

Untuk membuat tampilan table tersebut lebih menarik, kita gunakan CSS.
Dengan CSS kita juga bisa membuat body table tersebut memiliki vertical scroll bar seperti pada gambar diatas.

Body table dapat kita scroll dengan setting CSS property height dan property display:block.

Berikut ini coding CSS selengkapnya.

&lt;style type=&quot;text/css&quot;&gt;
table.scroll {width:700px;border:1px #a9c6c9 solid;font:12px verdana,arial,sans-serif;color:#333333;}
table.scroll thead {display:table;width:100%;}
table.scroll tbody {display:block;height:300px;overflow:auto;float:left;width:100%;}
table.scroll tbody tr {display:table;width:100%;}
table.scroll th, td {width:33%;padding:8px;}
table.scroll th {background-color:#000099;color:#ffffff;}
table.scroll tr:hover td {background:#a0a0a0;color:#ffffff;}
table.scroll tr:nth-child(odd) {background-color:#c0c0c0;}
table.scroll tr:nth-child(even) {background-color:#f0f0f0;}
&lt;/style&gt;

Pada coding CSS tersebut juga disertakan table hover dan table strip (zebra color).

Selamat mencoba. semoga berhasil.

Menu Tabs Dengan CSS

CSS Tabs Menu

CSS Tabs Menu

Banyak cara untuk membuat menu Tabs seperti gambar di atas baik dengan JavaScript / JQuery maupun CSS.
Di sini saya akan berikan cara membuat Tabs Menu hanya dengan CSS. Menu Tabs ini berjalan di semua browser termasuk MS-IE.

Pada coding CSS terdapat operator > (child combinatory Selector) yang digunakan untuk memilih hanya direct childrennya.
Misal:
.tabs > div {display:inline;}
berarti selector div yang berada langsung di bawah elemen dengan class tabs akan ditampilkan secara inline (seperti tag <span>).
Berikut ini coding selengkapnya.



Menu Tabs Dengan CSS&lt;/pre&gt;
&lt;style&gt;&lt;!--
.tabs {min-height:300px;position:relative;width:100%;}
.tabs &gt; div {display:inline;}
.tabs &gt; div &gt; a {margin-left:-1px;position:relative;left:1px;text-decoration:none;color:#000000;background:#c0c0c0;display:block;float:left;padding:10px 10px;border:1px solid #ccc;border-bottom: 1px solid #ffffff; }
.tabs &gt; div:not(:target) &gt; a { border-bottom: 0; background: linear-gradient(#ffffff, #c0c0c0); }
.tabs &gt; div:target &gt; a { background:#ffffff; }
.tabs &gt; div &gt; div { background:#ffffff; z-index:-2; left: 0; top:39px; bottom:0; right:0; padding:20px; border:1px solid #ccc; }
.tabs &gt; div:not(:target) &gt; div { position: absolute }
.tabs &gt; div:target &gt; div { position: absolute; z-index: -1; }
--&gt;&lt;/style&gt;
&lt;pre&gt;

&lt;/pre&gt;
&lt;h1&gt;Membuat Menu Tabs dengan CSS&lt;/h1&gt;
&lt;div class=&quot;tabs&quot;&gt;
&lt;div id=&quot;tab1&quot;&gt;&lt;a href=&quot;#tab1&quot;&gt;Tab Pertama&lt;/a&gt;
&lt;div&gt;... Di Sini Konten Dari Tab Pertama ...&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;tab2&quot;&gt;&lt;a href=&quot;#tab2&quot;&gt;Tab Ke-Dua&lt;/a&gt;
&lt;div&gt;... Di Sini Konten Dari Tab Ke-Dua ...&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;tab3&quot;&gt;&lt;a href=&quot;#tab3&quot;&gt;Tab Ke-Tiga&lt;/a&gt;
&lt;div&gt;... Di Sini Konten Dari Tab Ke-Tiga ...&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre&gt;

Anda dapat mengembangkan coding ini sesuai kebutuhan Anda.
Selamat mencoba. semoga berhasil.

Watermark Login Page Dengan JQuery

Watermark Login Page

Watermark Login Page

Pernah login di windows 7? Pada field passwordnya terdapat tulisan watermark “Password” yang jika kita ketik pada field tersebut maka tulisan watermark “Password” akan hilang (hide) lalu jika kita hapus ketikan kita maka tulisan watermark “Password” akan muncul lagi (show).

Untuk membuat login page seperti itu kita bisa lakukan dengan method hide/show di JQuery. Sebenarnya di HTML 5 fitur watermark bisa dilakukan dengan attribute “placeholder” pada input tag, tapi itu hanya bekerja dengan baik di IE 10+ saja. Dengan JQuery maka operasi watermark login seperti windows 7 bisa bekerja di semua web browser populer (IE, Firefox, Chrome, Safari, Opera).

Berikut ini coding HTML-nya.

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Log In&lt;/title&gt;
&lt;link href=&quot;login-style.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function() {
	$('#password1').show();
	$('#password2').hide();
	$('#password1').focus(function() {
		$('#password1').hide();
		$('#password2').show();
		$('#password2').focus();
	});
	$('#password2').blur(function() {
		if($('#password2').val() == '') {
			$('#password1').show();
			$('#password2').hide();
		}
	});
	$('.username').each(function() {
		var default_value = this.value;
		$(this).css('color', '#a0a0a0');
		$(this).focus(function() {
			if(this.value == default_value) {
				this.value = '';
				$(this).css('color', '#000000');
			}
		});
		$(this).blur(function() {
			if(this.value == '') {
				$(this).css('color', '#a0a0a0');
				this.value = default_value;
			}
		});
	});
});
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;container&quot;&gt;
    &lt;div id=&quot;top&quot;&gt;
    &lt;h1&gt;Login to Application System&lt;/h1&gt;
    &lt;/div&gt; 
    &lt;div id=&quot;loginbox&quot;&gt;
	&lt;fieldset&gt;
		&lt;legend&gt;Please Log In&lt;/legend&gt;
		&lt;form name=&quot;login_form&quot; class=&quot;form&quot;&gt;
		&lt;label for=&quot;username&quot;&gt;User Name&lt;/label&gt;
		&lt;div class=&quot;div_texbox&quot;&gt;
		&lt;input name=&quot;username&quot; type=&quot;text&quot; class=&quot;username&quot; id=&quot;username&quot; value=&quot;Username&quot; /&gt;
		&lt;/div&gt;
		&lt;label for=&quot;password&quot;&gt;Password&lt;/label&gt;
		&lt;div class=&quot;div_texbox&quot;&gt;
		&lt;input class=&quot;password&quot; id=&quot;password1&quot; type=&quot;text&quot; value=&quot;Password&quot; autocomplete=&quot;off&quot;/&gt;
		&lt;input class=&quot;password&quot; id=&quot;password2&quot; type=&quot;password&quot; name=&quot;password&quot; value=&quot;&quot; autocomplete=&quot;off&quot; /&gt;
		&lt;/div&gt;
		&lt;div class=&quot;button_div&quot;&gt;
		&lt;input name=&quot;Submit&quot; type=&quot;button&quot; value=&quot;Submit&quot; class=&quot;buttons&quot; /&gt;
		&lt;/div&gt;
		&lt;/form&gt;
		&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
	&lt;/fieldset&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

Berikut coding / script CSS untuk login page tersebut.

/* login-style.css */
@charset &quot;utf-8&quot;;
body {
	margin:0;padding:0;
	background-color:#ffffff;
	font-family:Arial, Helvetica, sans-serif;
}
fieldset {
	width:460px;
	border:2px dashed #CCC;
	padding:10px;
	margin-top:20px;
	margin-bottom:20px;
}
legend {
	font-size:90%;
	font-weight:normal;
	line-height:1.1;
	color:#fff;
	background: #666;
	border: 1px solid #333;
	padding: 2px 6px;
}
h1 {
	font-size: 175%;
	letter-spacing: -1px;
	font-weight: normal;
	line-height: 1.1;
	color:#808080;
}
label {
	width:140px;
	height:32px;
	margin-top:3px;
	margin-right:2px;
	padding-top:11px;
	padding-left:6px;
	background-color:#CCCCCC;
	float:left;
	display: block;
	font-size: 115%;
	letter-spacing: -1px;
	font-weight: normal;
	line-height: 1.1;
	color:#666;
}
#container {
	width:550px;
	margin:auto;
	padding:10px;
}
#top {
	height:50px;
}
#loginbox {
	width:530px;
	padding-top:30px;
	float:left;
}
.clear {	clear:both;}
.div_texbox {
	width:300px;
	float:left;
	background-color:#E6E6E6;
	height:35px;
	margin-top:3px;
	padding-top:5px;
	padding-bottom:3px;
	padding-left:5px;
}
.textbox {
	background-image: url(images/user.png);
	background-color:#FFFFFF;
	background-repeat: no-repeat;
	background-position:left;
	width:250px;
	font:normal 18px Arial;
	color: #999999;
	padding:3px 5px 3px 19px;
}
.textbox:focus, .textbox:hover {	background-color:#F0FFE6;}
.username {
    	background-image: url(images/user.png);
    	background-repeat: no-repeat;
    	background-position:left;
    	background-color:#FFFFFF;
		width:265px;
    	font:normal 18px Arial;
    	color: #999999;
    	padding:3px 5px 3px 19px;
}
.username:focus, .username:hover {background-color:#F0FFE6;}
.password {
    	background-image: url(images/pass.png);
    	background-repeat: no-repeat;
   		background-position:left;
   		background-color:#FFFFFF;
		width:265px;
    	font:normal 18px Arial;
    	color: #999999;
    	padding:3px 5px 3px 19px;
}
.password:focus, .password:hover{background-color:#F0FFE6;}
#password-clear{display:none;color:#a0a0a0;}
.button_div {
	width:388px;
	float:left;
	background-color:#fff;
	border:1px solid #ccc;
	text-align:center;
	height:35px;
	margin-top:3px;
	padding:5px 32px 3px;
}
.buttons {
	background: #e3e3db;
	font-size:12px; 
	color: #989070; 
	padding: 6px 14px;
	border-width: 2px;
	border-style: solid;
	border-color: #fff #d8d8d0 #d8d8d0 #fff;
	text-decoration: none;
	text-transform:uppercase;
	font-weight:bold;
}

Untuk script JQuery bisa download di website JQuery: http://jquery.com/download/

Disana ada 2 gambar icon yakni, user.png dan pass.png, masing masing bisa anda buat dengan screen capture gambar di atas.

Selamat mencoba.

Membuat Menu Akordion Dengan CSS

Menu Accordion

Menu Accordion

Menu akordion dapat dibuat dengan javascript library jquery, namun disini kita hanya menggunakan CSS untuk membuat menu akordion yang cukup responsive.

Berikut ini coding HTML dan CSS-nya.

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Menu Akordion Dengan CSS&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
*{font-family:Helvetica,Arial,sans-serif;}
#container
{	margin:left;
	background-color:#f0f0f0;
	width:300px;
	padding:10px;
	border-radius:15px;
}
.akordion h3 + div
{	height:0;
	overflow:hidden;
	-webkit-transition:height 0.3s ease-in;
	background-color:#ffffff;
	border-radius:10px;
}
.akordion :target h3 + div 
{	height:100px;
	padding-left:10px;
}
.akordion .section.large:target h3 + div 
{	overflow: auto;}
div.section 
{	background-color:#c0c0c0;
	padding:5px;
	border:0px solid;
}
a:link {text-decoration:none;}
.akordion a:hover 
{text-decoration:underline; color:#ff0000;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Menu Akordion Dengan CSS&lt;/h1&gt;
&lt;hr&gt;
&lt;br&gt;
&lt;div id=&quot;container&quot;&gt;
	&lt;div class=&quot;akordion&quot;&gt;
	&lt;h2&gt;List Menu&lt;/h2&gt;
        &lt;div id=&quot;satu&quot; class=&quot;section&quot;&gt;
			&lt;h3&gt;&lt;a href=&quot;#satu&quot;&gt;Menu Satu&lt;/a&gt;&lt;/h3&gt;
			&lt;div&gt;&lt;ul&gt;
				&lt;li&gt;Sub Menu Satu&lt;/li&gt;
				&lt;li&gt;Sub Menu Dua&lt;/li&gt;
				&lt;li&gt;Sub Menu Tiga&lt;/li&gt;
			&lt;/ul&gt;&lt;/div&gt;
		&lt;/div&gt;
        &lt;div id=&quot;dua&quot; class=&quot;section&quot;&gt;
            &lt;h3&gt;&lt;a href=&quot;#dua&quot;&gt;Menu Dua&lt;/a&gt;&lt;/h3&gt;
			&lt;div&gt;&lt;ul&gt;
				&lt;li&gt;Sub Menu Satu&lt;/li&gt;
				&lt;li&gt;Sub Menu Dua&lt;/li&gt;
				&lt;li&gt;Sub Menu Tiga&lt;/li&gt;
			&lt;/ul&gt;&lt;/div&gt;
        &lt;/div&gt;
		&lt;div id=&quot;tiga&quot; class=&quot;section&quot;&gt;
			&lt;h3&gt;&lt;a href=&quot;#tiga&quot;&gt;Menu Tiga&lt;/a&gt;&lt;/h3&gt;
			&lt;div&gt;&lt;ul&gt;
				&lt;li&gt;Sub Menu Satu&lt;/li&gt;
				&lt;li&gt;Sub Menu Dua&lt;/li&gt;
				&lt;li&gt;Sub Menu Tiga&lt;/li&gt;
			&lt;/ul&gt;&lt;/div&gt;
        &lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

Kuncinya adalah pada pseudo class selector :target di CSS.

pada class akordion diberikan pseudo class target ke elemen h3 dan div
.akordion :target h3 + div
Ketika link “satu” pada tag h3 di click maka URL akan menuju ke fragment identifier #satu dengan demikian div id=satu akan bekerja membuka section class=satu. Begitu juga ketika link dua atau tiga di click.

Selamat mencoba.

Membuat Table Zebra Hover

Table Zebra Hover

Table Zebra Hover

Table Zebra Hover adalah table dengan 2 warna barisnya selang seling yang ketika disorot / highlight dengan mouse pointer akan berubah warna barisnya.

Sebenarnya kita dapat membuat table zebra hover ini baik dengan CSS maupun javascript. Namun di sini kita akan gunakan CSS, karena secara performance lebi baik.

Berikut ini struktur HTML untuk membuat tablenya.

&lt;body&gt;
&lt;table id=&quot;table-a&quot;&gt;
	&lt;thead&gt;
	&lt;tr&gt;&lt;th&gt;Header 1&lt;/th&gt;&lt;th&gt;Header 2&lt;/th&gt;	&lt;th&gt;Header 3&lt;/th&gt;&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
	&lt;tr&gt;&lt;td&gt;Item 1A&lt;/td&gt;&lt;td&gt;Item 1B&lt;/td&gt;&lt;td&gt;Item 1C&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;Item 2A&lt;/td&gt;&lt;td&gt;Item 2B&lt;/td&gt;&lt;td&gt;Item 2C&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;Item 3A&lt;/td&gt;&lt;td&gt;Item 3B&lt;/td&gt;&lt;td&gt;Item 3C&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;Item 4A&lt;/td&gt;&lt;td&gt;Item 4B&lt;/td&gt;&lt;td&gt;Item 4C&lt;/td&gt;&lt;/tr&gt;
	&lt;tr&gt;&lt;td&gt;Item 5A&lt;/td&gt;&lt;td&gt;Item 5B&lt;/td&gt;&lt;td&gt;Item 5C&lt;/td&gt;&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/body&gt;

Untuk presentasinya kita buat dengan coding CSS sehingga table akan berbentuk zebra (2 warna) dan ketika barisnya di highlight / hover akan berubah warna.

#table-a
{	font-family: &quot;Lucida Sans Unicode&quot;, &quot;Lucida Grande&quot;, Sans-Serif;
	font-size: 12px;
	width: 500px;
	text-align: center;
	border-collapse: collapse;
}
#table-a th
{	font-size: 13px;
	font-weight: normal;
	padding: 8px;
	background: #b9c9fe;
	border-top: 4px solid #aabcfe;
	border-bottom: 1px solid #fff;
	color: #039;
}
#table-a td
{	padding: 8px;
	background: #e8edff;
	border-bottom: 1px solid #fff;
	color: #669;
	border-top: 1px solid transparent;
}
#table-a tr:hover td
{	background: #d0dafd;
	color: #339;
}

Kita dapat memodifikasi tabel zebra hover ini dengan mengembangkan struktur dan presentasinya.

Membuat Menu Horisontal Dengan CSS

menu horisontal

Menu horisontal

Mengapa dengan CSS? mengapa tidak dengan JavaScript?

Pada prinsipnya loading CSS lebih cepat dari pada JavaScript. Inilah alasannya mengapa kita lebih mengutamakan menggunakan CSS ketimbang JavaScript. JavaScript memang bisa melakukan operasi apa saja dalam website, tapi performance CSS masih lebih baik. Jika bisa dilakukan dengan CSS kenapa harus JavaScript.

Menu horisontal atau dropdown menu umumnya terdapat pada setiap website. Menu digunakan untuk memudahkan kita melakukan navigasi content dalam sebuah website.

Untuk membuat menu horisontal, pertama kita tulis struktur HTML-nya berikut ini.

&lt;ul id=&quot;menu&quot;&gt;
  &lt;li&gt;&lt;a href=&quot;&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;&quot;&gt;About&lt;/a&gt;
  	&lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;&quot;&gt;The Team&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;&quot;&gt;History&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;&quot;&gt;Vision&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;&quot;&gt;Products&lt;/a&gt;
  	&lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;&quot;&gt;Cozy Couch&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;&quot;&gt;Great Table&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;&quot;&gt;Small Chair&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;&quot;&gt;Shiny Shelf&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;&quot;&gt;Invisible Nothing&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;&quot;&gt;Contact&lt;/a&gt;
  	&lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;&quot;&gt;Online&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;&quot;&gt;Right Here&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;&quot;&gt;Somewhere Else&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;
&lt;/body&gt;

Setelah itu kita buat presentasinya dengan CSS berikut ini.

ul {
	font-family: Arial, Verdana;
	font-size: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
ul li {
	display: block;
	position: relative;
	float: left;
}
li ul {
	display: none;
}
ul li a {
	display: block;
	text-decoration: none;
	color: #ffffff;
	border-top: 1px solid #ffffff;
	padding: 5px 15px 5px 15px;
	background: #2C5463;
	margin-left: 1px;
	white-space: nowrap;
}
ul li a:hover {
	background: #617F8A;
}
li:hover ul {
	display: block;
	position: absolute;
}
li:hover li {
	float: none;
	font-size: 14px;
}
li:hover a {
	background: #617F8A;
}
li:hover li a:hover {
	background: #95A9B1;
}

Menu dropdown horisontal ini juga dapat bekerja dengan baik di browser MSIE.

Membuat Layout Website

layout2kolom

Layout 2 kolom

Hal pertama dalam pembuatan sebuah website adalah membuat layout website. Ada 2 cara pembuatan layout website, yakni: dengan struktur table dan dengan struktur div.

Contoh coding layout website dengan struktur table:

&lt;table width=&quot;80%&quot; border=&quot;1&quot; cellspacing=&quot;0&quot; align=&quot;center&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan=&quot;2&quot; align=&quot;center&quot;&gt;HEADER GOES HERE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot; width=&quot;24%&quot; height=&quot;245&quot;&gt;
LEFT CONTENT GOES HERE&lt;/td&gt;
&lt;td align=&quot;center&quot; width=&quot;76%&quot;&gt;
RIGHT CONTENT GOES HERE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan=&quot;2&quot; align=&quot;center&quot;&gt;FOOTER GOES HERE&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

Contoh coding layout website dengan struktur div:

&lt;div id=&quot;page&quot;&gt;
&lt;div id=&quot;header&quot;&gt;
&lt;h1&gt;HEADER GOES HERE&lt;/h1&gt;
&lt;/div&gt;
&lt;div id=&quot;leftcontent&quot;&gt;
&lt;h3&gt;LEFT CONTENT GOES HERE&lt;/h3&gt;
&lt;/div&gt;
&lt;div id=&quot;rightcontent&quot;&gt;
&lt;h2&gt;RIGHT CONTENT GOES HERE&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;footer&quot;&gt;
&lt;h4&gt;FOOTER GOES HERE&lt;/h4&gt;
&lt;/div&gt;
&lt;/div&gt;

Coding layout website dengan struktur table terlihat lebih banyak dibandingkan dengan struktur div, dengan kata lain struktur table lebih kompleks daripada struktur div. Tabel jauh dari clean code dan mengandung semantik. Semantik dari table adalah menampilkan data (data table). Struktur table yang lebih kompleks akan mempengaruhi development time dan maintenance website nantinya . Coding yang lebih banyak tentu akan mempengaruhi kinerja website pada saat loading.

Dengan struktur div kita akan dapat lebih banyak mengatur presentasinya dengan CSS. Dengan memisahkan struktur dan presentasi akan memudahkan coding dan maintenance website.

@charset &quot;utf-8&quot;;
/* CSS Document */
body {
	margin: 0;
	padding: 0;
	text-align: center;
}
#page {
	border: 3px solid #c0c0c0;
	margin: 0 auto;
	width: 960px;
	height:1000px
	text-align: left;
}
#header {
	border: 3px solid #c0c0c0;
	height: 192px;
}
#leftcontent {
	border: 3px solid #c0c0c0;
	float: left;
	width: 192px;
	height: 700px;
}
#rightcontent {
	border: 3px solid #c0c0c0;
	float: left;
	width: 756px; /*kurang 12px*/
	height: 700px;
}
#footer {
	border: 3px solid #c0c0c0;
	clear: left;
	height: 100px;
}

Kita dapat mengembangkan website ini dengan mudah dengan modifikasi html maupun CSS-nya.