04/10/2018, 20:11

Tạo button theo phong cách trang Facebook với CSS3

Hàng ngày chúng ta đều lướt facebook và có lẽ các bạn cũng đã quen thuộc với các button trên trang này, việc tạo các button giống như thế cho website của mình, sẽ tạo cảm giác thân thuộc cho người dùng và người dùng có thể sẽ ở lại lâu hơn trên trang web, blog của các bạn. Hôm nay mình sẽ chia sẻ ...

Hàng ngày chúng ta đều lướt facebook và có lẽ các bạn cũng đã quen thuộc với các button trên trang này, việc tạo các button giống như thế cho website của mình, sẽ tạo cảm giác thân thuộc cho người dùng và người dùng có thể sẽ ở lại lâu hơn trên trang web, blog của các bạn. Hôm nay mình sẽ chia sẻ cho các bạn tạo các button theo phong cách facebook mà không cần phải làm gì nhiều, chỉ việc copy theo nguyên mẫu mà mình giới thiệu cho các bạn sau đây.

Tạo button theo phong cách trang Facebook với CSS3

Xem Demo | Download

CSS

Trong bài viết này có 1 file hình dùng để tạo icon, các bạn có thể save về máy file này :  .

Để tạo các button, các bạn chỉ cần copy nguyên đoạn css sau :

