圓角按鈕的實(shí)現(xiàn)看似并不困難,但會(huì)遇到如按鈕寬度自適應(yīng)文字長度等情況,不可能每次都切固定大小的背景圖片。
自適應(yīng)寬度的按鈕,通常會(huì)采用類似下面的切圖方法:
這樣一來,只需要嵌套兩層標(biāo)簽即可:
<a href="#"><span>按鈕</span></a>
a 標(biāo)簽設(shè)定右側(cè)塊的圓角背景,span 標(biāo)簽設(shè)定左側(cè)塊的圓角背景以及內(nèi)容區(qū)塊,目前支付寶是這樣做的。但前提需要保證按鈕文案長度不會(huì)超過背景圖片的寬度。
另一種切圖的方案是分三塊切,左側(cè)一塊,右側(cè)一塊,中間內(nèi)容區(qū)域一塊。
這樣切圖,事實(shí)上 a 標(biāo)簽也只需要嵌套兩層即可實(shí)現(xiàn)自適應(yīng)的圓角按鈕。
<a href="#"><span><span>按鈕</span></span></a>
a 標(biāo)簽設(shè)定右側(cè)塊的圓角背景,第一層 span 標(biāo)簽設(shè)定左側(cè)塊的圓角背景,第二層標(biāo)簽設(shè)定內(nèi)容區(qū)域的水平平鋪背景。但這種兩層的方式在 button 標(biāo)簽上并不適用,需要通過一些亂七八糟的 hack 來干掉 button 標(biāo)簽各種表現(xiàn)上的缺陷。考慮到 a 標(biāo)簽按鈕和 button 標(biāo)簽按鈕的通用性,小小犧牲一下,套了三層標(biāo)簽。
提示:可修改后代碼再運(yùn)行!