老司机91精品网站在线观看-老司机67194免费观看-老司国产精品视频-老熟人老女人国产老太-中文字幕日本在线-中文字幕日本一区久久

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

使用純 CSS 設計 3D 按鈕

發布時間:  2012/9/16 9:04:04

CSS 按鈕的效率遠比基本圖像的按鈕的效率高得多,因為它們全部都是基于文本的。所有要用 XHTML 標記只是一個無序列表——CSS 樣式負責其余部分。而且,你不需要任何 javascript 來交換圖像以實現翻卷效果,因為 CSS 偽類(pseudoclass)能夠讓你為鏈接的每個狀態(鏈接<link>、已訪問<visited>、懸停<hover>、激活<active>)建立獨立的樣式。

純 CSS 按鈕唯一的問題是它們看上去相當單調,只有固定的顏色背景和一個簡單的邊界。一個解決方法是使用混合技術向 CSS 樣式的文本按鈕加入一個背景圖像,從而使其具有3D效果。然而,讀者的電子郵件提示我尋找一種使用純 CSS 創建3D按鈕效果的方法——不需要圖像。我發現通過控制 CSS 按鈕邊界的樣式有兩個方法可以創建斜面邊緣的外觀效果。

創建斜面邊緣效果

要使一個按鈕具有3D斜面邊緣效果,需要模擬一個光源,以在一個凸起按鈕的邊緣創建加亮區和陰影區。如果光源在上面稍微偏向按鈕的左邊,那么按鈕的頂部和左側就會比按鈕表面更亮,而底部和右側就會比按鈕表面更暗。

所以,創建三維效果的秘密是使用 CSS 邊界模擬按鈕的側面,并為每個邊界的使用稍微不同的顏色,具體的顏色方案要根據它所表示的是光亮的一側還是陰暗的一側而定。為了看上去更加真實,邊界應該具有斜接角,CSS 邊界能夠很好地滿足這一需要。

方法1:使用inset/outset(嵌入線/浮出線)邊界

有一個 CSS 邊界屬性能夠自動產生合理的斜面邊緣模擬效果。你只須為按鈕樣式的 border-style 屬性指定為 inset 或者 outset即可。瀏覽器會以稍微不同的背景色陰影來處理元素邊界的表現細節,從而得到期望的效果。outset屬性模擬凸起按鈕的陰影邊緣,inset 屬性通過反轉陰影來模擬按鈕被按下的情景。

圖 A 展示了實際的 inset/outset 邊界效果。這個例子是由一些非常簡單的代碼產生的。XHTML 非常簡單,只包含一些按鈕標簽(label)和鏈接。

<body>
<div id="buttonA">
    <ul>
        <li><a href="link1.html">Button 1</a></li>
        <li><a href="link2.html">Button 2</a></li>
        <li><a href="link3.html">Button 3</a></li>
    </ul>
</div>
</body>

CSS 樣式使這種方法與設計普通的平面按鈕的樣式非常相似。唯一多出來的地方是這里將 border-style: outset和 border-style: inset規則同 border-width設置組合使用,后者將邊界寬度設置的足夠大以使其可見。

body {
    margin: 0px;
    padding: 0px;
}
div#buttonA {
    margin-left: 50px;
}
div#buttonAul {
    margin: 0px;
    padding: 0px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 30px;
}
div#buttonAli {
    list-style-type: none;
    height: 30px;
    width: 125px;
    margin: 20px;
    text-align:center;
}
div#buttonAli a {
    height: 100%;
    width: 100%;
    display: block;
    text-decoration: none;
    border-width: 6px;
}
div#buttonAlia:link {
    color: #000000;
    font-weight: bold;
    background-color: #CCCCCC;
    border-style: outset;
}
div#buttonAlia:visited {
    color: #000000;
    font-weight: normal;
    background-color: #CCCCCC;
    border-style: outset;
}
div#buttonAlia:hover {
    font-weight: bold;
    color: #FFFFFF;
    background-color: #999999;
    border-style: outset;
}
div#buttonAlia:active {
    font-weight: bold;
    color: #FFFFFF;
    background-color: #666666;
    border-style: inset;
}

 

在前面的文章中我已經講到過創建 CSS 按鈕的方法,所以我將只挑要點部分解釋。

div#buttonAul規則設置常規文本的尺寸和間距,div#buttonAli規則去除列表項的默認項目符號(list-style-type: none)并設置按鈕框的尺寸。div#buttonAli a規則使整個按鈕可點擊(height: 100%; width: 100%; display: block;),它還是設置邊界寬度的一個很方便的地方。

樣式的其余部分控制不同按鈕狀態的外觀變化。所有偽類(:link、:visited、:hover、:active)都有一個 color、font-weight、background-color 和 border-style 規則。除div#buttonAlia:active規則之外,所有樣式都使用 border-style: outset規則,div#buttonAlia:active使用 border-style:inset規則。這樣就使按鈕狀態有一個凸起的外觀——當然要將按鈕被點擊時的情況除外,在按鈕被點擊時它呈現被按下的狀態。

不同的瀏覽器呈現 inset 和 outset 邊界的方式有很大的不同。Internet Explorer 創建更加精細的效果,在每個邊界的內邊緣有一個加亮區,在外邊緣有一個陰影區。而另一方面,Netscape 則以固定的顏色呈現每個邊界,這樣就產生一個比較有突邊的,不怎么圓滑的外觀效果。

 

方法2:控制單個側面

使用 inset/outset 邊界樣式是模擬3D效果的一種簡單快捷的方法。然而,這不是唯一的方法。如果你不喜歡標準的效果,或者你為瀏覽器在表現方式上的差別而困擾,那么你可以自己控制邊界的顏色來產生你想要的效果。

除了使用能border-style 的 inset/outset 屬性以及讓瀏覽器處理每個邊界的實際顏色之外,你還可以使用自己的樣式規則為每個邊界單獨設置顏色。

圖 B展示了使用這種方法得出的3D按鈕效果,這里樣式表單獨指定每個按鈕側面的顏色。圖 B 所用標記與圖 A 中的一樣,下面是 CSS 代碼:

body {
    margin: 0px;
    padding: 0px;
}
div#buttonA {
    margin-left: 50px;
}
div#buttonAul {
    margin: 0px;
    padding: 0px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    line-height: 30px;
}
div#buttonAli {
    list-style-type: none;
    height: 30px;
    width: 125px;
    margin: 10px;
    text-align:center;
}
div#buttonAli a {
    text-decoration: none;
    height: 100%;
    width: 100%;
    display: block;
    background-color: #999999;
    border-style: solid;
    border-bottom-color: #333333;
    border-right-color: #555555;
    border-left-color: #BBBBBB;
    border-top-color: #DDDDDD;
}
div#buttonAlia:link {
    color: #000000;
    font-weight: bold;
    background-color: #999999;
    border-style: solid;
    border-bottom-color: #333333;
    border-right-color: #555555;
    border-left-color: #BBBBBB;
    border-top-color: #DDDDDD;
}
div#buttonAlia:visited {
    color: #000000;
    font-weight: normal;
    background-color: #999999;
    border-style: solid;
    border-bottom-color: #333333;
    border-right-color: #555555;
    border-left-color: #BBBBBB;
    border-top-color: #DDDDDD;
}
div#buttonAlia:hover {
    font-weight: bold;
    color: #FFFFFF;
    background-color: #777777;
    border-style: solid;
    border-bottom-color: #333333;
    border-right-color: #555555;
    border-left-color: #BBBBBB;
    border-top-color: #DDDDDD;
}
div#buttonAlia:active {
    font-weight: bold;
    color: #FFFFFF;
    background-color: #666666;
    border-style: solid;
    border-top-color: #333333;
    border-left-color: #555555;
    border-right-color: #BBBBBB;
    border-bottom-color: #DDDDDD;
}

盡管這塊代碼明顯要比前一個例子中的 CSS 代碼要長,但并不是兩者間的主要區別。它們的主要區別在于這里使用了一個 border-style: solid規則替換了原來的 border-style: outset (或 border-style: inset) 規則,后接幾個規則單獨設置每個邊界的顏色(border-top-color: #DDDDDD等)。

使用這一方法,你可以完全控制按鈕側面的顏色。也就是說完全由你決定選擇合適的顏色來獲得你所要的效果——而且,你還要記住交換顏色以使按鈕在處于 :active 狀態時產生被按下的效果。控制這些細節的優點是你可以設置獨立的側面和頂部加亮區的顏色,而且最后的結果在所有瀏覽器表現更加一致
 


本文出自:億恩科技【www.ypdoo.com.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線

     
     
    黄色短视频网站| 日韩专区亚洲综合久久| 一级片片| a级精品九九九大片免费看| 在线观看成人网| 午夜激情视频在线观看 | 一级毛片看真人在线视频| 韩国三级视频在线观看| 国产高清在线精品一区二区| 午夜欧美成人久久久久久| 99热热久久| 成人影院久久久久久影院| 精品国产香蕉在线播出| 国产美女在线观看| 国产精品免费久久| 91麻豆tv| 97视频免费在线观看| 日韩专区第一页| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 精品久久久久久免费影院| 国产视频久久久久| 九九精品影院| 日本在线不卡视频| 欧美电影免费| 免费国产在线观看| 黄视频网站免费观看| 亚洲www美色| 韩国三级香港三级日本三级la| 天天色色色| a级黄色毛片免费播放视频| 美女免费精品高清毛片在线视 | 精品国产一区二区三区久久久蜜臀| 日日夜夜婷婷| 亚洲精品久久久中文字| 成人免费高清视频| 精品国产香蕉在线播出| a级毛片免费全部播放| 香蕉视频久久| 一级片片| 精品视频一区二区| 成人免费一级毛片在线播放视频| 成人免费观看视频| 欧美电影免费| 二级片在线观看| 亚洲 激情| 尤物视频网站在线| 国产精品免费久久| 天天做日日爱| 青青久在线视频| 欧美激情一区二区三区在线| 日日日夜夜操| 精品久久久久久中文| 亚欧视频在线| 国产伦精品一区二区三区无广告 | 欧美a免费| 久久国产影视免费精品| 国产视频一区在线| 黄色短视频网站| 色综合久久久久综合体桃花网| 可以在线看黄的网站| 九九九网站| 日韩男人天堂| 成人免费一级纶理片| 久草免费在线观看| 免费国产在线视频| 国产亚洲精品成人a在线| 欧美另类videosbestsex久久| 美女免费黄网站| 九九久久国产精品| 亚飞与亚基在线观看| 久久99这里只有精品国产| 国产一级强片在线观看| 91麻豆精品国产综合久久久| 九九精品影院| 亚洲爆爽| 日日夜夜婷婷| 黄色免费三级| 精品国产香蕉伊思人在线又爽又黄| 成人免费网站视频ww| 国产不卡在线看| 91麻豆精品国产自产在线观看一区| 国产国语对白一级毛片| 欧美18性精品| 九九久久国产精品大片| 99热精品在线| 97视频免费在线观看| 天天做日日爱| 国产a视频| 国产一区二区精品| 日日夜夜婷婷| 亚洲女人国产香蕉久久精品| 免费国产在线视频| 九九久久99综合一区二区| 免费国产在线观看| 久草免费在线观看| 免费一级生活片| 日韩一级精品视频在线观看| 日韩中文字幕在线亚洲一区 | 九九精品影院| 久久久成人网| 日韩免费在线| 欧美激情伊人| 精品视频在线看| 久久精品欧美一区二区| 超级乱淫黄漫画免费| 国产成人女人在线视频观看 | 欧美激情一区二区三区视频 | 欧美激情伊人| 欧美另类videosbestsex视频| 午夜激情视频在线观看| 日韩中文字幕在线观看视频| 精品在线观看国产| 日韩欧美一二三区| 欧美激情影院| 欧美a级大片| 美女免费精品高清毛片在线视 | 黄视频网站免费| 高清一级片| 成人免费一级纶理片| 精品视频一区二区三区免费| 人人干人人草| 国产成人精品综合在线| 日本在线www| 精品国产香蕉在线播出| 91麻豆精品国产综合久久久| 高清一级毛片一本到免费观看| 香蕉视频三级| 成人a大片高清在线观看| 亚洲 男人 天堂| 香蕉视频久久| 国产一区二区精品在线观看| 国产精品123| 国产一区二区精品在线观看| 欧美一区二区三区在线观看| 国产麻豆精品免费视频| 国产成人啪精品| 国产不卡在线观看视频| 一级片片| 黄视频网站在线看| 久久国产影视免费精品| 久久精品人人做人人爽97| 91麻豆tv| 欧美国产日韩久久久| 欧美一级视频免费观看| 精品视频在线观看一区二区| 国产麻豆精品免费密入口| 亚洲女初尝黑人巨高清在线观看| 高清一级片| 一级毛片看真人在线视频| 日本在线不卡视频| 成人影院一区二区三区| 精品国产香蕉在线播出| 成人a大片高清在线观看| 美女免费精品视频在线观看| 国产一区二区精品| 欧美电影免费看大全| 你懂的日韩| 成人高清视频免费观看| 欧美激情一区二区三区在线 | 韩国三级视频网站| 免费毛片基地| 黄视频网站在线看| 青青青草视频在线观看| 欧美一级视频免费观看| 精品久久久久久免费影院| 日韩专区亚洲综合久久| 日日夜人人澡人人澡人人看免| 亚欧成人乱码一区二区| 成人高清免费| 国产91精品露脸国语对白| 日韩一级黄色大片| 香蕉视频久久| 青青青草影院| 久久国产精品自线拍免费| 欧美a级大片| a级毛片免费全部播放| 日本在线不卡免费视频一区| 黄色免费三级| 欧美激情一区二区三区在线播放 | 免费一级片在线观看| 九九精品影院| 亚洲精品中文字幕久久久久久| 台湾毛片| 四虎精品在线观看| 韩国妈妈的朋友在线播放| 色综合久久天天综合绕观看| 九九免费精品视频| 欧美激情一区二区三区在线| 99久久精品国产国产毛片| 九九精品影院| 成人a大片高清在线观看| 精品国产亚一区二区三区| 国产成人精品综合| 国产一级生活片| 精品在线视频播放| 国产成人精品综合久久久| 欧美a免费| 日日夜夜婷婷| 二级特黄绝大片免费视频大片| 四虎精品在线观看|