.uibutton,
.uibutton:visited {
    position: relative;
    z-index: 1;
    overflow: visible;
    display: inline-block;
    padding: 0.3em 0.6em 0.375em;
    border: 1px solid #999;
    border-bottom-color: #888;
    margin: 0;
    text-decoration: none;
    text-align: center;
    font: bold 11px/normal 'lucida grande', tahoma, verdana, arial, sans-serif;
    white-space: nowrap;
    cursor: pointer;
    /* outline: none; */
    color: #333;
    background-color: #eee;
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f6f6), to(#e4e4e3));
    background-image: -moz-linear-gradient(#f5f6f6, #e4e4e3);
    background-image: -o-linear-gradient(#f5f6f6, #e4e4e3);
    background-image: linear-gradient(#f5f6f6, #e4e4e3);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f5f6f6', EndColorStr='#e4e4e3'); /* for IE 6 - 9 */
    -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #fff;
    -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #fff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #fff;
    /* IE hacks */
    zoom: 1;
    *display: inline;
}

.uibutton:hover,
.uibutton:focus,
.uibutton:active {
    border-color: #777 #777 #666;
}

.uibutton:active {
    border-color: #aaa;
    background: #ddd;
    filter: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

/* overrides extra padding on button elements in Firefox */
.uibutton::-moz-focus-inner {
    padding: 0;
    border: 0;
}

/* ............................................................................................................. Icons */

.uibutton.icon:before {
    content: "";
    position: relative;
    top: 1px;
    float:left;
    awidth: 10px;
    height: 12px;
    margin: 0 0.5em 0 0;
    background: url(fb-icons.png) 99px 99px no-repeat;
}

.uibutton.edit:before  { background-position: 0 0; }
.uibutton.add:before  { background-position: -10px 0; }
.uibutton.secure:before  { background-position: -20px 0; }
.uibutton.prev:before  { background-position: -30px 0; }
.uibutton.next:before  { float:right; margin: 0 -0.25em 0 0.5em; background-position: -40px 0; }

/* ------------------------------------------------------------------------------------------------------------- BUTTON EXTENSIONS */

/* ............................................................................................................. Large */

.uibutton.large {
    font-size: 13px;
}

/* ............................................................................................................. Submit, etc */

.uibutton.confirm {
    border-color: #29447e #29447e #1a356e;
    color: #fff;
    background-color: #5B74A8;
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#637bad), to(#5872a7));
    background-image: -moz-linear-gradient(#637bad, #5872a7);
    background-image: -o-linear-gradient(#637bad, #5872a7);
    background-image: linear-gradient(#637bad, #5872a7);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#637bad', EndColorStr='#5872a7'); /* for IE 6 - 9 */
    -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #8a9cc2;
    -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #8a9cc2;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #8a9cc2;
}

.uibutton.confirm:active {
    border-color: #29447E;
    background: #4F6AA3;
    filter: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

/* ............................................................................................................. Special */

.uibutton.special {
    border-color: #3b6e22 #3b6e22 #2c5115;
    color: #fff;
    background-color: #69a74e;
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#75ae5c), to(#67a54b));
    background-image: -moz-linear-gradient(#75ae5c, #67a54b);
    background-image: -o-linear-gradient(#75ae5c, #67a54b);
    background-image: linear-gradient(#75ae5c, #67a54b);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#75ae5c', EndColorStr='#67a54b'); /* for IE 6 - 9 */
    -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #98c286;
    -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #98c286;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), inset 0 1px 0 #98c286;
}

.uibutton.special:active {
    border-color: #3b6e22;
    background: #609946;
    filter: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

/* ............................................................................................................. Disable */

.uibutton.disable {
    z-index: 0;
    border-color: #c8c8c8;
    color: #b8b8b8;
    background: #f2f2f2;
    cursor: default;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.uibutton.confirm.disable {
    color: #fff;
    border-color: #94a2bf;
    background: #adbad4;
}

.uibutton.special.disable {
    color: #fff;
    border-color: #9db791;
    background: #b4d3a7;
}

.uibutton.disable.icon:before,
.uibutton.disable.icon:after {
    opacity: 0.5;
}

/* ------------------------------------------------------------------------------------------------------------- BUTTON GROUPS */

.uibutton-group {
    display: inline-block;
    list-style: none;
    padding: 0;
    margin: 0;
    /* IE hacks */
    zoom: 1;
    *display: inline;
}

.uibutton + .uibutton,
.uibutton + .uibutton-group,
.uibutton-group + .uibutton,
.uibutton-group + .uibutton-group {
    margin-left: 3px;
}

.uibutton-group li {
    float: left;
    padding: 0;
    margin: 0;
}

.uibutton-group .uibutton {
    float: left;
    margin-left: -1px;
}

.uibutton-group .uibutton:hover,
.uibutton-group .uibutton:focus,
.uibutton-group .uibutton:active {
    z-index:2;
}

.uibutton-group > .uibutton:first-child,
.uibutton-group li:first-child .uibutton {
    margin-left: 0;
}

/* ------------------------------------------------------------------------------------------------------------- BUTTON CONTAINER */
/* For mixing buttons and button groups, e.g., in a navigation bar */

.uibutton-toolbar {
    padding: 6px;
    border-top: 1px solid #ccc;
    background: #f2f2f2;
}

.uibutton-toolbar .uibutton,
.uibutton-toolbar .uibutton-group {
    vertical-align: bottom;
}

HTML

Sau khi đã copy đoạn css, giờ đây để tạo button, chúng ta chỉ việc tạo theo từng cấu trúc html mà các bạn mong muốn như sau :

Default buttons

<p><a class="uibutton" href="#button">Change picture</a></p>
<p><input class="uibutton confirm" type="submit" value="Publish"></p>
<p><button class="uibutton special">Request an invitation</button></p>

Large buttons

<p><a class="uibutton large" href="#button">Change picture</a></p>
<p><input class="uibutton large confirm" type="submit" value="Publish"></p>
<p><button class="uibutton large special">Request an invitation</button></p>


Grouped buttons

<div class="uibutton-toolbar">
            <a class="uibutton" href="#button">Mark as unread</a>

            <div class="uibutton-group">
                <a class="uibutton" href="#button">Report spam</a>
                <a class="uibutton" href="#button">Delete</a>
            </div>

            <a class="uibutton" href="#button">Unsubscribe</a>
 </div>

Buttons with icons

<table>
            <thead>
                <tr>
                    <th scope="col">Class</th>
                    <th scope="col">Example</th>
                </tr>
            </thead>
            <tr>
                <td scope="row"><code>.edit</code></td>
                <td><a class="uibutton icon edit" href="#button">Edit post</a></td>
            </tr>
            <tr>
                <td scope="row"><code>.add</code></td>
                <td><a class="uibutton icon add" href="#button">Add a photo</a></td>
            </tr>
            <tr>
                <td scope="row"><code>.secure</code></td>
                <td><a class="uibutton icon secure" href="#button">Private account</a></td>
            </tr>
            <tr>
                <td scope="row"><code>.prev</code></td>
                <td><a class="uibutton icon prev" href="#button">Back to messages</a></td>
            </tr>
            <tr>
                <td scope="row"><code>.next</code></td>
                <td><a class="uibutton icon next" href="#button">Get more info</a></td>
            </tr>
</table>

MÌnh hy vọng là với bài viết này, nó sẽ giúp ích cho các bạn giảm thiểu đáng kể thời gian thiết kế của mình.

Chúc các bạn thành công !

Tags: button facebook style nút bấm

Chuyên Mục: Css

Bài viết được đăng bởi webmaster

0