技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營(yíng)

贊助商

分類目錄

贊助商

最新文章

搜索

CSS3實(shí)現(xiàn)漸變/立體/扁平的漂亮按鈕

作者:admin    時(shí)間:2020-7-13 10:59:40    瀏覽:

網(wǎng)頁UI設(shè)計(jì)追求精美漂亮,除此之外,實(shí)現(xiàn)代碼也越趨于簡(jiǎn)單易用。本文就介紹如何用CSS3實(shí)現(xiàn)漸變/立體/扁平的漂亮按鈕,代碼簡(jiǎn)單易用,但是效果卻是十分之好。

CSS3實(shí)現(xiàn)漸變/立體/扁平的漂亮按鈕

CSS3實(shí)現(xiàn)漸變/立體/扁平的漂亮按鈕

demodownload

按鈕功能

  • 易于使用。
  • 包含漸變技巧的過渡。
  • 未使用任何圖像,而是使用base64字符串創(chuàng)建圖案效果。
  • 分組時(shí)修飾按壓行為。

按鈕

基本上,要?jiǎng)?chuàng)建一個(gè)按鈕,唯一要做的就是:

<a href="" class="button">Button</a>

或者:

<button class="button">Button</button>

您也可以使用類似方法,<input type="submit">但是為了獲得最佳的跨瀏覽器渲染效果,請(qǐng)堅(jiān)持上述操作。

css

.button{
  display: inline-block;
  *display: inline;
  zoom: 1;
  padding: 6px 20px;
  margin: 0;
  cursor: pointer;
  border: 1px solid #bbb;
  overflow: visible;
  font: bold 13px arial, helvetica, sans-serif;
  text-decoration: none;
  white-space: nowrap;
  color: #555;
  background-color: #ddd;
  background-image: linear-gradient(top, rgba(255,255,255,1),
                                         rgba(255,255,255,0)),
                    url(data:image/png;base64,iVBORw0KGg[...]QmCC); 
  transition: background-color .2s ease-out;
  background-clip: padding-box; /* Fix bleeding */
  border-radius: 3px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .3),
              0 2px 2px -1px rgba(0, 0, 0, .5),
              0 1px 0 rgba(255, 255, 255, .3) inset;
  text-shadow: 0 1px 0 rgba(255,255,255, .9);  
}

.button:hover{
  background-color: #eee;
  color: #555;
}

.button:active{
  background: #e9e9e9;
  position: relative;
  top: 1px;
  text-shadow: none;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .3) inset;
}

不同的按鈕尺寸

如果您想使號(hào)召性用語更加醒目或不那么醒目,則可以選擇以下選項(xiàng):

不同的按鈕尺寸

<button class="small button">Button</button>

或者

<button class="large button">Button</button>

css

/* Smaller buttons styles */
.button.small{
  padding: 4px 12px;
}

/* Larger buttons styles */
.button.large{
  padding: 12px 30px;
  text-transform: uppercase;
}

.button.large:active{
  top: 2px;
}

各種按鈕顏色

您需要使用自定義顏色才能成功執(zhí)行操作,也需要使用否定顏色作為刪除操作:

各種按鈕顏色

<button class="button">Button</button>
<button class="color red button">Button</button>
<button class="color green button">Button</button>
<button class="color blue button">Button</button>

css

.button.color{
  color: #fff;
  text-shadow: 0 1px 0 rgba(0,0,0,.2);
  background-image: linear-gradient(top, rgba(255,255,255,.3), 
             rgba(255,255,255,0)),
                    url(data:image/png;base64,iVBORw0KGg[...]QmCC);
}

/* */

.button.green{
  background-color: #57a957;
  border-color: #57a957;
}

.button.green:hover{
  background-color: #62c462;
}

.button.green:active{
  background: #57a957;
}

/* */

.button.red{
  background-color: #c43c35;
  border-color: #c43c35;
}

.button.red:hover{
  background-color: #ee5f5b;
}

.button.red:active{
  background: #c43c35;
}

/* */

.button.blue{
  background-color: #269CE9;
  border-color: #269CE9;
}

.button.blue:hover{
  background-color: #70B9E8;
}

.button.blue:active{
  background: #269CE9;
}

禁用狀態(tài)按鈕

如果您正在使用按鈕或輸入,在某些情況下,您將需要禁用它們,直到觸發(fā)特定任務(wù)為止:

禁用狀態(tài)按鈕

<button class="button" disabled>Button</button>
<button class="color red button" disabled>Button</button>
<button class="color green button" disabled>Button</button>
<button class="color blue button" disabled>Button</button>

css

.button[disabled], .button[disabled]:hover, .button[disabled]:active{
  border-color: #eaeaea;
  background: #fafafa;
  cursor: default;
  position: static;
  color: #999;
  /* Usually, !important should be avoided but here it's really needed :) */
  box-shadow: none !important;
  text-shadow: none !important;
}

.green[disabled], .green[disabled]:hover, .green[disabled]:active{
  border-color: #57A957;
  background: #57A957;
  color: #D2FFD2;
}

.red[disabled], .red[disabled]:hover, .red[disabled]:active{
  border-color: #C43C35;
  background: #C43C35;
  color: #FFD3D3;
}

.blue[disabled], .blue[disabled]:hover, .blue[disabled]:active{
  border-color: #269CE9;
  background: #269CE9;
  color: #93D5FF;
}

分組按鈕

在某些情況下,您需要將類似的號(hào)召性用語按鈕分組:

分組按鈕

<ul class="button-group">
  <li><button class="button">Button</button></li>
  <li><button class="button">Button</button></li>
  <li><button class="button">Button</button></li>
  <li><button class="button">Button</button></li>
</ul>

css

.button-group,
.button-group li{
  display: inline-block;
  *display: inline;
  zoom: 1;
}

.button-group{
  font-size: 0; /* Inline block elements gap - fix */
  margin: 0;
  padding: 0;
  background: rgba(0, 0, 0, .04);
  border-bottom: 1px solid rgba(0, 0, 0, .07);
  padding: 7px;
  border-radius: 7px; 
}

.button-group li{
  margin-right: -1px; /* Overlap each right button border */
}

.button-group .button{
  font-size: 13px; /* Set the font size, different from inherited 0 */
  border-radius: 0; 
}

.button-group .button:active{
  box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset,
              5px 0 5px -3px rgba(0, 0, 0, .2) inset,
              -5px 0 5px -3px rgba(0, 0, 0, .2) inset;   
}

.button-group li:first-child .button{
  border-radius: 3px 0 0 3px;
}

.button-group li:first-child .button:active{
  box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset,
              -5px 0 5px -3px rgba(0, 0, 0, .2) inset;
}

.button-group li:last-child .button{
  border-radius: 0 3px 3px 0;
}

.button-group li:last-child .button:active{
  box-shadow: 0 0 1px rgba(0, 0, 0, .2) inset,
              5px 0 5px -3px rgba(0, 0, 0, .2) inset;
}

瀏覽器兼容性

CSS3模式按鈕可在所有主要瀏覽器中使用。但是,當(dāng)然,此處使用的CSS3功能在IE8及以下版本的瀏覽器中不起作用。

相關(guān)文章推薦

標(biāo)簽: css3  按鈕  漸變按鈕  扁平按鈕  立體按鈕  
x
  • 站長(zhǎng)推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */